Qgama

Qgama is a Qt application for adjustment of geodetic networks with database support, where the database can be a simple SQLite3 flat file, used for storing geodetic network data, or any full-featured relational DBMS with Qt driver available like PostgreSQL or MySQL. It is build on the GNU gama adjustment library

Qgama Graphical User Interface (GUI) has two main panels. One Main Control Panel that is open on the application startup and Network Adjustment Panel open for a selected network configuration. More than one network adjustment panels can be opened simultaneously.

Quick Start

Start qgama and select from the Main Control Panel menu

Database → Import Examples → OK
Adjustment → Network Adjustment → select an example → OK
Adjustment → Run

and start experimenting with the adjustment. Enjoy!

Main Control Panel

Main Control Menu has four menus and a bottom status bar temporarily displaying program messages. This panel is displayed at program startup and the user typically starts with connection to a database.

Qgama Main Control Panel

DatabaseConnect to database
Import Configuration File *
Import Krumm Network File *
New Empty Configuration *
Import Examples *

Drop Schema tables
Delete all Data from the Schema
Delete Network Configuration

Exit

Adjustment    Network Adjustment

Tools Adjustment results language
Application font

Help Qgama help

About Qgama
About Qt

Functions marked * can be run without connecting to a database first; in such a case implicit in memory database is used and the user is responsible for exporting data before exit, if they are needed (for example export configuration XML input file after editing the network configuration).

Database menu

Connect to database

starts up a dialog for connecting to a database. Until the connection is established, some program functions are blocked. To open database connection the user must select Database Drive which is implicitly set to QSQLITE. For Sqlite the database file must be selected in Open File dialog, for new database you must check the Create a New Sqlite Database check box. Alternatively you can work with temporary database :memory: (implicit database name), but its content is lost when the program is closed.

If you select another Database Driver in the top combo-box (for example to QPSQL) dialog changes and input fields for Database Name, Username, Passwords, Hostname and Port are displayed (depending on your system only some of the attributes need to be entered).

Import Configuration File

XML input adjustment data (Configuration File) contains information on points, observations and other adjustment parameters, for details see GNU gama documentation. After selection the file (with .xml or .gkf extension), the dialog displays existing configuration names and user can either replace selected existing configuration or create a new configuration name. The configuration name can be arbitrary, but white spaces are removed by the application.

New Empty Configuration

Creates new network configuration without points and observation (implicit values are used for network adjustment parameters). The menu dialog is similar to Import Configuration File.

Import Examples

Imports a set of example networks distributed with the application to the opened database.

Drop Schema Tables
Delete All Data from the Schema
Delete Network Configuration

are corresponding administrative database operations.

Plugins ...

if plugins are available, they are listed here.

Exit

The program stops when all panels are closed. You can even close Main Control Panel and have one or more Network Adjustment Panels open and continue work. In situations like this the exit dialog asks if you want to exit just the Main Control Panel (yes) or all other opened panels as well (yes to all).

Adjustment menu

Network Adjustment

Opens dialog for selecting network configuration stored in the database. If the configuration is selected, a new Network Adjustment Panel is created.

Tools Menu

Adjustement results language

Enables to select a language for the adjustment results text.

Help menu

Qgama help

this text.

About Qgama

Basic information about Qgama, its version, GNU gama build version and the GPL licence.

About Qt

Qt version, licencing and basic information on Qt C++ cross-platform.

Network Adjustment Panel

Network adjustment panel has five menus (File, Adjustment, Edit, Settings and Help) and five tabbed/docked windows (Paramaters, Points, Observations, View and Results).

File menu

Save Configuration to Database

Save network data into database.

Save Configuration As ...

Save copy of network data into database under a new name.

Export as XML input file

Export information from Parameters, Points and Observations editors to a XML configuration file (gkf). This file contains all information needed for the adjustment and can be used as input by qgama or gama-local.

Export as XML SQL file

Similar to the previous function, adjustment information is stored in SQL format which can be imported to a database.

Print Adjustment Results

Implicitly disabled until the adjustment is ready.

Export Adjustment Results As

These submenus are also implicitly disabled until the adjustment is run.

Save network configuration outline

Save configuration sketch in SVG format.

Close

Close current Network Adjustment Panel (or all opened panels).

Adjustment menu

Run

Start adjustment of the network.

Edit Menu

Parameters
Points
Observations

Implicitly editing of network adjustment parameters, points and observations are disabled. In the Edit menu users can enable/disable one or all three editors.

Settings

Outline draw

Opens dialog for changing parameters of the network outline draw.

Help

Qgama help

this text.

Editors and adjustment results

Network Adjustment Results has three editor panels for adjustment parameters, points and observations and two output panels, the outline draw and the adjustment results text output. These five panels can be organized as tabbed or docked (as indicated by the user on opening a new adjustment configuration).

Adjustment parameters editor is strightforward, the meaning of individual parameters is described in GNU gama documentation.

Points editor is also simple, attributes Txx and Tz define how the role of the point coordinates in the adjustment:

fixed

Given coordinates.

free

Adjusted coordinates (ie. unknown adjustment parameter).

constrained

Adjusted coordinates that are subject to a second adjustment constraint (the sum of squares of constrained coordinates corrections is minimal).

Constrained coordinates are also special in that their given approximate values are not updated in possible linearization updates.

All other points/coordinates (not explicitly specified) are unused in the adjustment.

Observations editor is more tricky. You must remember that in qgama observations are organized by clusters. Cluster is a set of somehow related observations, for example observations measured from one point, or more generally, observations with the common covariance matrix. If you want to add observations to an empty configuration, you must first create a new cluster.