# Introduction

GeoDin is a geotechnical data management software primarily focused on geotechnical ground investigation. It also supports environmental data management.

Key features of GeoDin include:

* Compliance with industry standards such as ASTM D2487/D2488, BS 5930, EN ISO 14688/14689, and similar.
* Support for local German standards like SEP3 and KA5.
* Customizable data models and formulas.
* Visualization tools with free templates
* Integrated GIS (GeoDin Maps) for comprehensive analyses and graphics.

<figure><img src="/files/qFH5QGje6DCyHb3ZHbly" alt=""><figcaption></figcaption></figure>

## The GeoDin product suite

GeoDin is the Windows client for office-side data management, reporting, and template editing. It handles databases via different **object types** - each object type is a specific database structure (collection of tables) designed for a specific purpose.

GeoDin itself is 2D only. The product suite extends into the field and into 3D via two companion products:

* **GeoDin Onsite** - the field/tablet data-collection companion, a .NET 8 Windows application (tablet or PC). Onsite has no native server front-end; project metadata and data exchange between Onsite and the desktop client go via GeoDin ML files.
* **GeoDin Ground** - a free plugin for Autodesk Civil 3D (separate Civil 3D licence required) that connects directly to a GeoDin database and renders boreholes in 3D.

Continue to [Install & activate](/getting-started/install-and-activate) to set up GeoDin on your machine.


# Install & activate

Install GeoDin on your machine and activate your licence

This page is the fastest path from zero to a running GeoDin installation. For deeper setup scenarios - central network installations, database backends, licence servers, HASP dongles - follow the links into the **Installation & Licensing** reference group.

## Before you start

To install GeoDin you need:

* A supported environment - **Windows 10/11 64-bit**. See [Infrastructure and Environment Setup Guide](/installation-and-licensing/infrastructure-and-environment-setup-guide#1-system-requirements) for database-client DLL requirements by backend (MS SQL Server, PostgreSQL, Oracle, or MS Access).
* A valid GeoDin licence serial (purchase or trial - [request from geodin.com](https://geodin.com))
* Administrative privileges on the target machine
* The installer `GeoDin-Setup.exe`, sent to you by email after purchase - or downloaded directly from [resources.geodin.com](https://resources.geodin.com/downloads/geodin/latest/installer/GeoDin-Setup.exe)

## 1. Run the installer

Double-click `GeoDin-Setup.exe` and accept the licence agreement.

When prompted for an installation type, choose **Express installation** if this is your first time using GeoDin - it installs everything you need on a single computer, including demo databases. Experienced users can choose **Custom installation** for network or multi-user scenarios.

For the full walkthrough of each installer step (licence agreement, installation settings, deployment modes, configuration file reference), see [Express Installation](/installation-and-licensing/express-installation).

## 2. Activate your licence

When you open GeoDin for the first time, you are prompted to enter your licence serial. See [Activate Your License](/installation-and-licensing/activating-your-license) for the complete activation flow, including offline activation and troubleshooting.

## 3. What's next

Once GeoDin is installed and activated:

* Take a quick tour of the workspace -> [The GeoDin user interface](/getting-started/user-interface)
* Run through a first end-to-end walkthrough -> [First steps](/getting-started/first-steps)

## Deeper reference

For anything beyond a single-machine install, start in the **Installation & Licensing** group:

* [Custom Installation](/installation-and-licensing/custom-installation) - for tailored deployments
* [Infrastructure and Environment Setup Guide](/installation-and-licensing/infrastructure-and-environment-setup-guide) - for multi-user / central network installations
* [Supported Database Types](/workspace-and-data-management/connecting-to-a-database/supported-database-types) - for non-default database backends
* [Configuration File Reference](/installation-and-licensing/configuration-file-reference) - `GeoDin.ini` parameters
* [Using a License Server](/installation-and-licensing/license-server) - for floating-licence deployments
* [Network Licensing (HASP Dongle)](/installation-and-licensing/license-server#client-access-to-a-network-licence) - for dongle-based licensing
* [Renew Licence](/installation-and-licensing/renew-licence) - when your licence approaches expiry


# The GeoDin user interface

Overview of the GeoDin user interface - the database panel, tree navigation, system configuration, and key interface controls

The GeoDin interface is organized around a hierarchical tree view on the left, a central methods ribbon, and key controls for graphics, help, and system settings.

This page is a tour of that workspace: the panels you start from, how the tree is structured, the interface controls around it, and the methods you run on a selected object. Read it top to bottom for orientation, or jump to the reference tables for the data sections, controls, and shortcuts.

## Databases panel

The **Databases** panel is the starting point of your work in GeoDin. Each database contains **Projects**, and each project consists of **Objects** (such as boreholes and locations), **Measurement Points**, and **Documents**.

### Database types

GeoDin supports client-server databases, which can be hosted on a single computer or across a network. Databases are color-coded:

* **Yellow** - network-level databases (shared by a group of users for collaboration)
* **Blue** - local databases (accessible only to the individual user)

{% hint style="info" %}
GeoDin databases are based on Microsoft Access files. For other backend options, see the [Installation guide](/installation-and-licensing/express-installation).
{% endhint %}

<div data-full-width="false"><figure><img src="/files/feuInWySFf9nWNIyd1oM" alt="GeoDin Databases panel with the G1_ASTM_DEMO_LasVegas database expanded to show a project&#x27;s Objects, Measurement points, and Documents branches"><figcaption><p>The Databases panel: each database opens into projects, and each project into its <strong>Objects</strong>, <strong>Measurement points</strong>, and <strong>Documents</strong> branches.</p></figcaption></figure></div>

### Tree hierarchy and navigation

The GeoDin tree hierarchy follows a consistent pattern:

```
Database > Project > Objects (boreholes/locations)
    > Data Management (General Data, Layer Data, Samples, Well Design Data, Data Sequences)
    > Measurement Data
    > Documents
```

The **Measurement Points** branch holds **Locations** and **Samples** sub-branches, each containing their own measurement records.

Clicking different levels in the left-hand tree populates the central "methods" ribbon with actions applicable to the selected item. Right-clicking a tree item shows the same methods in a context menu (e.g., New Project, Close Database, Maintain, Optimize).

{% hint style="info" %}
Each borehole with measurement data is marked with a small blue sphere icon in the tree view.
{% endhint %}

A project's **Documents** area lives directly under the project level and can hold folders and files - cross-sections, PDFs, videos, or any other file type.

## System panel

The **System** panel provides access to system-level configuration. Within this panel, you can access and edit pre-made dictionaries, data types, and object types - including those for G1 locations and AGS standards.

<figure><img src="/files/0QvEH0K0PH55WCZiaqhB" alt="GeoDin System panel with the System configuration tree expanded and the system-level methods shown in the central ribbon"><figcaption><p>The System panel: the <strong>System configuration</strong> tree lists the configurable areas (system databases, object types, data types, dictionaries, fill patterns, queries), and the central ribbon shows the system-level methods that apply to the selected branch.</p></figcaption></figure>

## Central ribbon

When you select a location within a project, the central ribbon displays the available methods for that object. Methods are activated by **double-clicking** the method icon.

<figure><img src="/files/YBMJwceIqo20imC6GuB6" alt="GeoDin object manager with borehole BH01 selected in the tree and its available methods listed in the central ribbon"><figcaption><p>With borehole <strong>BH01</strong> selected in the tree, the central ribbon lists the methods available for it - from <strong>Data management</strong> to <strong>Check measurements</strong>. Double-click an icon to start a method.</p></figcaption></figure>

## Beta design mode (opt-in)

From GeoDin 15.5 (release 15.5.0.185, April 2026), an opt-in Beta design is available: a customizable title bar that unifies the top navigation, layout controls, and Help/Info in a single header. You can switch between the Beta and Classic design at any time from the title bar; the Classic design remains unchanged and is the default. Screenshots in this documentation show the Classic design unless noted.

***

## Reference: Interface controls

### Bottom-left controls

| Button              | Function                                                      |
| ------------------- | ------------------------------------------------------------- |
| **Layout Overview** | Quick view of available layouts for the current object type   |
| **Edit Graphics**   | Opens the layout editor to modify or create graphic templates |

### Top-right controls

| Button           | Shortcut | Function                                   |
| ---------------- | -------- | ------------------------------------------ |
| **GeoDin Help**  | F1       | Opens context-sensitive help documentation |
| **Information**  | Alt+I    | Shows version and license validity         |
| **SQL Protocol** | Alt+S    | Opens the SQL protocol log                 |
| **Log Folder**   | Alt+H    | Opens the log file directory               |

### Inside the help window

**F1** opens the help at the chapter describing the current function or option; **Alt+F1** shows the last viewed chapter instead. Close the help window with **Esc** or the **Hide help** button. The window has its own navigation:

| Feature              | How it works                                                                                                                                                |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chapter tree         | The structured view of all chapters in the upper-left section. Links inside chapter text appear as blue underlined writing and jump to the linked chapter   |
| History              | The **arrow** buttons at the upper left move back and forward through previously viewed chapters; the **Last viewed theme** icon selects one from a menu    |
| **Search for** field | The lower-left area lists all chapters alphabetically; typing a term reduces the list to chapters whose names contain it, regardless of case or position    |
| Full-text search     | Searches the contents of all chapters (case-insensitive). Matching chapters are added to the list, and the term is highlighted yellow in the opened chapter |
| **Print** icon       | Prints the current chapter                                                                                                                                  |

## Reference: Understanding data management sections

When you navigate to an object (borehole) in the tree, the following data sections are available under **Data Management**:

| Section              | Contents                                                                          |
| -------------------- | --------------------------------------------------------------------------------- |
| **General Data**     | Location metadata - coordinates, elevation, project information, classification   |
| **Layer Data**       | Geological layer descriptions - stratigraphy, petrography, colors, consistency    |
| **Samples**          | Physical samples taken from the borehole, with depth intervals                    |
| **Well Design Data** | Casing, screens, backfill, piezometer installations                               |
| **Data Sequences**   | Continuous depth-indexed data (CPT traces, geophysical logs, custom measurements) |

**Measurement Data** is accessed via the Measurement Points branch and contains test results (e.g., triaxial, consolidation, Atterberg limits) linked to specific samples or locations.

For detailed information about each section, see:

* [Creating Objects](/workspace-and-data-management/creating-objects)
* [General Data](/workspace-and-data-management/creating-objects/general-data)
* [Sample Data](/workspace-and-data-management/creating-objects/sample-data)
* [Well Design Data](/workspace-and-data-management/creating-objects/well-design-data)
* [Measurement Values](/workspace-and-data-management/working-with-measurement-data)

## Working with methods

All available methods for the selected object(s) appear on the right-hand side of the object manager under **Methods**. To run a method, double-click its icon. Because many methods apply to either a single object or several selected objects, it is important to select the right objects before starting a method.

**Example.** The method **Measurement data** is available for a single measurement point as well as for a group or query. With just one measurement point selected, only data for this point is loaded into the measurement data editor. If a group of measurement points (for example, a query) is selected, all the measurement data for the selected points is loaded.

There are two main types of methods:

### Discrete methods

A discrete method must be completed before further operations in the object manager are carried out, or another method is started. For example, when the method **Delete project** is chosen, the new window dialog allows the choice between carrying out the delete action or cancelling. While this window is open, you cannot choose another method nor select another object.

### Parallel methods

Parallel methods remain active until they are ended by closing the method window. When a parallel method is active, you can select and start other methods in the object manager. Parallel methods retain their direct connection to the object manager and react to changes in object selection. An example is **Data management**: choose an object, double-click the method symbol, and the object is loaded in the editor for editing general data, borehole logs, and so on. If another object is chosen, it is automatically opened for editing - the editor does not have to be closed first.

An unlimited number of parallel methods may be used concurrently. This means you can edit borehole data and its graphical presentation simultaneously.

### Selection-bound methods

Some methods take a selection from the object manager on startup and then keep that selection even if you click elsewhere in the tree. The **Cross-section assistant** is the typical example: the initial boreholes shown in the assistant are those selected as a group when the method started. You can expand the selection from inside the method using the **Add** button or by dragging further objects into the method's window.

### Methods without a selection

A handful of methods can be started directly from the task bar at the bottom of the object manager, without first selecting anything in the tree. **GeoDin-Graph** (the CAD module for creating drawings independent of any database object) is one example - you do not need any object selected to launch it.

### Switching between active methods

Switching between active methods is done by clicking the method's symbol in the **Active Methods** toolbar. The method currently in use is highlighted by a blue frame.

| Shortcut    | Action                                                                |
| ----------- | --------------------------------------------------------------------- |
| **F8**      | Switch to the method on the right                                     |
| **Ctrl+F8** | Switch to the method on the left                                      |
| **F9**      | Maximize or minimize the object manager's Objects and Methods windows |
| **Ctrl+F9** | Maximize or minimize both at once                                     |

For the complete list of shortcuts across all editors, see [Keyboard shortcuts](/getting-started/keyboard-shortcuts).

On the right side of each method symbol, a small switch closes the method - even when the method is in the background. The **Close all methods** switch on the right side of the **Active Methods** toolbar closes every active method in one step.

{% hint style="info" %}
It is not necessary to shut down all methods before closing GeoDin. Selecting **File > Exit** (or **Alt+F4**) closes all active methods automatically; if any have unsaved changes, a save dialog appears first.
{% endhint %}

All methods available for a selected object are also available as a popup menu via right-click on the tree entry - the methods window does not need to be maximized to start a method.


# Keyboard shortcuts

Reference of all GeoDin keyboard shortcuts - application-wide keys and the context-specific shortcuts for layer data entry, data grids, and the layout editor.

GeoDin's shortcuts are context-sensitive: a key like **F2** or **Ctrl+D** does different things depending on whether you are in the layer data mask, a data grid, or the layout editor. This page lists them all in one place, grouped by the context in which they work.

On a German Windows keyboard the modifier keys are labeled differently: **Strg** = Ctrl, **Umschalt** = Shift, **Entf** = Del, **Einfg** = Ins.

## Application-wide

These shortcuts work anywhere in GeoDin.

| Shortcut                           | Action                                                                            |
| ---------------------------------- | --------------------------------------------------------------------------------- |
| **F1**                             | Open context-sensitive help for the current function or dialog                    |
| **Alt+F1**                         | Show or hide the help window at the last viewed chapter                           |
| **Ctrl+F1**                        | Open the long help text for the current input field                               |
| **F8**                             | Switch to the next active method (to the right)                                   |
| **Ctrl+F8**                        | Switch to the previous active method (to the left)                                |
| **F9**                             | Maximize or minimize the object manager's Objects and Methods windows             |
| **Ctrl+F9**                        | Maximize or minimize both windows at once                                         |
| **F11**                            | Show or hide the display window                                                   |
| **Alt+S**                          | Start the SQL protocol                                                            |
| **Alt+F4**                         | Exit GeoDin (all active methods close; a save dialog appears for unsaved changes) |
| **Ctrl+Z**                         | Undo the last operation (multistage)                                              |
| **Shift+Ctrl+Z**                   | Redo an undone operation                                                          |
| **Ctrl+X**, **Ctrl+C**, **Ctrl+V** | Cut, copy, paste (clipboard)                                                      |

{% hint style="info" %}
The function key for the long help is configurable: the `LongHelpShortCut` parameter accepts **F1** to **F12**. Pressing **Ctrl** plus the configured key opens the help in a new window.
{% endhint %}

For the toolbar buttons these keys correspond to, see [User Interface](/getting-started/user-interface).

***

## Layer data entry mask

Available while entering or editing layer descriptions in the layer data mask editor.

| Shortcut        | Action                                                 |
| --------------- | ------------------------------------------------------ |
| **Ctrl+PageUp** | Jump to the layer above                                |
| **Ctrl+PageDn** | Jump to the layer below                                |
| **Ctrl+Home**   | Jump to the first layer                                |
| **Ctrl+End**    | Jump to the last layer                                 |
| **Ins**         | Insert a new layer between two existing layers         |
| **Ctrl+Del**    | Delete the current layer                               |
| **Ctrl+D**      | Duplicate the current layer                            |
| **Ctrl+K**      | Switch between main layer and components               |
| **F2**          | Open the dictionary for the current field (searchable) |
| **F3**          | Run syntax control                                     |
| **F4**          | Turn the graphic preview on and off                    |
| **F7**          | Preview of layer queries (SEP 3 only)                  |

## Data grids and tables

Available in table-style data entry grids, including general data, well design tables, and the measurement value editor.

| Shortcut                 | Action                                                                    |
| ------------------------ | ------------------------------------------------------------------------- |
| **Tab**                  | Move to the next entry field; at the end of a line, create a new line     |
| **Shift+Tab**            | Move to the previous entry field in the line                              |
| **Arrow Up**             | Go to the previous line                                                   |
| **Arrow Down**           | Go to the next line, or create a new line at the end                      |
| **Ins**                  | Insert a new line above the current line                                  |
| **Ctrl+Ins**             | Insert a complete row                                                     |
| **Ctrl+Del**             | Delete the current line or selected data sets                             |
| **F2**                   | Search in the dictionary of the current entry field                       |
| **Ctrl+A**               | Select all data records                                                   |
| **Shift+click**          | Select a range of data records; on a column header, add staggered sorting |
| **Ctrl+click**           | Select individual data records; on a column header, remove sorting        |
| **Ctrl+Tab**             | Switch to the next data type sheet or graphic tab                         |
| **Ctrl+Shift+Tab**       | Switch to the previous graphic tab                                        |
| **Ctrl+1** to **Ctrl+9** | Jump to the entry table of piezometer 1-9 (well design data)              |

**F2** also renames folders and documents in the document management tree.

## Layout editor

Available in the graphic editing workspace when creating or editing layouts. See [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) for the editor itself.

| Shortcut                     | Action                                              |
| ---------------------------- | --------------------------------------------------- |
| **Ctrl+A**                   | Select all graphic elements in the drawing area     |
| **Ctrl+D**                   | Duplicate the selected element(s)                   |
| **Ctrl+E**                   | Open the drawing layers dialog                      |
| **Ctrl+K**                   | Turn the snap function on and off                   |
| **Ctrl+arrow key**           | Move the selected element(s) by 0.1 mm              |
| **Shift+arrow key**          | Move the selected element(s) by 1 mm                |
| **Ctrl+click** in the layout | Select the object frame (also opens its properties) |
| **Shift+Ctrl+click**         | Select multiple object frames                       |
| **Ctrl+mouse wheel**         | Zoom the preview in and out                         |
| **F4**                       | Enlarge the fill pattern and symbol preview         |
| **F5**                       | Recalculate and refresh the layout                  |

{% hint style="info" %}
Menu entries in the layout editor display their shortcuts next to the entry name - the menus are the authoritative in-app reference if a key does not respond as expected.
{% endhint %}


# First steps

A five-step happy-path walkthrough - from opening the demo database to generating your first borehole log

⏱ **15-20 minutes.** At the end you'll have a project with one borehole, its stratigraphy, and a generated borehole log.

This walkthrough takes you end-to-end through GeoDin's core workflow: open a database, create a project, add a borehole, describe its layers, and produce a borehole log. Each step links to the deeper reference page if you want more detail.

**What you need before you start**

* GeoDin installed and licensed - see [Install & activate](/getting-started/install-and-activate)
* The Express installation's **demo database** (installed by default) - or a database of your own

{% hint style="info" %}
**Already have data in AGS, Excel, gINT, or GeoDinML?** This walkthrough covers manual entry against the demo database. To import existing data instead, start at [Importing Data](/importing-data/import).
{% endhint %}

## Step 1 - Open the demo database

![](/files/9wMupoxubPDxKV8hwoQp) Launch GeoDin. In the left-hand **Databases** panel, expand the tree to find the demo database installed with the Express setup.

Double-click the database to connect. The tree populates with any existing projects.

{% hint style="info" %}
Databases are colour-coded - blue for local, yellow for network. The demo database is a local Microsoft Access database.
{% endhint %}

-> Reference: [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database)

## Step 2 - Create a new project

![](/files/Bhfpq5TvMdXaDQwXHoS2) Right-click the demo database and choose **New Project** (or double-click the **New Project** method in the ribbon). Give the project a name and save.

The new project appears under the database in the tree, with empty sub-branches for **Objects**, **Measurement Points**, and **Documents**.

-> Reference: [Working with Projects](/workspace-and-data-management/working-with-projects)

## Step 3 - Create your first borehole

![](/files/2EmjUrWu7AuWdhrmxji3) Select your new project in the tree. In the central **Methods** ribbon, double-click **New object** (or right-click the project -> **New object**).

Choose an object type - for a standard geotechnical borehole, ![](/files/6xaqG9K5nlvUDP38AmFZ) **(G1) Location** (GeoDin's standard geotechnical investigation object type - see [Object Types Overview](/object-types/object-types)) is the common choice. Enter identifying information: borehole ID, coordinates, and elevation.

{% hint style="warning" %}
Coordinates are interpreted in the project's configured coordinate system. If you'll be working in a specific CRS (UTM zones, British National Grid, SIRGAS for Brazil, etc.), confirm the project's system before entering data - see [Coordinate Systems and EPSG](/maps/coordinate-systems-and-epsg).
{% endhint %}

The new borehole appears under the project's **Objects** branch.

-> References:

* [Object Types Overview](/object-types/object-types)
* [Creating Objects](/workspace-and-data-management/creating-objects)
* [General Data](/workspace-and-data-management/creating-objects/general-data)

## Step 4 - Enter layer data

![](/files/mlwplpixxahHtYSsmdZi) With the borehole selected, double-click the **Data management** method in the ribbon. The data management editor opens - this is a parallel method, so it stays open as you work.

![](/files/eOmrxxa3PFgdzVaYdqFX) Switch to the **Layer Data** section and add stratigraphic layers: depth top, depth bottom, soil/rock description, and any other fields required by your workflow. Layer colours, patterns, and consistency come from the configured dictionaries.

Save your changes. Because Data management is a parallel method, you can keep it open while navigating to other parts of the tree.

-> References:

* [Layer and Stratigraphy](/concepts/layer-and-stratigraphy)
* [Dictionaries](/concepts/dictionaries)

## Step 5 - Generate a borehole log

![](/files/f4ipvj9FGAb2y0JugLPl) With your borehole selected, open the **Layout Overview** from the bottom-left of the object manager to see the templates available for this object type.

Pick a borehole log template and run it. GeoDin produces a PDF-style log showing the stratigraphy, annotations, and any configured elements (groundwater, samples, test results).

-> References:

* [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs)
* [Bulk Print and PDF Export](/visualization-layouts-and-reporting/report-templates/bulk-print-and-pdf-export)

***

## Where to go next

| If you want to...                              | Go to...                                                                                |
| ---------------------------------------------- | --------------------------------------------------------------------------------------- |
| Bring data in from CSV, AGS, or GeoDinML files | [Importing Data](/importing-data/import)                                                |
| Build cross-sections between boreholes         | [Creating Cross Sections](/visualization-layouts-and-reporting/creating-cross-sections) |
| Visualize boreholes on a map                   | [Getting Started with Maps](/maps/getting-started-with-maps)                            |
| Query your database                            | [Creating Queries](/data-analysis/creating-queries)                                     |
| Produce a full report                          | [Report Templates](/visualization-layouts-and-reporting/report-templates)               |

***

**Stuck on any step?** See [Troubleshooting](/support/troubleshooting) or [Get Support](/support/get-support).


# Express Installation

## Before you start

To use GeoDin®, you need a valid GeoDin® license serial. You can obtain one by visiting the below website to purchase a licence or apply for a trial licence here:

{% embed url="<https://geodin.com>" %}

A download link for the installer will be sent to you automatically via email after your purchase. Once downloaded, start the installation by double-clicking on the file `GeoDin-Setup.exe`. Alternatively, you can download the latest setup here.

{% embed url="<https://resources.geodin.com/downloads/geodin/latest/installer/GeoDin-Setup.exe>" fullWidth="false" %}

> <mark style="color:red;">Note: Ensure you have administrative privileges on the machine before you run the installer.</mark>

![GeoDin® Installer Welcome Screen](/files/SDrRw546IRRaEyHR13YE)

## 1. Licence agreement

Please read the licence agreement carefully and proceed by accepting it.

![Licence agreement](/files/56ypscxbGrBf6StoQrmc)

## 2. Installation type (express or custom)

GeoDin® supports many deployment configurations to meet your corporate and individual needs. If this is your first time using GeoDin®, choose the Express installation; this will quickly install everything you need to run GeoDin® on a single computer. It includes demo databases to get you started. Experienced users can customize their installation. To do this, choose the Custom installation option. There is a separate installation guide for the custom installation.

![Installation type](/files/x8rzWg1wWlKTbwD1Jw6t)

## 3. Installation settings

The installation settings you have made are summarized for you here. Click `<Install>` to continue.

![Installation settings](/files/EIxjaws3ypYTDu3akL1n)

## 4. Installation process

The installer copies files to the various directories. Please wait for it to complete.

![Installation process](/files/CDONRTRfFzGne0Tbum3y)

## 5. Finish installation

The installation is now complete! If you do wish to start GeoDin® immediately after installation, check the box labeled `Launch GeoDin® after installation completes`. When you open GeoDin® for the first time, you can enter the license. There is a separate guide for activating your license. Click `<Finish>` to finalize the installation.

![FInish installation](/files/poKCtfctoGbaCYKAzdVA)


# Deployment Modes

GeoDin can be installed in two modes, depending on your organization's needs:

* **Per-machine installation:** Each user has their own configuration, dictionaries, custom data types, and system files. This is the default for the Express installation.
* **Central network installation:** All users share the same syslib, dictionaries, custom data types, and configuration via shared folders on a network drive.

The installation folder layout is split across a **bin folder** (executable) and a **syslib folder** (dictionaries, filters, custom data types, configuration). In a per-machine installation, these are typically at `C:\Program Files\GeoDin\` and `C:\ProgramData\GeoDin\` respectively. In a central installation, they can be combined into a single stack on a network share.

## See also

* [Custom installation](/installation-and-licensing/custom-installation) - choose between single-user and network installation during setup.
* [Infrastructure and environment setup guide](/installation-and-licensing/infrastructure-and-environment-setup-guide) - multi-user deployment, syslib sharing, and database options.


# Custom Installation

## Before You Start

To use GeoDin®, you need a valid GeoDin® license serial number. You can obtain one by visiting [www.geodin.com](http://www.geodin.com) to purchase a licence or apply for a trial licence.

Ensure you have administrative privileges on the machine where you will install GeoDin®.

You will also need the installer. A download link for the installer will be sent to you automatically via email after your purchase.

Once downloaded, start the installation by double-clicking on the file `GeoDin-Setup.exe`.

![Before you start](/files/vlcr6aVRqun6wkgRrJ5P)

## 1. Licence Agreement

Please read the licence agreement carefully and proceed by accepting it.

![Licence agreement](/files/yRLghoLVpo4Y47oIerhX)

## 2. Installation Type (Express or Custom)

GeoDin® supports many deployment configurations to meet your corporate and individual needs.

Experienced users can customize their installation. To do this, choose the **Custom installation** option.

If this is your first time using GeoDin®, choose the **Express installation**; this will quickly install everything you need to run GeoDin® on a single computer. It includes demo databases to get you started. There is a separate installation guide for the express installation.

![Custom installation](/files/WuSxeYNOGIGcm4WFowWA)

### 3.1. Single User Installation

Select the option **Single user installation** to install GeoDin® locally on your computer or **Network installation** if you want to install GeoDin® centrally on a network drive for multi-user access (for instructions on the network installation go to section 4.1 Network installation).

To confirm your choice, click `<Next>`.

![Single user installation](/files/EbFSfL5ZtaM1O2bAyVzv)

## 3.2. Installation Path (Single User)

Specify in which folder you want to install GeoDin®.

All directories to which the user needs write access while working with GeoDin® (e.g., layout directories, system libraries) are automatically stored in the directory `C:\ProgramData\GeoDin®`. This ensures that these folders are not stored in the `C:\Program Files` directory, for which write access has been prohibited for users without administrator rights since the Windows Vista® version.

![Installation path](/files/nbgzZ0c4RlvkMM6FuANj)

## 3.3. Installation Packages (Single User)

Select which packages you would like to install on your device. A description of the individual packages is displayed when clicking on them in the installation window. Individual packages may be disabled if they are already present on your device.

To confirm your choice, click `<Next>`.

![Installation package](/files/TB9FCDmsYOsEcK1Op9fD)

## 3.4. Summary (Single User)

The installation settings you have made for the various packages are summarized for you here.

Click `<Install>` to continue.

![Single user installation summary](/files/yO0BTGwxFJBdKwsD6Rch)

## 3.5. Installation Process (Single User)

The installer copies files to the various directories.

Please wait for it to complete.

![Installation process](/files/4ijO23l6QOa7tLSX0fRk)

## 3.6. Finish Installation (Single User)

The installation is now complete!

If you do wish to start GeoDin® immediately after installation, check the box labeled **Launch GeoDin® after installation completes**.

When you open GeoDin® for the first time, you can enter the license. There is a separate guide for activating your license.

Click `<Finish>` to finalize the installation.

![Finish installation](/files/564LzbUUdVQE55WDTAwb)

## 4.1. Network Installation

Select the option **Network installation** if you want to install GeoDin® centrally on a network drive for multi-user access.

To confirm your choice, click `<Next>`.

![Network installation](/files/FSl5AP1gqHs2qwvNpX8N)

## 4.2. Installation Path (Network)

Specify in which network folder you want to install GeoDin® (only UNC path possible).

![Installation path](/files/hwviZo4CmGyU12LRUAje)

## 4.3. Summary (Network)

The installation settings you have made for the various packages are summarized for you here.

Click `<Install>` to continue.

![Network installation summary](/files/C93s0aTeUrYEk9JECKW0)

## 4.4. Installation Process (Network)

The installer copies files to the various directories.

Please wait for it to complete.

![Installation process](/files/R5DT96GIv1K6PxyJzauI)

## 4.5. Finish Installation (Network)

The installation is now complete!

If you do wish to start GeoDin® immediately after installation, check the box labeled **Launch GeoDin® after installation completes**.

When you open GeoDin® for the first time, you can enter the license. There is a separate guide for activating your license.

Click `<Finish>` to finalize the installation.

![Installation process](/files/lNbH5ADGv9iAaVctAZ0n)


# Infrastructure and Environment Setup Guide

General recommendation for setting up GeoDin in your network environment

## 1. System Requirements

**Operating System**: Windows 10/11 64-bit

**Database Clients or DLLs 64-bit** (depending on the database used):

* **MS SQL Server**: SQL Server Native Client or ODBC driver
* **PostgreSQL**: PostgreSQL ODBC driver (psqlODBC)
* **Oracle**: Oracle Instant Client
* Alternatively, the required DLLs can be placed in the GeoDin `BIN` directory
* **MS Access**: Recommended only for single-user environments and smaller projects

## 2. GeoDin Installation

Install GeoDin using the provided setup. Choose between the following options:

* **Client Installation** (standard installation)
* **Network Installation** (installation in a UNC path)

### Network Installation

If GeoDin is used by multiple users within a network, it is recommended to install the software on a shared network drive. This offers the following advantages:

* **Centralized Configuration**: Everyone accesses the same configuration file (e.g., database connections, dictionaries, GeoDin layouts), which avoids inconsistencies.
* **Simplified Maintenance**: Updates and changes only need to be made once.
* **Reduced Administrative Effort:** No separate installation required on each client PC.
* **Controllable Access Rights**: Access can be specifically managed via the network's file system (e.g., NTFS permissions).

<figure><img src="/files/MvhNTY9a6Byq6GMQvRMJ" alt=""><figcaption></figcaption></figure>

***

If you need a recommendation based on your requirements, please contact our [**Client Success Team**](mailto:geodinclientsuccess@fugro.com) to schedule a consultation.

## 3. GeoDin Databases

GeoDin uses **FireDAC** (Fire Data Access Components) to connect to databases. This is a universal framework that enables access to a wide range of databases - locally, remotely, or in the cloud.

<figure><img src="/files/3SzJBzzF1djmI0wZNYnT" alt=""><figcaption></figcaption></figure>

#### Examples:

**Microsoft SQL Server**

```ini
DriverID=MSSQL
Server=myServer
Database=myDatabase

For SQL users:
User_Name=myUser
Password=secret

For Windows Authentication:
OSAuthent=Yes

Connection string:
Database=myDatabase;Server=myServer;User_Name=myUser;Password=secret;DriverID=MSSQL
```

<figure><img src="/files/4wdxgCQIbKKmOFp1OA7s" alt=""><figcaption></figcaption></figure>

**PostgreSQL**

```ini
DriverID=PG 
Server=myServer
Database=myDatabase
Port=5432 
User_Name=myUser
Password=secret

Connection string:
Server=myServer;Database=myDatabase;User_Name=myUser;Password=secret;DriverID=PG
```

<figure><img src="/files/X1EuLZzuexoQ1K88YM8e" alt=""><figcaption></figcaption></figure>

**Oracle**

```ini
DriverID=Ora 
Server=myServer
Database=myDatabase
User_Name=myUser
Password=secret

Connection string:
Database=myDatabase;User_Name=myUser;Password=secret;DriverID=Ora
```

<figure><img src="/files/kT69mpJ41uFY058RFm8F" alt=""><figcaption></figcaption></figure>

**Azure Cloud (Microsoft SQL Server)**

```ini
DriverID=MSSQL 
Server=tcp:myInstance.database.windows.net,1433
Database=myDatabase

For SQL users:
User_Name=myUser 
Password=secret

For Windows Authentication:
OSAuthent=Yes

For encrypted connections:
Encrypt=Yes

Connection string:
Database=myDatabase;User_Name=myUser;Password=secret;Server=tcp:myInstance.database.windows.net,1433;Encrypt=Yes;DriverID=MSSQL
```

<figure><img src="/files/xoQJxSbpe6ZWkdR4xeji" alt=""><figcaption></figcaption></figure>

## 4. Internet Access and Proxy

Some GeoDin functions use an internet connection - for example the [online help update](/administration/updating-and-upgrading/release-and-beta-update-guide-until-geodin-10.1) and object-type downloads. If your network reaches the internet through a proxy, enter the proxy settings in GeoDin's system configuration. The settings are saved on the local system and are used for every internet connection GeoDin makes.


# Activate Your License

## Licence Activation Wizard

When you start GeoDin® for the first time, the Licence Activation Wizard will open, allowing you to enter your individual licence or connect to your professional licence.\
Click `<Next>` to continue.

<figure><img src="/files/29PFT3XYfk2KpJpcGVLS" alt=""><figcaption><p>GeoDin® Licence activation wizard</p></figcaption></figure>

## Select Individual Licence Key Activation

If you have an individual licence, please select 'I have a licence key'.\
Click `<Next>` to continue.

<figure><img src="/files/A7c5TAjB5LwyiHkyYe9B" alt=""><figcaption><p>GeoDin® Licence Activation Wizard</p></figcaption></figure>

## Activation of Individual Licence Key

To activate GeoDin®, please enter the licence key you have received in your confirmation email.\
Click `<Next>` to continue.

<figure><img src="/files/oiTjT4bYfsTbPFODdwqR" alt=""><figcaption><p>Activation of individual Licence Key</p></figcaption></figure>

## Licence Check

Once the licence has been entered, it will be validated. An internet connection is required for this process. If the licence is valid, this will be confirmed, and you can proceed by clicking `<Next>`.\
If you wish to activate GeoDin® offline or if your licence is not recognized, please contact us at <support@geodin.com>.

<figure><img src="/files/bFR89hO9b9wYRzaDDMPW" alt=""><figcaption><p>Licence Check</p></figcaption></figure>

## Licence Accepted

In case your licence is valid, you will receive an activation confirmation.\
Click `<Finish>` to start using GeoDin®.

<figure><img src="/files/F1o8caso1cFrkFnklkFy" alt=""><figcaption><p>Licence accepted</p></figcaption></figure>

## Access a Professional Licence

If your company or university has a professional licence, which is stored on a server, please select 'My company or university has a licence'.\
Click `<Next>` to continue.

<figure><img src="/files/8RHPLw3652K6FdivdTRA" alt=""><figcaption><p>Access a Professional Licence</p></figcaption></figure>

## Enter IP Address or Server Name and Port

Your company or university will provide you with the IP address or server name and the port where the GeoDin® licence service is configured, and the GeoDin® Professional licence is stored.\
Please enter the provided IP address or server name and the port. The connection to the GeoDin® licence server will be established automatically.\
If the connection is successful, please click `<Next>` to continue.

<figure><img src="/files/d72nZYeTsqmf1bevTG1G" alt=""><figcaption><p>Enter IP address or server name and port</p></figcaption></figure>

## Licence Accepted

In case your licence is valid, you will receive an activation confirmation.\
Click `<Finish>` to start using GeoDin®.

<figure><img src="/files/LE7vtthhCsK7UQ1rcBcE" alt=""><figcaption><p>Licence accepted</p></figcaption></figure>


# Using a License Server

GeoDin® Professional only

## GeoDin® Professional Licencing System (Network Installation)

**Activation Server:**\
GeoDin® provides you with your new or updated licences via our activation server.

**Licence Service:**\
The licence service is installed in a network on a server (Professional licence) as a service and receives the licence requests from GeoDin®.

**Licence Manager:**\
You can administer your GeoDin® licences via the licence manager (web app of the licence service). This includes the activation and update of your GeoDin® licences as well as a display of active users.

<figure><img src="/files/pTjlCsuwz1MA2RVn39O1" alt=""><figcaption><p>GeoDin® Professional licencing system (Network installation)</p></figcaption></figure>

## General Information & Requirements

To license GeoDin® Professional, you need to install the GeoDin® Licence Service locally on a server.\
The GeoDin® Licence Service is installed as a service without a graphical user interface using the geodinlicenceserverregistration.exe available for download here:

<https://download.geodin.com/geodin/geodinlicenceservice/>

<figure><img src="/files/I8YbBX5Mjm2096rmTxQx" alt=""><figcaption><p>General information &#x26; requirements</p></figcaption></figure>

## Licence Agreement

Please read the licence agreement carefully and proceed by accepting it.

<figure><img src="/files/Xn1ggqY3dLHHSjmIXka9" alt=""><figcaption><p>Licence agreement</p></figcaption></figure>

## Installation Path

Specify in which folder you want to install the GeoDin® Licence Service.

<figure><img src="/files/CBFJiRkPTd8qp4Jxo25Q" alt=""><figcaption><p>Installation path</p></figcaption></figure>

## Settings for the Licence Service

In this step you can configure the TCP port and password settings for the licence service.\
Licence requests from GeoDin® are received by the licence service via port 8085. The licence service establishes a HTTP connection to the licence manager via admin port 8086. With the help of the licence manager, licences can be administered, activated and updated via a web interface. The admin password is used to log in to the licence manager (note: you will only be asked for the password if it differs from the default password). These settings are saved in the file `geodinlicenseserver.ini` in the selected installation path.

<figure><img src="/files/02d1MfeFoi9lPGE2G0RF" alt=""><figcaption><p>Settings for the licence service</p></figcaption></figure>

## Summary

The installation settings you have made for the GeoDin® Licence Service are summarized for you here.\
Click `<Next>` to continue.

<figure><img src="/files/VPBdqC7EGybjyLrJ5nG1" alt=""><figcaption><p>Installation summary</p></figcaption></figure>

## Install

The installer copies files to the selected installation directories.\
Please wait for it to complete.

<figure><img src="/files/3EQd5mAxKANIXossXveb" alt=""><figcaption><p>Installation</p></figcaption></figure>

## Set Up Licence

The installation is now complete, but you need to finish setting up by activating your GeoDin® licence via the web interface (licence manager) of the GeoDin® Licence Service.\
Click `<Finish>` to exit the installer and open the GeoDin® Licence Management via the desktop shortcut that was created during the installation.\
If you have changed the password, you will first be asked to log in with this password.

<figure><img src="/files/niESTUuV6zjzPMJeZFlx" alt=""><figcaption><p>Installation complete</p></figcaption></figure>

## Enter Your Serial Number

You will now be prompted to enter your licence serial number in the Licence Management browser window.\
Enter the serial number of the licence that you received via email and confirm your entry with the `<Activate Licence>` button.

<figure><img src="/files/syqwsJ9iT46HJMUXnT89" alt=""><figcaption><p>Enter your serial number</p></figcaption></figure>

## Licence Summary

Once you have activated your licence you will see it listed in the Licence Management window.\
Under the **Licence Information** menu item, the serial number, the version and the expiry date of your licence are displayed.\
Information on the version and settings of the licence service itself can be viewed under the **Licence Server** menu item.\
The current users of the licence are listed under the **User Status** menu item.

<figure><img src="/files/HAnSrwsdZAgabRiWSeZf" alt=""><figcaption><p>Licence summary</p></figcaption></figure>

## Client Access to a Network Licence

To connect to a GeoDin® network licence from a client, please follow the GeoDin® Licensing manual or check the following steps.\
When a user starts the GeoDin® client for the first time, the Licence Activation Wizard will open, allowing you to connect to your professional licence.\
Click `<Next>` to continue.

<figure><img src="/files/5lF9Vp8LbNAtDBbvnMEd" alt=""><figcaption><p>Client access to a network licence</p></figcaption></figure>

## Access a Professional Licence

Please select 'My company or university has a licence'.\
Click `<Next>` to continue.

<figure><img src="/files/2ANJGczMm1KoepuS16Lt" alt=""><figcaption><p>Access a professional licence</p></figcaption></figure>

## Enter IP Address or Server Name and Port

Please enter the IP address and port configured in step 3 here.\
Please enter the configured IP address or server name and the port. The connection to the GeoDin® licence server will be established automatically.\
If the connection is successful, please click `<Next>` to continue.

<figure><img src="/files/XobWcNrVcqrBMqZE4Z61" alt=""><figcaption><p>Enter IP address or server name and port</p></figcaption></figure>

## Licence Accepted

In case the licence is valid, you will receive an activation confirmation.\
Click `<Finish>` to start using GeoDin®.

<figure><img src="/files/bY9IStFT8caQKcVMxCEd" alt=""><figcaption><p>Licence accepted</p></figcaption></figure>


# Renew Licence

## Individual Licence

Fourteen days before your licence expires, the `Upgrade now` button will appear in the top right-hand corner of the GeoDin user interface, which you can use to update or extend your licence.

<figure><img src="/files/Xefn5b2AAfs2KveGw7u9" alt=""><figcaption><p>Upgrade now</p></figcaption></figure>

Then select the options `Activate my license` and `I have a license key`.

<figure><img src="/files/mjb2SGvVgsLe71TiFO13" alt=""><figcaption><p>Activate my license</p></figcaption></figure>

<figure><img src="/files/HOtG08ytCagJyPzwLePB" alt=""><figcaption><p>Select license type</p></figcaption></figure>

Please re-enter your serial number.

<figure><img src="/files/xn5knhYVuyGtV1qL77ED" alt=""><figcaption><p>Activate your license key</p></figcaption></figure>

## Professional Licence

### Starting the Licence Manager

To update your GeoDin licence, either start the licence manager via the Windows Start menu and select the menu item GeoDin Licence Management or click on the desktop icon GeoDin Licence Management.

<figure><img src="/files/gGsVHAat4tWyXI9ddaaz" alt=""><figcaption><p>GeoDin Licence Management</p></figcaption></figure>

### Password Entry (Optional)

You will only be asked for a password if it differs from the default password (geodin) that was set during the installation of the GeoDin Licence Service.

<figure><img src="/files/mBZacrSwfoEpLAMA0c8s" alt=""><figcaption><p>Password entry</p></figcaption></figure>

**Note:** Password and port settings are stored in the GeODinLicenceServer.ini file during the installation of the GeoDin Licence Service.

### Update Licence (Until Server Version 1.8)

Below the menu item Licence Server, select the option Update Licence. After a successful licence update, the updated information (e.g. additional licence packages, new expiry date) for your licence will now be displayed, if applicable.

<figure><img src="/files/NWHLuk4JdbQgBkudzhLO" alt=""><figcaption><p>Before update</p></figcaption></figure>

<figure><img src="/files/zgCHk7D6qQsaxuytUUu4" alt=""><figcaption><p>After update</p></figcaption></figure>

### Update Licence (Since Server Version 1.9)

Click on the button below the menu item Licence Server. After a successful licence update, you will be redirected to the page with the licence information (if applicable, additional licence packages, a new expiry date or version are now shown here).

<figure><img src="/files/k9wKsXeHp7kuYlmqlxb6" alt=""><figcaption><p>Update licence</p></figcaption></figure>

### Update Licence Server (Until Server Version 1.8)

As the GeoDin Licence Service is continuously being developed, you can check whether an update of the GeoDin Licence Service is available when you update your licence. To do so, select the option Download server update below the menu item Licence Server.

<figure><img src="/files/zy1w8HOirlGKqgJ12ncw" alt=""><figcaption><p>Update licence server</p></figcaption></figure>

**Note:** The current version of your GeoDin Licence Service is displayed at the bottom right of the licence manager interface.

### Update Licence Server (Since Server Version 1.9)

As the GeoDin Licence Service is continuously being developed, you can check whether an update of the GeoDin Licence Service is available when you update your licence. To do so, click on the button below the menu item Licence Server.

<figure><img src="/files/oggcqTRGsuQYjakKzE7c" alt=""><figcaption><p>Update licence server</p></figcaption></figure>

**Note:** The current version of your GeoDin Licence Service is displayed at the bottom right of the licence manager interface as well as in the information box below the menu item Licence Server.

### Update Licence Server

If a new version of the GeoDin Licence Service is available, a corresponding note appears. To install the new version, start the download of the current GeoDinLicenceServerRegistration.exe via the button.

<figure><img src="/files/OHzD4xNsh5ntXndK3ICL" alt=""><figcaption><p>Note</p></figcaption></figure>

Please note that the installation must be carried out locally on the machine running the GeoDin Licence Service.

Start the GeoDin Licence Service update by double-clicking on the GeoDinLicenceServerRegistration.exe you have just downloaded and proceed with the setup via the button `Next`.

<figure><img src="/files/esCxrcpLzX6KMxgLqhoT" alt=""><figcaption><p>GeoDin Licence Service Setup</p></figcaption></figure>

Select the option Update GeoDin Licence Service and confirm by clicking `Next`.

<figure><img src="/files/oggcqTRGsuQYjakKzE7c" alt=""><figcaption><p>Update GeoDin Licence Service</p></figcaption></figure>

The installation settings you have made are summarized for you here. Click `Next` to continue.

<figure><img src="/files/OHzD4xNsh5ntXndK3ICL" alt=""><figcaption><p>Summary</p></figcaption></figure>

The installer copies files to the selected installation directories. Please wait for it to complete.

<figure><img src="/files/snHqGcwaaiixZQoIAXCv" alt=""><figcaption><p>Installation</p></figcaption></figure>

The installation is now complete. Click `Finish` to exit the setup

<figure><img src="/files/EE09WaoEcG6QHoOPPfGg" alt=""><figcaption><p>Installation complete</p></figcaption></figure>


# Configuration File Reference

This configuration file is placed in the GeoDin installation directory and should only be edited by advanced users.

## Databases

**Section \[Database]: OptionalParameter: DefaultDB**

Status: optional

Standard: not set

Description

Enter the database name that is to be selected by default when the database list is opened.

**Parameter: AutoSave**

Status: optional

Standard: not set = true

Description

Set this parameter to = false, if the automatic saving of object data is to be turned off. The user is then prompted to save manually.

**Parameter: AutoCalcTK25**

Status: optional

Standard: not set = false

Description

Set this parameter to = true, to activate the automatic checking/calculation of the TK25-Number on the basis of the coordinate details entered. This option is only relevant for object types, which include this entry field. Hence it is recommended to keep the standard "false" setting to prevent false TK25 values from being calculated (e.g. when you do not use Gauß-Krüger coordinates).

**Parameter: CheckLastLayerDepth**

Status: optional

Standard: not set = false

Description

Checks whether the last layer depth agrees with the entry in the general data and produces a warning when there is a discrepancy.

**Parameter: UserADODataBases**

Status: optional

Standard: not set = true

Description

Determines whether users may add their own ADO database connections. Setting this option to false hides the method.

**Parameter: LocalMgrPath**

Status: (optional only for converting file-based projects older than Version 5.x)

Standard: \GeoDinDB\\

Description

Standard path (without drive!!) for GeoDin project files.

**Parameter: QueryMesEditCount**

Status: optional

Standard: not defined = 0

Description

This defines whether for the method "Measurement data" a query appears before data is loaded. If this setting is missing or its value = 0, no query appears and the data is loaded immediately (loading can still be interrupted). If the value >0 is defined this number represents how many measurement points appear in a query before data is loaded.

## System configuration

**GeoDin directory**

For all paths named in the following, the variable **$%GeoDinROOT$** can be used as a placeholder name for the GeoDin installation directory. The variable equals the true path name of the GeoDin installation.

$%GeoDinROOT$ --> C:\Program files\GeoDin\\

***Important!:***

With the definition of a ProgramData directory it is possible to redirect the $%GeoDinROOT$ directory. This is done automatically for a local installation. With the entry *ProgramData=C:\ProgramData\\* all changes to $%GeoDinROOT$ affect *C:\ProgramData\\.* Thus GeoDin system files can now be saved without administrator rights (starting from Windows Vista).

If there is no ProgramData entry in the GeoDin.INI the $%GeoDinROOT$ returns the directory above the *GeoDin.EXE*.

**Example:**

*\[System]*

*SysPath=$%GeoDinROOT$SYSLIB\\*

*ProgramData=C:\PROGRAMDATA\\*

$%GeoDinROOT$ --> *C:\PROGRAMDATA\\*

*SysPath --> C:\PROGRAMDATA\SYSLIB\\*

Exceptions to this feature are plugin extensions that should always refer to the directoty above *GeoDin.EXE* .

Using the variable offers some advantages compared to fixed path names:

1. It is possible to move an entire GeoDin installation to another directory without changing the path names in the GeoDin.ini
2. In a network, using the variable has further advantages. While it was necessary that all network drives and UNC paths had the same names on all clients, this is no longer necessary. Simply creating a link on the client to the GeoDin.exe is sufficient to start GeoDin.

Example from a sample GeoDin.ini:

*\[System]*

*SysPath=$%GeoDinROOT$SYSLIB\\*

*\[Help]*

*LocalRTF=$%GeoDinROOT$HELP\RTF\\*

**Section \[System]** (Required)

**Parameter: SysPath**

Status: Required

Standard: ...\GeoDin\SYSLIB\\

Description

Directory for GeoDin system files

**Parameter: SysGLL**

Status: optional

Standard: not set

Description

Complete path for a layout list file (\*.gll). Enter here a name for a layout list file that is valid for all users in a network. Users are not allowed to change the contents of this file (regardless of whether the file is write-protected or not).

The button **Save** in the graphic editing mode is not availble. The layout list is not automatically set in the layout overview, because this is a user-specified setting, which is saved in the personal registry of the user. The user-specified layout lists and layout folders are saved in the registry nodes:

HKEY\_CURRENT\_USER\Software\GeoDin-System\ChildWindows\GRFMAIN\QVLayoutLists

HKEY\_CURRENT\_USER\Software\GeoDin-System\ChildWindows\GRFMAIN\QVLayoutFolders

**Parameter: SysObjChange**

Status: optional

Standard: not set = true

Description

By setting this parameter to = false, no changes may be made to the system configuration. This prevents unwanted alterations made by users to dictionaries etc. After restarting GeoDin you may enter a password, with which the edit protection can be removed - this allows the system administrator to make any necessary (requested) changes.

**Parameter: SysPassword**

Status: optional

Standard: not set, written by GeoDin.

Description

Used when a new password is entered (requires the option SysObjChange=false). The password is encrypted so that users cannot view it.

To use the protection features offered by the parameters SysObjChange and SysPassword, the network rights should be configured so that only the administrator can make changes to the GeoDin.ini file. If the system administrator forgets the password (yes, this does happen!), simply delete the SysPassword entry from the GeoDin.ini and restart GeoDin. You may now enter a new password.

**Parameter: ComServerPlugins**

Status: optional

Standard: not set = false

Description

Determines whether the COM-Server plug-in methods are available when GeoDin is started.

**Parameter: LongHelpShortCut**

Status: optional

Standard: not set = F1

Description

Specifies which function key (**F1** to **F12**) calls the long help. By pressing the **Ctrl** and function key the help is opened in a new window.

**Parameter: ExecutePath**

Status: optional

Standard: not set

Description

Specifies the run directory and overrides the setting linked to the GeoDin icon.\
For example ExecutePath=c:\windows\temp\
Used with the GeoDin COM-Server.

**Parameter: AutoLicense**

Status: optional

Standard: not set = False

Description

When using a network version of GeoDin with license management, this paramater can be set to "true". If only one license type is available (giving the user effectively no choice between different versions), the first free license is selected automatically. The license dialogue is finished automatically.

**Parameter: UserInterfaceEffects**

Status: optional

Standard: not defined = true

Description

Optical effects such as appear/disappear transitions are used in the GeoDin program user interface. In a terminal server environment this can slow down the display draw times. Setting this parameter = false turns off these effects.

**Section \[LayoutFolders]** (optional)

Description

Makes folders with GeoDin layouts (\*.GLO files) centrally available for all users. Enter one folder per line:

*\[LayoutFolders]*

*Folder1=\\\server1\geodin\Layouts\_all\_users*

*Folder2=$%GeoDinROOT$\Additional\_Layouts*

**Section \[LayoutLists]** (optional)

Description

Makes layout lists (\*.GLC or \*.GLL files) centrally available for all users in the layout overview. Enter one list per line:

*\[LayoutLists]*

*List1=\\\server1\geodin\layouts\User\_layout\_list.GLC*

*List2=$%GeoDinROOT$\layouts\Additional\_layout\_lists.GLL*

Entries in both sections cannot be removed by individual users - they must be deleted for all users in the GeoDin.ini. For a single system-wide layout list, see also the parameter SysGLL above.


# Borehole and Location Model

GeoDin's General Data model for borehole and location records

The **General Data** section of a GeoDin object holds the headline record for a borehole or location: identifiers, project context, geometry, and the drilling/sampling metadata that all downstream tables hang off.

For the related concepts, see also:

* [Layer and Stratigraphy](/concepts/layer-and-stratigraphy) - soil/rock layers and ground descriptions attached to a location.
* [Sample and Specimen Model](/concepts/sample-and-specimen-model) - samples taken from a location.
* [Object Types](/concepts/object-types) - G1, AGS, and other object-type families.

## What General Data holds

* **Identifiers and project context:** borehole name, location name, project title, report number, client, method.
* **Geometry:** coordinates, coordinate system, depth, ground level, penetration, recovery.
* **Drilling information:** vessel, drilling method, drilling standard, start time, pressure on instrument, drilling tool type, auger/bit type, diameter.

## Compulsory fields

Compulsory fields (e.g. `Method` in general data) appear in a darker purple colour. Saving a record without a compulsory field triggers a validation error that names the missing field - the record cannot be persisted until the field is supplied.


# Layer and Stratigraphy

GeoDin's Layer Data model - soil/rock layers, ground descriptions, and coding

The Layer Data section stores soil/rock layers with their descriptions.

## Building a layered borehole log

Layers in G1 must be entered by hand - layer by layer via "Add Ground Description".

Each layer requires selection of a Ground Description Standard (e.g. BS5930 Walker, ASTM) from a dictionary of available standards.

Once a standard is chosen, the user can "Explode" the selection to move into Borehole Log + Layers entry mode.

New layers are added via right-side buttons; each new layer adds one level below, and layer depth is entered as Depth 2 (final depth), which becomes Depth 1 of the next layer.

Sublayers can be created inside a parent layer with their own from/to boundaries, rendered as a small break in the main fill pattern with an additional from/to line in the description.

## Describing a layer

Inside a layer, ground type is selected from categories: fine-grain cohesive soil, cohesionless coarse-grain, peat, soft rock, rock.

After ground type selection, the Data Collection Standard dropdown controls field patterns (e.g. "Geotechnical English" vs other local configurations).

Primary soil type, secondary soil type, and minor constituents are each chosen from their own dictionaries, followed by plasticity, strength, and consistency.

Transition notation: a minus sign denotes a transition between two components (e.g. `silty - gravelly`), rendered with an additional vertical band in the fill pattern.

Compound terms such as "medium silty" or "fine and gravelly sand" can be created by chaining dictionary terms.

## How layer descriptions are generated

Layer descriptions are auto-generated as a text field from the selected properties; users can override with free-text edits.

The "Generate Layer Description" button regenerates the sentence from the underlying parameters, overriding any user edits.

Layer Data parameters include "dev to" (depth to / bottom depth), ground unit, and geological description.

## Switching ground description standards

Changing the ground description standard on an existing layered borehole will delete the layers (meaning is not preserved across standards); the workaround is to add a second ground description in the new standard and copy layers across via Copy Borehole Log Properties.

When saving, GeoDin warns about layer properties valid in one standard but not the target standard (e.g. BS phrasing that does not translate to ASTM), flagging the specific soil property.

## Copying layers between boreholes

Borehole log properties (layer data) can be copied from one borehole to another, even across databases, via `Copy Borehole Log` - layers transfer, but some standard-specific codes may not translate automatically.

## Further reference

GeoDin ships a PDF guide explaining ground description standards, codewords, transition conventions, and how to build custom ground descriptions.


# Sample and Specimen Model

GeoDin's data model for samples, specimens, and the parent-child relationships between them

The **Sample Data** section holds every sample associated with a location. Each sample carries a reference, a depth interval, and the sampling metadata that links it back to the field operation; specimens (subsamples) reference their parent sample for hierarchical tracking.

For the related concepts, see also:

* [Borehole and Location Model](/concepts/borehole-and-location-model) - the location these samples belong to.
* [Layer and Stratigraphy](/concepts/layer-and-stratigraphy) - ground descriptions at the depths these samples cover.

## Sample fields

Each sample has:

* **Sample reference** - sample name, often just a number; user-defined and advised to be unique within a location.
* **Recovery from / to depth** and **penetration from / to depth**.
* **Sample condition** - disturbed / undisturbed / etc., from a dictionary.
* **Sampling method** - grab sample, auger, etc., from a dictionary.
* **Sample type** - bag, etc., from a dictionary.
* **Date, comments, blow count.**

{% hint style="info" %}
**Sample condition for specific tests** (e.g. undisturbed / remoulded on a UU triaxial test) is stored inside the *test parameters*, not directly on the sample record. The sample-record condition refers to the sample as collected; per-test conditions vary across the laboratory program.
{% endhint %}

## Parent samples and specimens

Subsamples and specimens reference their parent sample via the `Parent Sample Reference` column. This produces a clean parent-child structure in the sample table: a single parent (e.g. a 4-inch liner tube) with multiple specimens taken from it for individual lab tests.

## Onsite sample workflow

In GeoDin Onsite, the sample workflow on a drilling form is:

1. Select **sampling method** (e.g. liner tube, 4-inch).
2. Select **condition** (e.g. undisturbed).
3. Enter **recovery percentage** (e.g. 95 %+).
4. Select **sample type**.
5. Set **depth reference**.
6. Print a **QR-coded label** that can be stuck on the physical sample.

## Onsite sample IDs

Onsite assigns each soil sample a unique ID with a fixed structure:

| Component        | Length            | Notes                                                                   |
| ---------------- | ----------------- | ----------------------------------------------------------------------- |
| Prefix letter(s) | 1-3 chars         | Configurable                                                            |
| Timestamp        | 6 chars           | Encodes the moment of sampling                                          |
| Random           | 4 chars (default) | Shrinks if prefix grows so that *prefix + random* always totals 5 chars |

The timestamp portion changes every second, so collisions only happen if more than \~20-100 samples are generated in the exact same second.


# Object Types

GeoDin object types - the data-entry schemas (G1, AGS4, German Step 3, ISO, and others) behind boreholes, locations, and custom tables.

## Available object types

Object types are viewable under `System > System Configuration > Object Types`.

Common object types include Location (also known as "G1"), AGS4 (recently added and published), plus German Step 3, ISO variants, and others depending on the installation.

Object types also include German standard (Step 3) and ISO variants with slightly different field definitions.

## The G1 object type

The G1 object type is internally referred to as "G1 Location" (short name "G1 identifier"); in newer/other versions it may simply appear as "Location".

G1 is mainly used for boreholes and CPT locations and was built to mimic legacy gINT-style workflows.

G1 geological descriptions combine petrography, colour, ground unit, and everything else into one single field, unlike other object types that split these into separate parameters.

## The AGS object type

The AGS object type has a different table structure because it tries to mimic and tailor the groups/headers structure of an AGS file.

## Mixing object types

A single project can contain both G1 location objects and AGS4 objects simultaneously (mixed object types in one project).

When mixing object types, duplicate general data (location name, client, coordinates) may need to be entered on both the G1 and AGS4 object for the same physical location.

## Custom Data Types

Users can create their own custom data types/tables from scratch with their own parameter names and formulas (e.g. to add cyclic triaxial tests not present in the main distribution) via `System > Data Types > New Data Type`.

Custom data types require a unique 3-character short name that does not conflict with existing system data types.

Custom data types support: parameter names, formulas with their own syntax, and validations (possibility checks).

Custom data types can be used in batch imports and called in templates like any built-in type.

Best practice: custom tables should use parameter names that do not collide with existing parameters in other tables.

Custom data types remain local to the user (stored in syslib) and are NOT overwritten by GeoDin distribution updates.

Central GeoDin-distributed tables cannot be edited by users (they must remain consistent across installations).

External users may not have permission to modify system data types (Data Types under System Configuration is read-only for external users), but custom data type creation is always available.


# Dictionaries

GeoDin dictionaries - the coded value lists behind drop-down fields

Dictionaries are pre-made lists that populate drop-down fields (marked with a `?` symbol to the right of the field).

## How dictionary values are stored

Dictionary values have two representations: full text (e.g. "Cone Penetration Testing") and short code (e.g. "CPT") - the short code is what GeoDin actually stores in the database.

Dictionaries support multi-language translations (e.g. English, Dutch); language switch happens at a setting level and applies to layer descriptions.

Every dictionary is stored as a separate file with a `.GSD` extension in the syslib folder (`C:\ProgramData\GeoDin\System\`).

Example dictionary files: `G1_Investigation_Method`, `BS5930_Walker_Secondary_Soil_Type`, `G1_EPSG` (coordinate systems), `Sample_Type`.

## Viewing dictionary entries

Dictionaries are viewable/editable via `System > Dictionaries > [dictionary name]` - double-click to see all entries with short code and language translations.

## How dictionaries behave in forms

Some dictionaries are context-sensitive - e.g. the secondary soil type dictionary is restricted based on the primary ground type (clay+silt vs coarse-grain).

Some dictionary-backed fields allow free-text entry in addition to dictionary selection; free text does not add the value to the dictionary.

## Editing dictionaries

Users can add their own terms to dictionaries (new clients, new labs, new soil types).

When a user edits a dictionary, a timestamp is recorded and that dictionary becomes "frozen" - GeoDin distribution updates will no longer overwrite it, preserving user changes.

Users should keep a list of dictionaries they have edited so they can request updates from GeoDin support when needed.

Low-risk dictionaries (clients list, lab names) can be edited freely; higher-risk dictionaries (soil types, field patterns) require more care because missing distribution updates could matter.

## Sharing custom dictionaries

When sending data to a client without the same custom dictionaries, the user must also send the `.GSD` dictionary files or the full syslib folder.


# Data Types

Reference list of the (G1) Location Data Types available in GeoDin for geotechnical, geological, and laboratory data - name, short name, long name/description, and which are complex data types.

This page provides an overview of the data types available in GeoDin for geotechnical, geological, and laboratory data collection.

The list below is based on the official data type definition and includes the data type name, short name, and description as defined in GeoDin.

## What are (G1) Location Data Types

G1 data types define how specific geotechnical and laboratory test results are stored, structured, and visualized in GeoDin.\
\
They are used for field measurements, laboratory testing, rock and soil properties, and in‑situ investigations.

Each data type is identified by:

* A **data type name**
* A **short name**
* A **long name / description**

Some data types are marked as **complex data types**, meaning they contain structured sub‑data rather than single values.

<figure><img src="/files/KBtUOc2RvS37waMwxUJS" alt="GeoDin Measurement data view with the data type tabs and the Water Content Test label highlighted"><figcaption><p>In the <strong>Measurement data</strong> view, each data type appears as a tab labelled with its <strong>short name</strong> (e.g. <code>(G1) WC</code>), while the corresponding <strong>long name</strong> (e.g. Water Content Test) is shown for the selected tab.</p></figcaption></figure>

## Reference: Available (G1) Location Data Types

| Data type       | Short Name | Long Name                                                 | Notes                      |
| --------------- | ---------- | --------------------------------------------------------- | -------------------------- |
| (G1) ABGE (BRA) | ABG        | Rock properties Brazil                                    |                            |
| (G1) AL         | L10        | Atterberg Limits Test                                     |                            |
| (G1) BTS        | BTS        | Brazilian Tensile Strength Test                           |                            |
| (G1) CAI        | CAI        | Cerchar Abrasivity Test                                   |                            |
| (G1) CC         | L14        | Carbonate Content Test                                    |                            |
| (G1) CD         | CDT        | CD‑Triaxial Test                                          |                            |
| (G1) CHA        | CHL        | Chemical Analysis                                         |                            |
| (G1) CSS        | CSS        | Cyclic Simple Shear Test                                  | Complex data type          |
| (G1) CT         | CTT        | Cyclic Triaxial Test                                      | Complex data type          |
| (G1) CU         | L09        | CU‑Triaxial Test                                          |                            |
| (G1) DIC        | DIC        | Discontinuities                                           |                            |
| (G1) DIT        | DIT        | Dilatometer Test                                          |                            |
| (G1) DSS        | L20        | Direct Simple Shear Test                                  |                            |
| (G1) ER         | ERT        | Electrical Resistivity Test                               |                            |
| (G1) FC         | L06        | Fallcone Test                                             |                            |
| (G1) GT         | GTR        | Geotester Test                                            |                            |
| (G1) HV         | HVT        | Hand Vane Test                                            |                            |
| (G1) ICUW       | CUW        | Intact Core Unit Weight                                   |                            |
| (G1) IVST       | L17        | In Situ Vane Shear Test                                   |                            |
| (G1) LS         | LSM        | Laboratory Samples                                        | Laboratory testing program |
| (G1) LSUW       | LUW        | Laboratory Sample Unit Weight                             |                            |
| (G1) LV         | L07        | Laboratory Vane Test                                      |                            |
| (G1) MM         | L02        | Min / Max Index Dry Unit Weights Test                     |                            |
| (G1) MWD        | MWD        | Monitored Water Depth                                     |                            |
| (G1) OC         | L13        | Organic Content Test                                      |                            |
| (G1) OE         | OED        | Oedometer Test                                            | Complex data type          |
| (G1) PAC        | PAC        | Packer Test                                               | Complex data type          |
| (G1) PD         | L12        | Particle Density Test                                     |                            |
| (G1) PLT        | L16        | Point Load Strength Index Test                            |                            |
| (G1) PM         | PMB        | Permeability Test                                         |                            |
| (G1) PP         | L04        | Pocket Penetrometer Test                                  |                            |
| (G1) PSD        | PSD        | Particle Size Distribution Test                           | Complex data type          |
| (G1) PZ         | PIZ        | Pore Pressure Dissipation Test                            |                            |
| (G1) RC         | RCT        | Resonant Column Test                                      | Complex data type          |
| (G1) REM        | REM        | Remark                                                    |                            |
| (G1) RQ         | L19        | Rock Quality Test                                         |                            |
| (G1) RS         | RST        | Ring Shear Test                                           |                            |
| (G1) SAL        | SAL        | Salinity Test                                             |                            |
| (G1) SB         | SBT        | Shearbox Test                                             |                            |
| (G1) SCH        | SCH        | Schmidt Hardness                                          |                            |
| (G1) SMC        | SMC        | Saturation Moisture Content                               |                            |
| (G1) SPT        | L18        | Standard Penetration Test                                 |                            |
| (G1) SPT (BRA)  | SBR        | Standard Penetration Test Brazil                          |                            |
| (G1) SPT (BS)   | SPB        | Standard Penetration Test BS                              |                            |
| (G1) SPT (JPN)  | SJA        | Standard Penetration Test Japan (JIS A 1219:2013)         |                            |
| (G1) SSR        | SSJ        | Direct Shear Test for Single Joint Surface                | Complex data type          |
| (G1) TC         | TCT        | Thermal Conductivity                                      |                            |
| (G1) TCR        | TRT        | Triaxial Compressive Strength Test Rock                   | Complex data type          |
| (G1) TT         | TXT        | Thixotropy Test                                           | Complex data type          |
| (G1) TV         | L05        | Torvane Test                                              |                            |
| (G1) UCR        | UET        | Uniaxial Compressive Strength and Elasticity Modulus Test |                            |
| (G1) UCS        | L15        | Uniaxial Compressive Strength Test                        |                            |
| (G1) USS (USA)  | USS        | US Samples (SPT, MC, Push samples, RQ)                    |                            |
| (G1) UU         | L08        | UU‑Triaxial Test                                          | Complex data type          |
| (G1) UW         | L03        | Unit Weights Test                                         |                            |
| (G1) WA         | WAE        | Enslin Test for Water Absorption                          |                            |
| (G1) WAT        | WAT        | Water Absorption Test                                     | Complex data type          |
| (G1) WC         | L01        | Water Content Test                                        |                            |


# Object Types Overview

GeoDin uses *object types* to represent various standards for recording drilling data or general geodata.\
\
An object type can be regarded as a data entry schema for the GeoDin database. It includes:

* Predefined database tables
* A predefined set of input forms
* Dictionaries for standardized terminology
* Fill patterns and symbols for standardized representation

These components are tailored to meet relevant standards and configured for specific use cases.

## Features

In GeoDin, the acquisition of drilling data or general geodata is always linked to an **object type**.\
The object type determines:

* Which **input forms** and **dictionaries** are available
* The **fill patterns and symbols** used for visualization
* The **structure of associated tables** in your GeoDin databases

Each object type is configured for specific purposes and based on recognized standards such as **EN ISO 22475**, **ISO 14688/14689**, or **BS 5930:1999**.

## Handling Object Types

<figure><img src="/files/JH8ryu6ofpyPh1AZThSz" alt=""><figcaption><p>The <strong>System</strong> tab with <strong>Object types</strong> expanded under System configuration: the installed object types (DOC and G1 families) are listed on the left, and the <strong>Install</strong>, <strong>Deinstall object types</strong>, and <strong>Export</strong> method buttons are on the right.</p></figcaption></figure>

* GeoDin includes predefined object types by default.
* Additional object types can be installed via the **System** tab.
* Installed object types can be updated or removed in the application.
* Files for each object type are stored in the **Syslib** directory.
* Properties (version, dictionaries, input forms, symbols) are visible under **System**.
* Dictionaries can be customized or extended for most object types.

## Choosing an Object Type

* Object types cannot usually be converted - Please note to choose carefully before data acquisition.
* Explore demo databases to check suitability.
* Discuss the choice with clients before starting.
* For corrections or change requests to existing object types, or to discuss a custom object type, please contact **GeoDin Client Success** at <geodinclientsuccess@fugro.com>

***

## Reference: Available object types

The table below lists the object types GeoDin can record against and the capabilities each one supports (multilingual dictionaries, layer data, EPSG coordinate references, samples, well design, data sequences, meta data, customisability, and Fugro-supplied types), grouped by domain - Standard, Environment, Geotechnical, Water, and Documents.

<table><thead><tr><th width="149.111083984375">Object type</th><th>Multilingual</th><th>Layer data</th><th>EPSG</th><th>Samples</th><th>Well design</th><th>Data sequences</th><th>Meta data</th><th>Customisable</th><th>Fugro</th></tr></thead><tbody><tr><td><strong>Standard</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>BS 5930</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td></tr><tr><td>EN ISO 22475</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td></tr><tr><td>KAS</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td></tr><tr><td>SEP 1</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td></tr><tr><td>SEP 3</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Environment</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Contaminated site investigation</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td>x</td><td></td><td></td><td></td></tr><tr><td>Climate measurement station</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td><strong>Geotechnical</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>UGS</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GTS</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td>x</td><td></td><td></td><td></td></tr><tr><td>AGS</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Water</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Well</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td></tr><tr><td>Groundwater Well gallery</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td>x</td><td></td></tr><tr><td>Waterworks</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Documents</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Document</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>GeoDIN graphic</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>GeoDIN map</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>GeoDIN map layer</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>Photo</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>Report</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td>Image with depth information</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>x</td></tr></tbody></table>


# Installing Object Types

GeoDin allows you to install object types in three different ways:

GeoDin can install object types in three different ways: directly from the GeoDin website, from a ZIP archive, or from a folder. All three use the same **Install object type** dialog on the **System** tab - the methods differ only in which source you choose in Step 4.

## Method 1: Installation from the GeoDin Website

Current object types can be installed directly from GeoDin's server:

{% stepper %}
{% step %}

#### Step 1: Open the System tab

Switch to the **System** tab at the top left of the GeoDin user interface.
{% endstep %}

{% step %}

#### Step 2: Select the Object Types node

Open **System Configuration** and select the **Object Types** node.
{% endstep %}

{% step %}

#### Step 3: Start the Install method

Start the **Install** method from this node.
{% endstep %}

{% step %}

#### Step 4: Choose the source

Under the third option **\[From the GeoDin website]**, click the button with the three dots.
{% endstep %}

{% step %}

#### Step 5: Select the object types

Select the object types to install by ticking the box in front of each.
{% endstep %}

{% step %}

#### Step 6: Install

Click **Install**.
{% endstep %}

{% step %}

#### Step 7: Close the dialog

To exit, click **Close**.
{% endstep %}
{% endstepper %}

<figure><img src="/files/15YvFKzBNc22LOXTpuTG" alt=""><figcaption><p>The Install object type dialog opened from the System tab. The numbered callouts trace the procedure: System tab (1), Object Types node (2), Install method (3), the "From the GeoDin website" source field with the three-dots button (4), Install (5), and Close (6). The object types are listed by category (Standards, Environment, Geotechnical, Documents, Diverse) to tick before installing.</p></figcaption></figure>

## Method 2: Installation from a ZIP Archive

If GeoDin is not connected to the Internet:

* Download updated object types manually from:\
  <http://update.geodin.com/objecttypes/>\
  \&#xNAN;*(Note: Do NOT use the* [*ObjectTypesAll.zip archive from `/8_save/`*](http://update.geodin.com/objecttypes/8_save/) *for this manual procedure.)*
* Follow the same steps as mentioned in **Section 1** above but select the ZIP archive via the second option in Step 4.

<div align="center"><figure><img src="/files/PcX4OtT8aJrPwRw6DDFm" alt=""><figcaption><p>The same Install object type dialog with the second source field selected - the path to a downloaded ZIP archive is shown, and the contained object types (here under 3_Geotechnical) are listed for ticking before Install.</p></figcaption></figure></div>

## Method 3: Installation from a Folder

You can also use object types from other GeoDin installations or a shared **SYSLIB** system folder:

* Follow the steps in **Section 1**, but select the corresponding folder (e.g., **SYSLIB**) as the source using the first option in Step 4.

<div align="center"><figure><img src="/files/zJ9kfoWqx2jDUIvYFuZs" alt=""><figcaption><p>The Install object type dialog with the first source field selected - a folder path (here a SYSLIB folder under ProgramData) is shown, and the folder's object types are listed by identifier code (e.g. [DOC], [SEP1], [UGS], [BNI]) for ticking before Install.</p></figcaption></figure></div>

## Update object types

If newer object type definitions are available in the system than in the database, the database structure can be updated here.

In this step, formulas can be executed again. For this, all object types in the database must be updated.

1. Execute formulas activated, all formulas are recalculated.

Existing data is never deleted, even if fields no longer exist in the target structure.


# Object Operations Reference

Reference for object operations beyond installation. Compiled from Help-files content; needs editorial review and possible distribution into per-feature pages.

This page is the comprehensive reference for working with GeoDin objects beyond installation - what objects are, how they appear in the Object Manager, the editors used to record their data, the operations for creating, duplicating, deleting, importing, exporting and reporting them, and the dictionary, code and database-table details that underpin them. Use it as the single look-up home for object operations; the focused task pages (Create object, Data management, Sample data, Well design data, and so on) link here for the full picture.

## Objects in GeoDin

### Objects

A project may contain up to 9998 objects or boreholes. Because the number of projects in a database is unlimited, the number of objects in a database is also unlimited.

Each object must be defined by general data containing information like its name and where present its coordinates. Depending upon the type of object further information may then be entered and displayed, for example a borehole log, CPT results, a groundwater monitoring well. There are over 100 different types of objects ("Object types\*\*"\*\*) in GeoDin, which cover all types of data collection and presentation.

The default installation provides the user a set of object types, depending on the language version. Further object types can be installed from the CD. For example all German geological survey organizations (Geologische Landesämter) have their own input masks for which special syntax controls have been defined. Other international standards are supported (e.g. BS5930, NEN, ÖNORM) as well as specific national standards (e.g. Dept. of Geological Survey, Botswana). A project may contain several different types of objects as long as these are installed in the GeoDin-System folder. In addition there are controls to allow or to prevent the creation of certain types of objects (e.g. read only).

The difference between a measurement point and a object is that the former cannot be created directly - a measurement point is part of a object. For example a measurement point could be a point at which groundwater levels, groundwater or sediment chemistry values are recorded. In each case GeoDin will generate the measurement point automatically, when either a filter or a sampling point is defined. In special object types, like climate measuring stations, the measurement point is generated, when the object is defined.

In the GeoDin object manager a project is always subdivided into objects and measurement points. Both categories may be further subdivided depending on what data is to be collected. As a user you cannot alter this arrangement, because each subdivision is automatically generated.

Datenbases

DemoDB

GeoDin Demo

Objects

All objects

General borehole log

Measurement points

### View in Object Manager

A list of objects and measurement points is shown in the GeoDin object manager, either by clicking on the group header name or on the plus <**+**> symbol:

GeoDin Demo Project

Objects

All objects

Standard outcrop SEP compatible

Borehole 01

Borehole 02

Borehole 03

Borehole 04

Cone penetration test

Measurement points

Filter

Samples

B01: (1.4-1.8m)

B01: (2.5-2.9m)

B01: (5.2-5.6m)

The objects are shown with their longname. The measurement point identifier is made up of the shortname of the object, the name of the measurement point and depth (where present).

In addition to these automatically generated views, you may use queries and groups to generate any number of completely different views where both the type and amount of information displayed can be controlled (e.g. the SHORTNAME with the height of ground surface in brackets). Hence the way that objects are displayed can be customized to your way of working.

GeoDin Demo Project

Objects

All objects

Standard outcrop SEP compatible

Borehole 01

Borehole 02

Borehole 03

Borehole 04

Cone penetration test

Short name (height)

B01 (105m)

B02 (107m)

B03 (107m)

B04 (115m)

## Reference: Object operations

### Create object

A new object can be accessed when ***Object***, ***All objects*** or the particular **object type** (in the example "General borehole log") is selected in the GeoDin object manager.

GeoDin Demo Project

Object

All objects

General borehole log

Create a new object with a double-click the method ![New object](/files/2EmjUrWu7AuWdhrmxji3) **New object**:

If the method was selected whilst either ***Object*** or ***All objects*** were selected, a dialogue field appears containing the option to choose, which type of object should be created.

Objects

All objects

General borehole log

New object

If a specific object type was selected whilst starting the method **"New object"**, then the same type of object will be created.

After creating a object it is automatically inserted into the GeoDin object manager and the [Data management](/workspace-and-data-management/creating-objects/data-management) mask is opened.

If you mistakenly create a new object you can undo this by clicking the **Cancel Edits** button in the data collection:

After a warning you may then delete the object by clicking on **OK**.

Normally however you will want to continue in the **"data management"** mask using one of the five editors: General data, Layer data, Sample data, Well design and Data sequences. Detailed information is available in the following chapters.

Once you are in the data management mask, there is no need to change over to the GeoDin object manager in order to create another objects. Instead just click the button **New object**. This may be repeated as often as you like.

### Data management

When you create a new object the **"Data management"** method automatically opens (as described in the previous section). When you want to edit an existing object, select it in the GeoDin object manager and double click the [Data management](/workspace-and-data-management/creating-objects/data-management) method icon.

The **"Data management"** method always shows the data corresponding to the current selection in the GeoDin object manager. If you change the selection, your edits are automatically saved to the database and the data for the new selection shown. If you select an object, which GeoDin is not able to display in the current editor, then a message appears in the edit window, which remains open. This is advantageous when you temporarily need to carry out other operations or call up other functions, before continuing with the data management.

The **"Data management"** method has two tool bars that may be horizontally re-positioned. The tools displayed depend on the object selection in the GeoDin object manager.

The following tools are always available:

**Modify object (Start editing) / Stop editing**

When activated (**Modify object**) the tables and masks can be edited. In the deactivated state all entry fields are gray and editing is not possible.\
\
This browser-mode (read only/ write-protected) is useful, if inadvertent changes in object data are to be avoided or if another user is simultaneously working on the same object.

The editing mode stays active as long as the icon is not re-clicked (**Stop editing**). All alterations in the object data are stored automatically by toggling this button.

***Tip:*** *If you change boreholes (objects) then GeoDin also saves automatically. This can optionally be turned off by editing the configuration parameter* ***AutoSave*** *to =false (see Installation - Configuration file: GeoDin.ini).*

**Save**

By clicking the **Save** icon you can save all the changes made in the current editing session. The **Save** button leaves the editing modus open.

**Cancel edits**

By clicking the **Cancel edits** icon you can undo all the changes made in the current editing session. The **Cancel edits** button deactivates data editing.

After an alert message, all alterations for the current object are discarded and the original status of the object restored for all data (general data, geological tables, well design, samples etc.)

***Tip:*** *The* ***Cancel edits*** *icon has another very useful function. When you select a object containing faulty data GeoDin will not let you move on to another object before the syntax errors have been corrected. This can arise when working with imported data or when you have accidentally created a new object. Using Cancel edits the syntax check can be bypassed or the new object deleted.*

**New object**\
\
Creates a new object without leaving the Data management method (see also: [Create object](/workspace-and-data-management/creating-objects)).

**Go to object**

In the data entry grid each object is shown as one line. By clicking this icon, you are taken to the general data input masks for the object selected in the current line.

![Create object group](/files/8cMktCnuSZRqPu7vYPKw) **Create object group**

The data records of the GeoDin objects can be filtered in the general data grid. Not all objects of the underlying query or group will then be displayed as rows. Using the Create Object Group function, these filtered GeoDin objects can be combined into a new group in the Object Manager.

```
**Cut, Copy and Paste**\
```

\
These icons are used for the clipboard functions. These functions can also be activated by using the standard key combinations **Ctrl + X**, **Ctrl + C**, **Ctrl + V**.

**Data collection language**

Here you can choose a different language for the data collection masks than the GeoDin user interface. If you want to use the same language, just keep the default "Automatic" setting. This setting is also used for the [Document description](/workspace-and-data-management/managing-documents/document-organization) masks types.

The language for previewing the layer data (as a log profile and text) can be defined separately.

\*\**Note:* *Only data input masks in different languages can be shown for object types that have multilingual support and an existing translation. Currently this is available only for the object type "Geotechnical investigation EN ISO 22745" in English and German and for the international document description objects (DOC) for English, French, German, Spanish and Russian (March 2015).*

**Keyboard short cuts**

A dialogue with the current keyboard short cuts is displayed. Many functions of the editor can be called up with the help of the listed keys.

**Help**

The help option is started.

![Page layout](/files/6aON2eScm02neRu75z5g) **Page layout** (direct link to the graphic preview)\
\
This function saves any changes made in the [Data management](/workspace-and-data-management/creating-objects/data-management) method and opens the graphic preview for the current object. Hence using this preview method you always view the actual status of the database.

**Manage documents**

The **Document management** for the current object is started. If you edit a sample or a groundwater measurement point the document branch for this measurement is opened.

Data collection is carried out in specific editors, which are also located in the upper tool bar:

The number of editors available depends on the object type chosen. There are tools available for the collection of:

'General data'

'Layer data'

'Samples'

'Well design'

'Data sequences'

If for the current object an input of these data is not possible the particular icons are not present in the tool bar. For example for a climate measurement point only the general data can be entered, so only one icon appears in the tool bar.

![New](/files/ZDf70NlDm10mUE7878no) **New object**\
\
Creates a new object without leaving the Data management method (see also: [Create object](/workspace-and-data-management/creating-objects)).

### General data

The input masks for recording general data are accessed by clicking on this icon.

The **Object information** card opens by default in the editor after creating a object.

In the General Borehole Log, the two further masks allow **Site information** and **Extras** to be entered. Depending on your object type there may be further cards available, with differing constellations of entry fields.\
\
To scroll through the index cards one can either click the corresponding tab with the mouse or use the **Page up** and **Page down** keys. To jump from one entry box to the next use either the **Tab** or **Enter** keys. To reach the previous entry box hold the **Shift** key and press **Tab**.\
\
A short explanation to each entry box is shown in the status bar. For several input fields, a longer support text can be called up via the keys **Ctrl** + **F1**.

The following special icons are available for the input of the general data:

![Select input form](/files/knRA8Z0uplpzbw0ScSNa) **Select input form**

For the input of the data different masks can in some cases be used. The selection of (another) input form is done with this icon.

**Edit general data**

\
The general information for a project is entered in the general input mask. By using **Defaults** general data, recurring information such as site description, drilling company, data security etc. must only be entered once (i.e. the site description remains the same for each object, although each object has different coordinates). Click to start and stop (i.e. save) the default entries, so that they appear automatically with each new object.

To use the default general data completely it is best to enter the relevant information before beginning with the first object. The top bar above the program icons shows which general data is active. Now enter all chosen presets in the entry fields.

Depending upon the object type there will be a ceratin number of obligatory entry fields in the input mask: **Short name**, **Full object name**, **Easting** (X coordinate), **Northing** (Y coordinate) and **Depth** of borehole are always required, though further entries may be necessary . More data can be entered as required, depending on the availability, complexity and future use.

Dictionary fields such as *Field log, Summary log, Data security* and *Checked by* in the BS 5930 object typeare user-definable i.e. you can customize the dictionaries linked to each field. For example, if always the same persons check the data their names can be stored in the relevant dictionary and can be subsequently chosen from the pull-down menu to quicken data collection.

![Input control](/files/XLY2MEydIjIAoQjmPLMG) **Input control**

When entering data in an input field it is tested automatically for correctness of its content (e.g. invalid code or number).

Right-click to adjust the input configuration settings **\<Input control>.**

*\[Underline errors]* - turns the feature on and off

*\[Check after entering separator]* - activates the feature when a separator is entered

The second option results in the data enter being first checked when a comma, bracket or other separator has been entered and the next field selected. The default setting is "off" for this feature so that when typing several letters an error may be shown before one has completed the data entry. Once data entry is finished it will however be clear whether errors have been made. This feature does basic checks on data entry and is fully supported in the table grid view.

![Map preview](/files/8CvVtiOmZ2eseunQflNK) **Map preview**

This icon shows an object plotted as a red cross (x) on a OpenStreetMaps background. You must have an internet connection to display the OSM map. In the edit modus you can move the position of the cross. There are two options available by clicking the three bar icon in the top left corner of the map:\
\
Show valid extent in map - shows the map limits for the chosen coordinate system

Move object to valid extent center - moves the object to the map center within the chosen coordinate system

Beneath the map information on erroneous entries or missing EPSG codes is shown

Use the menu button in the top left corner of the map to access the following functions:

**"Show valid extent in map"**

The valid extent of the coordinate system is shown by a red rectangle superimposed on the map. Note that for global coordinate systems (e.g. WGS 84) the whole world will be shown!The po

**"Move object to valid extent center"**

The object position (red cross) is centered within the valid map extent. The coordinate entries are NOT changed. This first happens when the position of the cross is changed by either manually moving it or right-clicking in another position; then the new coordinates can be saved.

This method is useful for quickly bringing objects with no or erroneous coordinates within the coordinate system where fine positional adjustments can be made.

**Geometry panel**

The geometry panel in the general data editor can be used for manual input or correction of coordinates.

***Note:*** *The input fields always refer to the x-coordinate, y-coordinate and EPGS code and are independent of the object type.*

The edit fields also update when the object is moved on the map.

![Coordinate transformation](/files/WM9wc3w0EaZeiKKJSmDq) **Coordinate transformation**

The tool for the coordinate transformation can be used by clicking on the crosshair symbol in the general data editor.

The tool uses the coordinates and the coordinate system of the current object for the coordinate transformation as input data. The target system can be selected in the next field. To do so, click on the question mark symbol and select the desired coordinate system in the new window. ***Note: The default setting is the last coordinate system used.***

To calculate the coordinates, click on the **Calculate** button. After converting the coordinates, the **OK** button becomes active and the newly calculated values can be transferred to the object.

![Export master data](/files/h1FK51OHkLhsE1384KZa) **Export master data**

In the table/grid view of the master data, the \<Export> button is also available in the upper toolbar. This allows you to export the table to Excel in the form in which it is displayed.

### Master data grid view

Selecting a node, query, or group in the GeoDin object manager and starting **Data management** shows the master data of all objects belonging to that selection as a table (grid view), instead of the single-object editor.

In the grid, use the field-selection button in the top left corner to choose which fields (columns) are displayed - tick or clear the checkbox for each field. This view can then be saved and recalled later.

For exporting the grid contents to Excel, see [Export master data](#general-data) above.

### Sample data

All sampling information is recorded in the sample editor.

Depths are entered in m below ground.

The following special icons are available for the input of sample data:

**\<First row> -** Moves to first data record

\
\&#xNAN;**\<Previous row> -** Moves to previous data record

\
\&#xNAN;**\<Next row> -** Moves to next data record\
\
\&#xNAN;**\<Last row> -** Moves to last data record

**\<Insert line> -** Inserts data recordin current row

**\<Duplicate record> -** Duplicates current data record

**\<Remove line> -** Deletes current data record

**Input control**

When entering data in an input field it is tested automatically for correctness of its content (e.g. invalid code or number).

Right-click to adjust the input configuration settings **\<Input control>.**

*\[Underline errors]* - turns the feature on and off

*\[Check after entering separator]* - activates the feature when a separator is entered

The second option results in the data enter being first checked when a comma, bracket or other separator has been entered and the next field selected. The default setting is "off" for this feature so that when typing several letters an error may be shown before one has completed the data entry. Once data entry is finished it will however be clear whether errors have been made. This feature does basic checks on data entry and is fully supported in the table grid view.

With the key combination **Ctrl + Del** complete rows can be deleted and inserted with the key combination **Ctrl + Ins**. The **F2** key or clicking on the question mark at the end of the entry field can be used to search in the dictionaries. After ending a row a new row can be created using the **Tab** key or the **Arrow Down** key. The number of rows is not limited.

Key functions for the input in the table:

**Tab stop** Moves to next entry field or at the end of a line creates new line

**Shift + Tab** Goes to previous entry in the line

**Arrow Up** Goes to previous line

**Arrow Down** Goes to next line or creates new line

**Ins** Inserts new line (above current line - following lines move down)

**Ctrl + Del** Deletes current line (following lines move up)

Please also see the help notes [Using the data entry grid](/workspace-and-data-management/working-with-measurement-data).

![First](/files/LlMsC8KjXIYdKm5JDbmH) **\<First row> -** Moves to first data record

\
![Next](/files/iPL6VEwvE8c34eMJM9Yv) **\<Next row> -** Moves to next data record\
\
\&#xNAN;**\<Last row> -** Moves to last data record

### Well design data

Information on technical construction of a groundwater monitoring wells are collected in the editor for well design.

With the exception of the general data and measurement point information, all other data is entered in grid tables. Each table in a grid is composed of various entry fields and drop-down choice boxes. A new row can be created either at the end of a row by using the Tab key or anywhere within the row using the down-arrow key. The number of rows is not limited.

When entering information on backfill, casing and special features, codes (abbreviations) are used for the elements. These can either be searched for in the associated dictionaries and used, or entered directly in the field. **Depths** are generally entered in **m below ground surface**; depth information for **elements above ground** must be preceded by a **negative sign**.

Well design information is divided into the following groups (shown as individual editors in the GUI):

![Borehole information, drilling method and tools](/files/JZ3nhrHpuGUUyHPpJorD) **Borehole information, drilling method and tools**

This table is used to collect information on drilling progress, including the drilling method and the tools used.

The following fields are mandatory:

• Depth from (in m below ground surface)

• Depth to (in m below ground surface)

• Borehole diameter (in mm)

This information is used for the graphical presentation of the borehole true to scale. The optional entries for drilling methods and tools can be chosen using the key combinations **Shift down-arrow** and **Shift up-arrow**.

![Backfill information](/files/k2OGksq1hBG6pD4vZoTp) **Backfill information**

Backfill information is also entered in a table, whereby the following fields are mandatory:

• Type of backfill (code)\
• Depth from (in m below ground surface)\
• Depth to (in m below ground surface)

The type of material is entered using easy to remember abbreviations. This can be entered directly or chosen from the dictionary list. As soon as the entry matches a known code, the plain text translation appears in the Material field.\
\
The automatic entries in the Material field can be overwritten and will be used in the graphical presentation of the backfill. Additional information on the grain size (from - to) can be optionally entered in two fields. This will also be displayed graphically.

![Casing information](/files/g8zppic2sEarTwhfrbQJ) **Casing information**

This table is used for entering the individual components of the monitoring well such as filters and end caps etc. If such a well has several piezometers, each one will have a separate entry table. The tables are created as index cards and can be accessed by clicking on the tabs at the lower window boundary. You can also use the key combination **Ctrl+digit**. Each piezometer is numbered successively, up to a maximum of nine per object.

Following fields require an entry:

• Element (code)\
• Depth from (in m below ground surface)\
• Depth to (in m below ground surface)\
• Element diameter (Dia.) (in mm)

Individual elements are entered using codes, either directly or from the dictionary list. The plain text appears automatically in the field *"Type of casing"*. Here to this text can be edited, overwritten or deleted. Depth information for elements above ground must be preceded by a negative sign.

The depth and diameter information are used for the true scale graphical presentation.

In the field *"casing material"* further information can be entered. This can be chosen from a list and will be used in combination with *"the type of casing"* for labeling the well design graphic. This is an optional field as is the element thickness (Thk.).

![Filter details](/files/t0tEKmL6fCD6mONpj38f) **Filter details**

After entering an element of the type **"Filter"** the data entry mask can be used for collecting further details on the groundwater monitoring well.

This entry mask is available via the casing table when the cursor is in an entry row where there is a filter element. None of the mask entries are compulsory - the information is evaluated using the measurement editor. If there are more than one set of casing then you can move between them using the "up arrow" and "down arrow" buttons.

![Information on special features](/files/6QhQQsIOoMSaLmIMD8cU) **Information on special features**

Here special features can be recorded that cannot be attributed to individual casing elements, for example concrete rings, hydrant covers etc. With these elements complicated well housing features for multiple piezometer installations above and below the ground surface can be constructed. All these elements are drawn centred on the borehole.

Special features are also entered using codes that are either entered in the **Type** field or chosen from the list. The field **Feature type** is automatically filled out with plain text upon entry of a Type code - this text can be over-written, changed etc. and is used for well design labelling.

![Additional information](/files/HzXhJZofeVA4qp8hoeb6) **Additional information**

General data for a groundwater monitoring well can be entered in this mask.

![Copy well-design data from another object](/files/YGBcBWig7xSROq0TtktT) **Copy well-design data from another object**

This feature allows you to copy well design data from another object.

Please also see the help notes in Chapter [Using the data entry grid](/workspace-and-data-management/working-with-measurement-data).

The following icons are also available when enetering data in a table (grid) :

**Go to first data record**

\
**Go to previous data record**

\
**Go to next data record**\
\
**Go to last data recordInsert data record in current rowDuplicate current data recordDelete current data recordInput control**

When entering data in an input field it is tested automatically for correctness of its content (e.g. invalid code or number).

Right-click to adjust the input configuration settings **\<Input control>.**

*\[Underline errors]* - turns the feature on and off

*\[Check after entering separator]* - activates the feature when a separator is entered

The second option results in the data enter being first checked when a comma, bracket or other separator has been entered and the next field selected. The default setting is "off" for this feature so that when typing several letters an error may be shown before one has completed the data entry. Once data entry is finished it will however be clear whether errors have been made. This feature does basic checks on data entry and is fully supported in the table grid view.

### Graphic printing and editing

For the printout and / or the editing of graphic presentations the method **"Graphic printing and editing"** is used.

If the method **"Data management"** is opened, the icon **Page layout** is available to change to the layout overview.

In the window \<Layout overview> all available page layouts are displayed. In the right sector of the window the available layouts and folders are shown similar to the Windows Explorer. On the left the layouts and folders appear in a symbol view. The navigation to a specific layout can either be done in the tree view (by selecting the particular branches and the chosen entry) or by double-clicking on one of the previews displayed on the right.

After selecting the chosen layout the objects, which are selected in the GeoDin object manager, are displayed automatically and can be printed out. If a query or a group of objects is marked in the object manager instead of a single object (for example the branch '**All objects**') these objects can be shown and printed out in one step.

**LIst of objects**

The list of objects shown beneath the tree view contains the objects selected in the GeoDin object manager.

**Delete from the lis**

Objects can be removed from the list of objects to be displayed (printed out).

**Move selected entry up** / **Move selected entry down**

The order can be edited, which is also the order of the printout and in a mult-object frame the order of the objetcs

![Edit without refresh](/files/1rdnKtropPACKXSe7sRu) **Edit without refresh**

The order in larger lists can be edited without continuously refreshing the graphic view.

The objects selected in the object manager are automatically displayed in the layout. Keep the **Ctrl** key pressed to select another object, without recalculating the presentation. With pressed **Ctrl** key further objects can be dragged and dropped from the object manager in the list of objects to display. These objects are added to the list and the view is recalculated.

The graphic preview in a page layout can be enlarged and reduced and the displayed (enlarged) section can be moved using the buttons:

**Zoom inZoom outPanZoom to pageNext pagePrevious page**

Also the icons for going through the pages are available, if for example a borehole is distributed on several pages.

With the option **Print / Export** the printout or export of a graph is started. Select the chosen target of the output in the drop down menu before. Define, whether the graphic should be printed or created as file according to the format. By selecting the file format for each object at least one file is created, which has the name of the object with the particular file format ending (for example borehole 01.wmf). If several pages result from an object (for example distribution caused by the adjusted scale) for each page a file is created. From the second page on the file names include the page number (for example borehole 01 (2).wmf).

**Full screen on / off**

If kept pressed, this icon fades out the overview of available layouts, so that the current view of the layout is displayed in the entire window and details are easier visible. A change of the object in the object manager leads to an automatic actualization of the view. The print / export of the presentation is possible with the particular icon in the top icon bar. Click again on the icon **\<Full screen on / off**> to show the overview of available layouts.

**Layout Interfaces**

Below the list of objects to display the available layout interfaces for the current page layout are shown. Here for example the vertical scale of the actual view, a labeling text, the view section of an axis etc. can be configured. Each page layout has its own amount of layout interfaces. Layouts of older GeoDin versions have no configured layout interfaces, but these can be added easily.

![Edit quick settings](/files/yFh72pwcM0YiXZYl7X0i) **Edit quick settings**

In the window **Edit quick settings** use the icon ![Edit](/files/394z0E7ykC2UwsQIcX7x) **Edit** to add or remove quick settings. All layout interface possibilities are grouped. Activate the interfaces, which should be available in this layout template. The images displayed on the right are previews of the quick settings. Consider that the layout interfaces, which are not available in the actual layout, cannot be activated. For example the interfaces '**Vertical scale**' cannot (sensibly) be used in a layout, which contains a report of measurement values, because no graphic element exists, on which a vertical scale could be adjusted.

A detailed description of the functions of layout interfaces is available in the particular chapter [Layout interfaces](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics).

**Save quick settings**

If you have changed a setting by using the layout interfaces and you want to apply this setting permanently in the default state of the layout use the button <**Save**> below the quick settings.

**Previews (symbol presentation)**

Layouts are shown in the left part of the window 'Layout overview' as miniature images. These images are created automatically out of the information of a layout, if the layout contains no saved preview (for example older GeoDin versions). Because layouts only contain frames for the objects to display the images are not always meaningful. You can define the current view of a layout (with the related contents) as preview for the layout overview. Use the icon <**Create new preview**>.

**Edit details of current graphic**

Often the use of layout interfaces for the determined editing of some chosen presentation options are sufficient to get to the desired view. If major changes are required for the presentation, using the icon <**Edit details of current graphic**> a change to the graphic window with full editing options is possible. The chapter [Create and edit graphic](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) gives further detailed information.

**Edit other graphics**

A change to the graphic window with full editing options can also be achieved using the icon <**Edit other graphics**>. Then the graphic window starts with a new empty page.

**Configuration of the available layouts**

If you call up the layout overview the standard '**Layout lists**' file and the '**Layout folder**' of the GeoDin installation are investigated and the available layouts are displayed. To include another or an additional layout list or folder in the search, select in the tree view the first branch '**Available layouts**'. Using the icons <**New**> and <**Remove**> further layout lists or folders can be added or removed from the service. The icon <**Refresh**> renews the search for layouts (use this function for example you want to examine the folder after copying layout files with the Windows Explorer in the layout folder).

**Automatic updating layouts**

The update of a currently displayed layout is done by default when choosing a layout from the layout list or by the change of an object in the GeoDin object manager. In rare cases, when using layouts which require long calculation time, they may disturb the navigation both in the object manager and the layout overview. Because of this the option 'Automatic calculation of layouts' is available. The option has to be set for each folder and possible subfolders. If you set this option for the major folder it will not affect the subfolders. If this option is inactive, the layout will not be updated when changing the layout settings or choosing another object. The calculation can be done by clicking **Calculation / Refresh** or the key **F5**.

**Creating individual PDF-files from several chosen objects**

There is an option in GeoDin to create PDF-files from multiple objects. However the functionality depends from your installed PDF printer driver. Output of a PDF will only be successful, if you have installed Win2PDF on your computer. In virtually all other cases only PostScript-files will be generated.

After clicking the **Print** button you can choose the option to create individual PDF files for several chosen objects. After choosing a folder where to save the files you have to confirm with **OK**. The file name can either be the object name or the object ID in GeoDin. Select a appropriate PDF-printer, such as Win2PDF. After confirming with **OK** the files will be saved to the selected folder. GeoDin will automatically recognize if the files have been generated as PDF or PS (e.g. by using FreePDF). If the files have not been saved as .pdf but as.ps, their filename will be changed to .ps automatically. These PostScript-files can be opened with a double-click and transformed into a PDF file because Windows has automatically mapped the file extension. If WIN2PDF is installed, PDF files will be generated directly and can be opened with Adobe Reader or similar programs.

The following section shows a script with which all .ps files from a folder can be converted to PDF files.

Ghostscript from the installed PDF printer driver is used (e.g. gs9.04) .

You can adapt the script for your installation or Windows set-up.

```
@ECHO OFF

echo.

echo This Batchfile convert all *.ps files in this folder to pdf

echo ghostscript is needed to operate, check the path to the gswin64.exe, edit the Convert_ps2pdf.cmd if needed

echo http://www.ghostscript.com/download/gsdnld.html

echo.

echo !! ALL *.ps files are deleted afterwards !!

echo.

echo.

echo Cancel batch with CTRL + C

echo.

pause

FOR /R %%F in (*.ps) do "C:\Program Files\gs\gs9.04\bin\gswin64.exe" -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -q -sOutputFile="%%~nF.pdf" "%%~nF.ps"

echo.

echo DELETING all *.ps files. Cancel batch with CTRL + C

echo.

pause

del *.ps
```

If Win2PDF is installed, PDF files are generated directly, that can be opened with Adobe-Reader.

**Adjusting the resolution for printing picture files**

The resolution for printing picture files automatically corresponds with your computer settings, which may not fulfill your requirements (e.g. resolution too low for high quality printing). If you need a higher resolution, please switch into the editing-mode **Edit details of current graphic**. For further procedure information please go to [Exporting image files](/maps/cad-and-gis-exports).

### Print DIN formular

From GeoDin 9 onwards the method **"Print DIN formular"** is replaced by the supplied layouts.

Layouts are available for SEP1 and SEP3 object types, as well as for geotechnical exploration EN ISO, which can be used to create and print a corresponding borehole log.

### SEP import

To import files in the SEP format first create a new GeoDin project or open an existing GeoDin project, into which you want to import the data.

Select the method **"SEP import"** at the entry object.

Choose the source of your SEP files. For this you have 3 options:

**1. Chosen files:**

The SEP files are chosen from one or several folders individually and are added to the particular GeoDin project. The SEP files to import have to have the following endings: \*.HY; \*.BV; \*.SE; \*.GE; \*.IG.

**2. Entire folder:**

Here complete directories, which contain SEP files, can be added.

**3. SEP-catalogue:**

Import of a SEP catalogue file (usually contains several boreholes)

\
Chose the option **Files in DOS text** for older files, which were created with the DOS version of SEP. The German vowel mutations are converted in the Windows notation.

Select now, which location type should be imported. All SEP compatible location types are listed.

Optional the coordinates from the SEP files can be transformed into another meridian. For this select the middle meridian. The original coordinates can be saved by selecting the appropriate general data fields for both coordinates.

\
Confirm your selection with **OK**. After completing the import further data can be imported without calling up the option again.

Select the method ![SEP import](/files/xUjZe9N32W7kFE228zyL) **"SEP import"** at the entry object.

### Data checks and calculations

You can use the method **"Data checks and calculations"** for input controls, search and replace of contents and layer queries.

**Search and Replace in Layer Data**

With this function you can replace wrong codes, which can derive from importing borehole log data to your GeoDin database

First select the entry field, which contains the wrong code, enter the wrong code in the field *"Search for"* and in the field *"Replace with"* the right code, for example:

Data field: Stratigraphy

Search for: qx

Replace with: qw

Confirm with **Proceed**. All borehole logs are now searched and corrected.

It is also possible to replace text by code or code by text. So it could be the case that a user not knowing the codes has entered all information as text in inverted commas, for example fS,'pockets,u. For 'pockets' the code poc is available.

\
Write the word in single high commas and run the search for text contents, example:

Data field: Petrography

Search for: 'pockets'

Replace with: poc

The search and replace function is specially developed for coded borehole logs. Here no symbol strings are exchanged (like similar functions in a word processing program would do). The borehole log is made up of individual codes, so it is possible to define the code u (silty) as a search term, in a way that not every letter u is replaced, but only the identified codes u.

**Search and replace in General Data**

With this function you can replace entries in the general data table.

First select the entry field, which contains the value to replace, enter the value in *"Search for"* and in the field *"Replace with"* the new value, for example:

Data field: Client

Search for: Drillers & Sons Ltd.

Replace with: Drillers & Partners Inc.

Confirm with **Proceed** to correct the values in all the selected objects .

In the *"Search for"* field the placeholders "?" and "\*" can be used, where "?" stands for a single character, and "\*" for a string. If you were to look for all the entries starting with Drillers, but are not surehow many characters follow, enter *Drillers\**. If you want to search for Sons, but don't know whether it has been written with a *u* or *oh,* enter *S\*ns* in the search field, whereby the "\*" may stand for one or two characters. A ? can be used when you want to search for an exact number of unknown characters.

When searching in date fields GeoDin accepts the following formats in *"Search for"***:**

TT.MM.JJJJ

The separators \[-], \[/] or \[.] can be used (e.g. 09/04/2011 for 9th April 2011).

Here too the placeholders "?" and "\*" are accepted, but only in the format TT.MM.JJJJ with \[.] as the separator.

\
**Input control**\
\
Using this function you test the entered layer data of all selected boreholes on syntax correctness. If syntax errors are found, the following message appears:

2 objects contain syntax errors.

These objects are shown in the group:

'Syntax error 06.04.2006 15:27:12'.

To correct the errors, mark the first borehole of the group and start the method **"Data management"**. Change there to the layer data and in the editing g mode. Click on the icon **Syntax control**, so that you are led directly to the layer, which contains errors. After the correction of all errors you go on with another borehole of the group.

To be sure to have corrected all mistakes start a new test at the entry of the group syntax error.... (The test is only carried out for these boreholes; the others have been tested already). If no borehole contains syntax errors anymore a message appears, otherwise another group is created with the boreholes, which still contain syntax errors.

**Data sequneces: Calculating sequences**

With this method you can calculate new series for all selected objects. A detallied description of the configuration and setup of this method is available in the chapter [Calculating sequences](/importing-data/data-sequences).

### Import and export

The following chapters describe the import and export of data sequences and data of various exchange formats.

[Import data sequence](/importing-data/data-sequences)

[Create objects from data sequences](/importing-data/data-sequences)

[SEP import](/importing-data/sep3-exchange-database)

[SEP1 export](/exporting-data/export)

[Export shape files](/maps/cad-and-gis-exports)

[XML export](/exporting-data/geodinml-export)

### Delete object

To delete a object double-click the method **"Delete object"**:

If the object contains either measurement or document data, it will be shown in the dialogue window (black where present; gray if absent). After confirming your decision you can delete the object permanently.

### Duplicate object

You can also create new object by using the method ![Duplicate object](/files/sdgwpmYw74r6BfQ37THh) **Duplicate object**.

If the object contains subordinated data, like measurement values or document data these can optionally be copied with the object.

The duplicate is then highlighted in the GeoDin object manager and can be renamed etc. by choosing the **"Data management"** method:

MacDuff Distillery 01

MacDuff Distillery 02

MacDuff Distillery 03

MacDuff Distillery 04

MacDuff Distillery 04

[Data management](/workspace-and-data-management/creating-objects/data-management)

### Delete objects

Alternatively you may choose a group of objects to delete all at once by selecting the appropriate group in the GeoDin object manager

All Objects

Borehole 01

Borehole 02

and selecting the option **"Delete all objects"**.

***WARNING:*** *THIS METHOD CANNOT BE UNDONE!*

### Dictionary search

While working with input forms the dictionary search can be started either with the **F2** key or by clicking the question mark <**?**> symbol at the end of the entry fields. In both cases the dictionary of the appropriate entry field is displayed automatically

While entering the search term in the entry field **Search** the list of dictionary entries is automatically reduced on the entries, which are equal to the search term, so that also related terms can easily be found.

If the option **Full text search** is activated, the search term is also found in the middle of a word. Otherwise the search term has to be equal beginning with the first letter.

Optional considering capital and small letters can be activated with **\<Entries are case sensitive!>.**

Beside the search in the **Text** of the dictionaries also a search in the **Code** or the **Standard / Age** entries is possible. Select therefore the chosen option in the section **Search for**.

With the button **Apply** the result of the search (for example the code) can be inserted in the current entry field (from which the search was started) at the actual cursor position. To end the search dialogue without applying the result use the button **Cancel** or the **ESC** key

### Layer data

The layer data editor is used to record geological information for a object. A object can be a single borehole, a groundwater monitoring well or a climate measuring station etc. from which the data originates. Click the <**Layer data**> button to start.

The following special icons are available for the input of the layer data:

**Input form** choice and selection of recording mask

\
**First layer** - scrolls to the first layer (not in full-text mode)

**Previous layer** - scrolls to the previous layer (not in full-text mode)

\
**Next layer** - scrolls to the following layer (not in full-text mode)

**Last layer** - scrolls to the last layer (not in full-text mode)

\
**Insert layer** - inserts a new layer

**Duplicate layer** - duplicates the current layer

\
**Delete layer** - deletes the current layer

\
**Input control** - syntax control

When entering data in an input field it is tested automatically for correctness of its content (e.g. invalid code or number).

Right-click to adjust the input configuration settings **\<Input control>.**

*\[Underline errors]* - turns the feature on and off

*\[Check after entering separator]* - activates the feature when a separator is entered

The second option results in the data enter being first checked when a comma, bracket or other separator has been entered and the next field selected. The default setting is "off" for this feature so that when typing several letters an error may be shown before one has completed the data entry. Once data entry is finished it will however be clear whether errors have been made. This feature does basic checks on data entry and is fully supported in the table grid view. Complex checks on interdependencies and key code transitions are not covered.

![Borehole profile preview and translation of codes to text](/files/8sZbOgBD3nWLEjdrJtNj) **Borehole profile preview and translation of codes to text**

Both the graphic preview of the borehole and the text description are displayed beneath the data entry mask and are permanently updated during layer data input. You can navigate in this preview by using the scroll bars, a mouse wheel or an equivalent touch gesture (on mice or track pads). By clicking on a layer you can directly go to the data entry mask at the chosen depth.

\
The following keys have special functions for working in the layer data mask editor:

**Ctrl+PageUp** Jumps to the layer above\
**Ctrl+PageDn** Jumps to the layer below

**Crtl+End** Jumps to the last layer

**Crtl+Home** Jumps to the first layer\
**Ins** Inserts a new layer between two existing ones\
**Ctrl+Del** Deletes the current layer

**Crtl+D** Duplicates the current layer

**Crtl+K** Switching between main layer and components

**F2** Opens the appropriate dictionary (which may then be searched)\
**F3** Syntax control\
**F4** Turns the graphic preview on and off

**F7**Preview of layer queries (only for SEP 3)

In the input screen the information of each layer can be edited. The lower layer boundary of the previous and the next layer is displayed left and right beside the entry field for the depth value.

\
![Insert](/files/VZv1FRcC7RR81TjBLIZL) **Insert layer** - inserts a new layer

\
![Delete](/files/VHmzTccBVI20ewmsXpuG) **Delete layer** - deletes the current layer

\
**First layer** - scrolls to the first layer (not in full-text mode)

![Previous](/files/uuSAJlZgE81MF39Wm4sb) **Previous layer** - scrolls to the previous layer (not in full-text mode)

\
**Next layer** - scrolls to the following layer (not in full-text mode)

![Last](/files/0i0mV1wk0Nbhg7kXdMHC) **Last layer** - scrolls to the last layer (not in full-text mode)

### Data sequences

Data sequence information is collected with the data sequence editor.

All types of data sequences can be entered: CPTs, SPTs, chemical profiles, geophysical logs, etc. Depth values are entered in m below ground surface and the measurement values may have any number of decimal places, or just text.

The data sequence list shows all the data sequences that belong to the object. New data sequences are created by clicking the **New** button upon which it must be given a name.

Confirming with **OK** an empty table is added and data entry can begin.

An existing data sequence can be deleted by clicking the **Remove** button. After confirming the security query the data sequence and all its' values are removed.

The button **Rename** allows existing data sequences to be renamed.

Data sequences such as SPTs with regularly spaced depth intervals should use the option \*\*Automatic depth interval \*\* and enter a value. After inputting the first depth value and associated measurement, in the following rows only the measurement values must be entered.

The **Import** button can import existing data sequences from ASCII files. A detailed description of this function is given in Chapter [Import data sequence](/importing-data/data-sequences).

Conversely the **Export** button allows selected data sequences to be exported in CSV-Format. For each data sequence a file with the following format is created in a user defined folder: Objekt.LONGNAME\_SNDNAME\_SNDID.csv.

Please also see the help notes [Using the data entry grid](/workspace-and-data-management/working-with-measurement-data).

## Reference: Object types and dictionaries

### Object types

The default setting installs only a limited number of object types. The international English version installs the "General Borehole Log". You will find this under the **System** tab.

The installed object types are shown in the directory **Configuration**.

To install further types double-click the [Install](/installation-and-licensing/express-installation) method and choose the appropriate folder from the chosen directory on the GeoDin DVD.

**Downward compatibility as of GeoDin 9**

New layouts created in GeoDin 9 cannot be used with older versions. However, older layouts can be used with GeoDin 9.

### Dictionaries

All codes, which can be used for the data input in the GeoDin system, are contained in dictionaries. The dictionaries are connected with their particular input fields and comprise lists of codes or text strings, which are allowed as valid inputs or serve as a guide for inputting data.

In addition to input control, the dictionaries are also responsible for the type of graphic display (e.g. which fill pattern is used for granite) and contain various foreign language translations.

All installed dictionaries are displayed in the GeoDin object manager. Each dictionary identifier is preceded by an identifier in round brackets. These identifiers are used to distinguish which object type the dictionary belongs to. This is particularly relevant for dictionaries that exist with the same name for different object types. For example, there will be a dictionary for entering petrography in many object types.

### Data collection with SEP3

**Collection of borehole and layer data with SEP3**

Detailed information on and instruction for the collection of borehole and layer data with SEP3 you find on the NLfB website:

<http://www.lbeg.niedersachsen.de/master/C39467367\\_L20\\_D0\\_I31802357\\_h1.html>

General information on the use of input tools you find in the chapter:

[Data management](/workspace-and-data-management/creating-objects/data-management)

### Import data sequence

The import of borehole measurements and data sequences to an existing object is available in the [Data sequences](/importing-data/data-sequences).

To import external measurement values from ASCII click import and choose between Uniplot (CPT) and a free ASCII-file format (User Format).

To import an external ASCII file it must be conform to the following rules:

Example:

\-----------------------------------------------------------------

Project number ,Z-

Sequence ,DS 4

Depth, Cone, Friction, Friction Ratio, w/c

(m), (MPa), (MPa), (mV), (%)

0.02, -0.030, 0.00130, -2.944,

0.04, 0.020, 0.00180, -2.894,

0.06, 0.070, 0.00205, .844,

0.08, 0.120, 0.00230, -2.794, 1.118

0.10, 0.120, 0.00505, -2.794, 0.985

0.12, 0.270, 0.01293, -2.894, 1.373

....

The file may contain any number of columns. The first column must contain depth in m below ground surface. Between individual values in one line there can be a separator but this is not obligatory. Any headers, titles or other text without depth information will be ignored.

By choosing the option **Import new data sequences** new data sequences will be created and existing empty data sequences without values will be deleted. In order to re-import data the option **Import values to data sequence '...'** should be used, whereby the data sequence must be pre selected and the existing data will be deleted. Note existing empty data sequences will not be deleted.

**How the Reduction factor works**

For long data sequences with small measurement increments the amount of data is considerable, although the density of information is not always necessary for presentation in borehole logs (e.g. a object with several data sequences measured at 1 cm intervals produces thousands of records - if a vertical scale of 1:100 is used then for each millimeter 10 values are to be displayed!). Hence the need for a reduction factor that removes selected values without influencing the curve path of a data sequence. This works in the following way:

When the reduction factor = 1 then no data reduction takes place. If the data sequence holds more than 500 values then all they are imported without any data loss, but individual values are not editable. When the reduction factor > 1 then the values are imported according to the following rules :

• The first and last values of a data sequence are always imported

• Groups of points are read (4,6,8 or 10 values) whereby

Factor = 2 -> 2 x 2 = 4 values read\
Factor = 3 -> 3 x 2 = 6 values read\
Factor = 4 -> 4 x 2 = 8 values read\
Factor = 5 -> 5 x 2 = 10 values read

From each group of measurement values the minimum and maximum values with the corresponding depth are imported so that the peaks and troughs are unaffected. The bold numbers represent the number of values imported

• Each column is treated separately, so that a value in one data sequence does not necessarily have a corresponding depth in another sequence.

• The automatic reduction is calculated as follows:

when Number of Values> 500 then factor = (Number of Values / 500) + 1\
The number of values imported = Number of Values / Reduction factor\
(Up to 500 value are imported without any reduction).

\
If a data reduction is not required/wanted, up to 10000 values can be imported per sequence. Hence data sequence with more than 10,000 values must use a reduction factor. In a borehole with several such data sequences the amount of data is several 100Kbyte, which slows down read and write times considerably.

Example of Data reduction: Reduction factor = 3 (i.e. from 6 values only 2 are imported):

***

Depth Cone Used (m), (MPa) 0.02, 1.850 1 X (1. value) 0.04, 1.500 2 X (Min) 0.06, 1.875 3 0.08, 2.250 4 0.10, 2.600 5 0.12, 3.050 6 X (Max)

0.14, 3.900 1 X (Min) 0.16, 4.750 2 0.18, 5.300 3 0.20, 5.950 4 0.22, 12.175 5 0.24, 17.712 6 X (Max)

0.26, 19.706 1 0.28, 21.700 2 X (Max) 0.30, 16.700 3 0.32, 13.100 4 0.34, 10.625 5 0.36, 8.150 6 X (Min)

0.38, 7.000 1 X (Max) 0.40, 6.600 2 0.42, 6.250 3 0.44, 6.000 4 0.46, 5.850 5 0.48, 5.800 6 X (Min)

0.50, 5.850 1 X (Min) 0.52, 5.950 2 0.54, 5.850 3 0.56, 6.050 4 0.58, 6.100 5 X (Max) 0.60, 5.950 6

0.62, 5.850 1 0.64, 5.800 2 X (Min) 0.66, 5.800 3 0.68, 6.150 4 0.70, 6.600 5 0.72, 7.650 6 X (Max)

.... ....

20.00, 3 0.800 X (last value)

***

Display of data sequence using raw values (i.e. without reduction) at 1:100 (Fig. 1) and display of data sequence using reduction factor = 3 at 1:100 (Fig. 2):

**Use of import filters**

For the import of data sequences from ASCII files individual import filters can be defined, to make the reading of many files of the same type easier.

For this the following icons are available in the import dialogue:

**Edit selected filtersNew import filterDelete selected filters**

The definition of individual import filters is stored in the file SONIFLTR.SYS in the folder SYSLIB. Make sure before creating new filters, whether you have the right to store data in this directory.

Give a name for the import filter and select the parameters of the columns to import.

**Multiple series to import:**

For each column to import (measurement series) a name and the number of decimal places to read of the values can be chosen separately.

The change between the series is done in the field "For row". The given name is used for naming the data sequence series in the GeoDin data bank. A change of the names after a standard import in the "free format" is avoided this way.

**Reduction factor:**

If you give in the entry field "Reduction factor" a value <>0, the data of the files are always reduced with this factor. If you enter 0, GeoDin calculates a reduction factor automatically, so that per measurement series maximum 500 values are imported. For an entry of 1 the data are imported without reduction (maximum 10000 values per row). For an entry > 1 the data are reduced with this preset factor.

### Fill patterns

See [Fill Patterns and Symbols](/administration/fill-patterns-and-symbols) for the source formats (.SGA / .SYA), the editing and preview workflow, and compilation to .SGN / .SYM.

### Edit

Locking the edit function prevents the **Configuration** from being changed by mistake.

**Locking the System Objects**\
\
To change the lock options make the following new entry under \[System] in the configuration file GeoDin.ini :\
\
\&#xNAN;*\[System]*\
\&#xNAN;*SysPath=C:\Programme\GeoDin\SYSLIB\\*\
\&#xNAN;*SysObjChange=false*

Restart GeoDin and click the **System** tab. Under system configuration the method **"Remove edit security"** is now shown.

Double-clicking the method opens the dialogue for setting the password the first time. The entered password is used to unlock the editing of the system objects later.

Enter a password, confirm it and press **OK**. The encrypted password is stored in the GeoDin.ini. If you forget your password you must delete both the SysObjChange and SysPassword entries from the configuration file and then define a new password.

Of course this protection is only good in so far as write permission is granted (or forbidden) for the configuration file in your network.

In a password protected GeoDin environment, only viewing methods are available in the system object manager, so that unwanted changes are not possible (i.e. they cannot be edited).

The administrator can remove the protection by double-clicking the **"Remove edit security"** method and entering the correct password.\
\
After entering the password all editing functions are available. This restores full edit options to the system configuration.

### Refresh

With the method **"Update object type"** changes to dictionaries and masks can be incorporated in an existing object type. This can be carried out either from the current GeoDin-CD or from a client who provides you with a new set of files.

You can do this from a current GeoDin DVD or our website or you can get a new set of object type files from a third party (e.g. client). In this case, select the directory or zip archive that contains the current files and perform the update.\
When updating, the files with the most recent date are always saved/received. So if you have made changes to your masks or added entries to your dictionaries, they will be preserved as long as the files you want to update with are not even more current than your changes.

**Example**:

You have added an entry to your dictionary on 15.3.2016. The dictionary file to be updated with is from 04.01.1997. Your dictionary file from 15.03.2016 with your entries will be preserved and not "updated" with the older file. Conversely, you last edited a dictionary on 02.02.2005, but the file to be updated with is from 06.07.2010. In this case your dictionary file will be overwritten with the one from 06.07.2010.

Please restart GeoDin after the update, e.g. because the mask files are only reloaded when GeoDin is started.

The updated object type only affects dictionaries, masks or internal object type functions, but not the table structure (data fields) of the object type in existing databases.

There are various options for adapting existing databases in your table structure to extensions of the object type:

**1. New database**

**2. Run a publication to customize standard object types** *(only Access databases tested so far)*

2.1 Download the required **Publications** (\<standard object types> or \<MP surface water>) and save the \*.GPC file in the CONFIG folder of your GeoDin installation.\
2.2 Open and select the relevant database in GeoDin.\
2.3 Now start the method **"Publish and Export"**, select the corresponding publication and execute it.

The object types that can be updated using the publication "Update standard object types\_in\_Access-DB\_" are the following:

\<Abwasser>

\<Altwasseraufschluss>

\<Altwasseraufschluss benutzerdefiniert>

\<Aufschluss Hydrogeologie>

\<Benutzeraufschluss SEP-kompatibel>

\<Bodenkundlicher Aufschluss nach KA5>

\<Bohrung/Sondierung AREAbas-kompatibel>

\<Brunnen>

\<Brunnengalerie>

\<Container>

\<General borehole log>

\<Geotechnische Erkundung EN ISO 22475>

\<Klimamessstation>

\<Komplettaufschluss DIN 4022 / DIN 4023>

\<Lagerbereich>

\<Messpunkt allgemein>

\<Messpunkt Limnologie>

<ÖNORM B4400-1 und -2>

\<Produktionsanlage>

\<Sanierungsanlage>

\<Standardaufschluss gemäß ÖNORM>

\<Standardaufschluss SEP-kompatibel>

\<Wasserwerk>

Publication "MP\_Oberflächenwasser\_in\_Access-DB\_aktualisieren":

\<Messpunkt Oberflächenwasser>

The object type

\<Komplettaufschluss SEP-kompatibel> cannot be updated (not even with the methods mentioned under 1. or 3.).

**3. Update a C/S database using SQL script (recommended only for database administrators)**\
3.1 To update C/S databases, we have provided various SQL scripts for you to download directly from the database for selected object types at <http://download.GeoDin.com/SQL\\_DB-Update\\_SEP1/> for updating C/S databases.

### Properties

*\[Object type can be created]*

If this box is ticked, the creation of new objects is permitted in the object type called up. If the tick is removed, existing objects can be viewed and edited, but no new objects can be created, e.g. by mistake.

*\[Allow simultaneous creation of data type structures]*

The activated option <**Allow simultaneous creation of data type structures**> activates the simultaneous creation of data types on the dialogue for the creation of a GeoDin object ([Create object](/workspace-and-data-management/creating-objects)). This way data types can be created optionally, when an object of an object type is created for the first time, if a standard measurement program has been defined for this type (GeoDinHelpLink:<\*\*Measurement program>\*\*CLASS\_HLP\_Conf\_DatType\_Messprograms#).

### Uninstall

To delete an object type that is no longer required, select this type from the object types list and double-click the method **"Uninstall object type"**.

If you have not made any changes to the dictionaries or masks, you can remove them in the same step so that unnecessary files are deleted from the GeoDin system directory (default setting).

### Symbols

Symbol tables (.SYA) follow the same editing and compilation workflow - see [Fill Patterns and Symbols](/administration/fill-patterns-and-symbols).

### Dictionary properties

Dictionary special settings (delimiters, signature keys, and graphic settings) are described in [Fill Patterns and Symbols](/administration/fill-patterns-and-symbols).

## Reference: Dictionary codes and graphics

### Edit codes

The simplest entry in a dictionary consists of a code and the text:

Code: fS

Text string: Finesand

In a dictionary, all codes and all text strings of the standard language must be unique, i.e. a key or a text string can only be used once.

The system is case-sensitive, for example, the keys fs and fS are considered different.

A plain text can be provided with an explanation in square brackets, which is displayed when searching for plain texts during input, but not in the output in GeoDin. A text string can have additional information to help clarify the input contained in square brackets. This information is shown either as a hint or to distinguish different codes with the same main text entry from one another - the hint information is not written to the database (i.e. not part of a project).

**Example:** Cobaltin \[Cobalt lustre] -> **Display in GeoDin (Layouts, plain text preview):** Cobaltin

During retranslation of the code the additional information text does not appear in borehole log or borehole tab. By attaching additional information texts different keys can be defined by the same text strings, as long as the text strings included the additional information are unique.

"d" Dolomite \[mineral] -> **Display in GeoDin (Layouts etc.):** Dolomite

D Dolomite \[rock] -> **Display in GeoDin (Layouts etc.):** Dolomite

For the keys "d" and D, the plain text is identical and leads to the word dolomite in labelling; the explanatory texts in square brackets give the user the corresponding information as to which key is to be used and ensure the uniqueness of the plain texts in the dictionary.

Various parameters can be defined for each key in the dictionary. These can be divided into the following groups:

1. Plain text translations in different national languages
2. Syntax control and translation control
3. Use of the key for graphical representation with signatures
4. Assignment of the key to specific key groups

**The keys areedited** directly in the table grid of the keys.

The table displays the keys and the plain text, as well as its translations into other languages. The table is sorted alphabetically by key.

To **search** for specific keys, you can use the *"Search for:"* input field in the menu bar of the dictionary window. The display is then reduced to rows that contain the search term in any column.

You can also search for an abbreviation or a plain text translation using the filter on the right-hand side of the column header.

**A new key** can be added to the current dictionary using the **Insert** key. Enter at least the key and the plain text of the standard language of the dictionary for this key.

To **change a key**, simply edit the desired table field and then either save by clicking on the disc symbol or confirm the prompt when closing the dictionary. If you want to discard a change, close the dictionary without saving.

To **delete a key** from the dictionary, use the key combination **Ctrl+Del**. If the wrong key has been deleted by mistake, you can also close the editing window here and reject the question about saving.

The following settings can be made for each key to control syntactic control and back-translation:

**Quantificators**

The digit attached to a key (Example: u4) is referred to as a quantifier and leads to the extension of the translation texts of the key with the corresponding specification of the quantity, quality, frequency etc. in the back translation. The translation of the digit into text terms (also in other languages) is controlled by the definitions of the system variables of the dictionary.

If the option -Numbers are converted into amounts- has been checked (see description above) then the following three options are available:

***Number for amount (e.g. some/many)***

\
The number following a code is interpreted as a quantitative description (in combination with the system variables defined for the dictionary):

**Example:**

"g"1 is translated as: with some gravel

"x"4 is translated as: with many stones

***Number for amount (e.g. slightly/very)***

The number following a code is interpreted as a quality description (in combination with the system variables defined for the dictionary):

**Example:**

ms2 is translated as: slightly sandy (schwach mittelsandig)

u5 is translated as: very silty (stark schluffig)

***Number for amount (e.g. strong/weak)***

The number following a code is interpreted as a quality description but with a grammatically different translation (in combination with the system variables defined for the dictionary):

***Number for amount (with some/many)***

The number following a code is interpreted as a quantitative description (in combination with the system variables defined for the dictionary):

**Example:**

"fs"1 is translated as: with few Feldspar (mit sehr wenig Feldspat)

"gl"4 is translated as: with much Mica (mit viel Glimmer)

***Number for quality (e.g. poorly/well))***

\
The number following a code is interpreted as a quality description (in combination with the system variables defined for the dictionary):

**Example:**

kb1 is translated as: very poorly cemented (sehr schlechte Kornbindung)

kb3 is translated as: moderately cemented (mäßige Kornbindung)

**Validation options*****Requires colon***

A code must be followed by a colon.

**Example:**

di:0.10 is translated as: Diameter 0.10\
\
\&#xNAN;***Requires bracket***

A number in brackets must follow the code:

**Example:**

hwl(2.50) is translated as: Highest recorded water level (2.50)

**Translation options*****No following separator***

This option is used to remove the separator (e.g. a comma) used in coding information, from the full text description

**Example:**

lag, fS is translated as: layers of fine SAND (lagenweise Feinsand)

voe, mg is translated as: pockets of medium gravel (vereinzelt mittelkiesig)

\
\&#xNAN;***Exclude following code***

Entering one code prevents the following code being used to generate the fill pattern.

**Example:**

fS;lag,ms is translated as: Fine SAND with layers of medium sand

The graphical representation would only contain fine sand, not medium sand.

***Combination symbol is a comma instead of a plus sign***\
\
This option is not required in the English version (see the German help for more details)

**Options for keys in pipe tour element dictionaries*****Defines groundwater monitoring wells***\
\
This is only available in the well design casing dictionary and identifies the particular element during data input as a groundwater monitoring well that is assigned a unique ID number. This can be used in GeoDin analysis to link groundwater data such as the depth of the water table and chemical analyses.

***Only one depth required (point)***\
\
This is only available in the well design casing dictionary for codes that only require one depth (e.g. groundwater level in a piezometer). The check for a second depth is automatically turned off.

***Depth of underside of layer not in text***\
\
The standard setting for elements in the casing dictionary (well design) is to label the upper and lower surfaces. This can be turned off for certain codes (e.g. piezometer cap).

**Group**

This selection is used to assign keys to a specific key group.

Key groups are used to access a subset of keys with the help of labelling instructions. Depending on the object type, certain system variables are available for this purpose, which filter out a subset of keys from all data fields in the layer description and convert them into a text.

**Example:**

The %KALK system variable analyses all data fields of the layer description for keys that have been assigned to the "lime content" group and creates a text from them. It does not matter whether the fact "lime-free" was entered in the input field "Petrography" or in the input field "Lime content" (key kf).

The group assignments also have special significance for the form in accordance with DIN 4022. For example, all the keys assigned to the lime content group are taken into account when filling in the "Lime content" field. The same procedure is used for the other fields of the form.

**Special graphic**

There are many options to further enhance the functionality of the codes.

The graphic type defines the kind of graphic presentation, which should be received by the appropriate code. Depending on the use of a code, e.g. for well design elements, sample types etc. the number entered in the graphic type (and if required in the symbol number) defines, which kind of presentation is displayed in the graphic afterwards.

Presentation options can be adjusted for:

[Special symbol](/administration/fill-patterns-and-symbols)

[Groundwater](/visualization-layouts-and-reporting/groundwater-visualizations)

[Well design](/workspace-and-data-management/creating-objects/well-design-data)

[Samples](/workspace-and-data-management/creating-objects/sample-data)

The *percentage* value controls the display in the slice head profile. A layer with the specification 100% has the full width of the drilling column, layers with lower percentage values are displayed correspondingly narrower. The value must be between 0 and 100.

#### Fill patterns

The fill pattern settings of a key control how that key is rendered in a borehole profile.

**Intensity** is the intensity number used to form the signature:

| Value | Meaning                                                                                                                                                                                                                    |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1-9   | Code values for minor components                                                                                                                                                                                           |
| 10    | Standard code value for major components                                                                                                                                                                                   |
| 11    | Major component given priority over other major components; minor components, when present, are mixed into the fill pattern                                                                                                |
| 12    | Major component given priority over other major components; minor components are not mixed in, so only this fill pattern is shown in the borehole profile regardless of which other major and minor components are present |
| 13    | The borehole column is divided into two halves, the left side filled with this pattern; no additional mixing occurs                                                                                                        |

**Standard** takes a code to be used for the **Standard** display in place of the input code - useful when the display code differs from the code used to record the information.

**Fill signature** defines the signature shown for the key. Up to two basic signatures can be mixed. The colour that the signature standard assigns to the fill pattern appears in the **Fill colour** field; independently of that, separate foreground and background colours can be chosen, and the **more...** button opens the full colour selection or lets you define additional colours.

**Background** can also be set to transparent, which gives a much clearer picture in well design drawings.

{% hint style="warning" %}
Not all printer drivers support a transparent background, so the screen display and the printed output may differ.
{% endhint %}

For the definition format behind fill patterns and the rules for mixing signatures, see [Fill Patterns and Symbols](/administration/fill-patterns-and-symbols).

### Special symbol

If the key is assigned to a special character group (e.g. consistency, storage density, etc.), the number of the graphic type determines the type of line or block display. Prepared groups and the freely usable groups 1 to 4 are available as special character groups.

**Example:**

The keys "bre" - mushy and "fe" - solid are assigned to the special character group Consistency.

The number 1 (double wavy line) is defined as the graphic type for "mushy" and the number 5 (double line) for "solid".

The numbers of the available special character graphic types are shown in the appendix [Special symbol](/administration/fill-patterns-and-symbols).

If the number = 42 is used as the graphic type for displaying the special characters, a symbol number from the symbol library can be entered in the "Symbol number" input field. The corresponding symbol is then drawn instead of a line type.

If the number = 43 is used as the graphic type, a rectangle with the signature set for the key is drawn instead of a line type. This means that vector signatures can also be used for the display.

If the number = 44 is used as the graphic type, a double wavy line (like graphic type = 1) is drawn, but the right-hand line is dashed.

The special character groups "Consistency" and "Storage density" have a special position. Keys for these groups can be displayed on the graphic element [Consistency](/administration/ground-description-standards) directly to the right of the drill column.

Up to 2 special character keys (in the order in which they are entered in the corresponding data fields) are used for this purpose.

All other special character groups, as well as the "Consistency" and "Bedding density" groups, can be placed at any position and in any frequency in the object frame using the graphic element [Special symbol](/administration/fill-patterns-and-symbols), e.g. to display the degree of weathering or information on the drill core.

### Groundwater

For keys that allow information on groundwater levels, the type of representation of the groundwater level can be set in the graphic type. The key must be labelled as "Groundwater level" in the Special graphics section. The following figures can be used in the graphic type:

**1** Water struck (empty blue triangle)

**2** Lowest recorded level or water loss from borehole (half filled blue triangle, arrow points downwards)

**3** Highest recorded level or water inflow into the borehole (half filled blue triangle, arrow points upwards)

**4** Groundwater level (full triangle)

**5** Empty triangle with vertical line

**6** Half filled triangle with horizontal line (after completion of drilling)

**7** Groundwater loss (arrow points downwards)

**8** Only text displaying the depth and (where present) the date is shown - no triangle or line is drawn.

**9** Only a horizontal tag line is drawn (no triangle or text)

**10** A horizontal line and a right pointing arrow (Water strike) are drawn

**11** Ground or layer water (highly water-bearing) (ÖNORM)

**12** Ground or layer water (little or suspected water-bearing) (ÖNORM)

**13** Mountain water (ÖNORM)

**14** Cleavage water (ÖNORM)

**15** Groundwater level (France)

**16** Groundwater encountered (France)

**17** Groundwater level risen (France)

**18** Lowered groundwater level (France)

**19** Lowered water level during pumping test (DIN 4943)

***Note:*** *Information on groundwater levels must obviously be depth related, hence the option box -Requires entry in brackets- must be checked so that the data input can be controlled.*

### Well design

For well design elements the following entries for graphic presentations are possible:

**Grafic type**

The graphic type is defined by the numbers 1 to 21:

**1 -** It is represented by a rectangle with the area fill pattern in the Signature section.

**2 -** Two vertical lines without area filling are used for display.

**3 -** The element is represented by two rectangles with the area fill pattern in the Signature section.

**4 -** The element is represented by a groundwater triangle (for indicating groundwater levels in the development plan).

**5 -** The element is represented by a cone. When using a cone, the diameter entered is the diameter at the upper edge of the element, the lower diameter is determined automatically from the subsequent element.

**6** - The representation is a tip.

**7 -** The representation is a symbol from the symbol library.

It is possible to use a graphic element created with the [Symbols](/administration/fill-patterns-and-symbols)

To do this, a new symbol is first created with the desired drawing instructions.

**Example:**

The next free symbol number 161 is used for a one-sided bevelled cone with cover (simplified).

\[161#161]

FullRectangle=0,0,30,10

FullPolyline=0,12,30,12,100,90,100,100,0,100

The symbol number just assigned (161) is now entered in the Symbol number input field. Symbols can also be filled with a signature (see also:[Fill patterns](/administration/fill-patterns-and-symbols)).

**8 -** Cone without upper or lower boundary line. The entered diameter is the diameter on the top of the element; the lower diameter is derived automatically from the next element.

**9 -** Centering device:

It is displayed as two triangles point towards the left and the right. The starting point is varied using the diameter. For the ending point as default the borehole margin is defined, but can be changed manually by changing the width (in cm).

**10 -** Geothermal probe:

This is represented by a square with a truncated triangle at the bottom.

**11 -** Maintenance hole:

It is displayed by two filled rectangles, with selectable width.

**12 -** Hydrant:

It is displayed as a bended pipe with a closing cap, which can be varied using the width.

**13 -** Well house:

It is displayed with a frame with cap and pipe filled by a filling pattern.

**14 -** Geothermal borehole:

It is displayed by 2 rectangles one blue one red. The space inbetween (in the middle) remains empty. The width controls both rectangles concerning their horizontal dimensions.

**15 -** Packer:

It is displayed by two opposing triangles, which meet at the top.

**16 -** Cementing part:

It is displayed by a rectangle which contains circles.

**17** - U-pump:

Represented by a square with a striped division in the lower third.

**18** - Inner dipstick tube (rectangle on the right):

This is represented by a square. You can set the width using the diameter. The position is determined by the wall thickness value and refers to the distance to the centre. So if you want the inner dipstick tube to be displayed in the centre on the right, your wall thickness value would have to be half the tube diameter. You can also fill the inner dipstick tube with a signature.

**19** - Inner dipstick tube (rectangle on the left):

This is represented by a rectangle. You can set the width using the diameter. The position is determined by the wall thickness value and refers to the distance to the centre. So if you want the inner dipstick tube to be displayed in the centre left, your wall thickness value would have to be half the tube diameter. You can also fill the inner dipstick tube with a signature.

**20** - Perforation:

The display is centred by a variable number of rectangles, depending on the element height. You can set the width via the wall thickness value in cm. You can also fill the perforation with a signature.

**21** - Anode display:

The display alternates element by element to the left and right of the centre of the pipe route. The width of the rectangle can be set via the diameter. The distance to the centre is determined via the wall thickness. The rectangle can be filled with a signature.

**Line type**

This specification is only relevant for piezometer casing elements or special elements. It may lie between 0 and 5:

**0** - no line

**1** - normal line

**2** - dashed line

**3** - dotted line

**4** - dash-dot

**5** - dash-dot-dot

**Drawing order**

The drawing order can be set between 1 and 7, whereby 0 (zero) is interpreted as the graphic element is not drawn. If two elements have the same drawing order number, the element with the shallow most starting point will be drawn first. By assigning drawing sequences, it is possible to ensure that certain elements are always drawn first, and can possibly be covered by other elements (whose drawing sequence is higher), regardless of the order of input or the starting depths of the individual elements.

**Text style**

This specification can be used to define how the labelling (incl. small circle) is to be applied to a graphic extension element. This can be in the centre or at the edge of the element.

**0 -** uses the standard setting for each element.

**1 -** to the middle of the element or

**2 -** to the right edge.

### Samples

The graphic type defines the way in which the sample interval is presented:

The numbers for the "Graphic type" shown in the figure lead to the appropriate presentations. Exceptions are the following presentation types:

**0 -** The sample interval is represented by a rectangle with the area filling set in the Signature section. As all signatures can be used, there are very extensive display options. To create an empty (white field), "empty" must be selected as the signature and "white" must be selected as the colour for the foreground and background. The colour of the frame can be set in the layout.

**8 -** The sample interval is represented by a symbol from the symbol library. The number of the desired symbol from the symbol library must be entered in the "Symbol number" input field. The number of symbols in a symbol library is unlimited.

### System variables

The following variables are defined:

**$TRMINUS** - controls the translation of the minus character (default: \`to´)

**Example coding:** fS-mS is translated into: Fine sand to medium sand

In the above example, the character \` is used to identify subsequent spaces after the word \`to´. The character itself is not used during translation.

**$TRCODE** - controls the translation of trailing digits

The definition of the digit and the type of digit is done by adding the desired digit and a letter A, B, C, D, E, F to the variable $TRCODE.

**Example:** The variables $TRCODE1A, $TRCODE1B, $TRCODE1C to $TRCODE5A, $TRCODE5B, $TRCODE5C are defined for the dictionary '(SSG) Petrography'.

The definition of the variables with the digits 1 to 5 allows the digits 1 to 5 to be added to keys and at the same time controls the language translation.

fs1 - very slightly fine sandy

fs2 - slightly fine sandy

fs3 - fine sandy

fs4 - very fine sandy

fs5 - very fine sandy

The differentiation of the variables with the letters A, B, C, D, E, F controls the linguistic translation of quantities or proportions. Which translation is used depends on the labelling of the key in the option field. This is where the setting is made as to how the digit is to be evaluated:

Digit as quantity

\- the variables $TRCODE(Nr)A control the translation

Digit as a proportion (variant 1)

\- the variables $TRCODE(Nr)B control the translation

Digit as a proportion (variant 2)

\- the variables $TRCODE(No)C control the translation

Digit as with quantity

\- the variables $TRCODE(Nr)D control the translation

Digit as quality

\- the variables $TRCODE(Nr)E control the translation

digit as quantity

\- the variables $TRCODE(Nr)F control the translation

**$TRNUMB** - controls the evaluation of secondary components for signature formation and the addition of special characters to keys in the standard translation. A variable is reserved for each digit (1 to 5 in the example above).

$TRNUMB1 to $TRNUMB5

The specification in the plain text of the variable controls the signature creation (see also chapter [Fill pattern system](/administration/fill-patterns-and-symbols))

The specification in the 'Standard text' input field can contain characters that are to be output as standard text (e.g. DIN) for the extension of the keys with numerical data.

**Example coding:**

fs2 weak fine sandy

The variable $TRNUMB2 contains the character '

When translating the coding into DIN form (as one of the possible standards), the standard text for the key fs is first determined (in this case identical to the key =fs) and then extended with the character '. The result of the translation is thus

fs'

### Standards

The GeoDin dictionaries can be managed **multilingually and for multiple standards**, i.e. for each key of a dictionary

1. the plain text translation of the key - multilingual
2. the signature intensity, signature type and standard text - multiple standards

can be stored.

Translations of the keys can be entered in the long texts via . These are then used in the interface and graphics depending on the set UI language.

Different signatures or similar can be managed in a dictionary using additional standards .

The display type and/or the translation type can be selected for the graphical display of the drilling columns, expansion plans, variable text elements, etc. This makes it possible, for example, to display a drilling column that has been entered with the DIN abbreviations, both with Dutch labelling and with the corresponding signatures of the NEN standard.

However, the multilingualism of the GeoDin dictionaries can also be used for different interpretations of one and the same key. For these purposes, for example, the "languages" USER1 to USER4 can be used to define different signatures or plain texts while retaining the originals.

Each dictionary initially has a **predefined standard** that cannot be changed. When a dictionary is opened, the standard is displayed as the first column in the grid, followed by all other existing standards.

To add a new standard, use the **language / standard** button in the top toolbar. To add the standard, click on the icon **Add language / standard** and select the desired standard in the dialogue that opens and close the dialogue by clicking on \<OK>.

The back translations for the respective keys in the various languages can be entered directly in the plain text columns. The desired signature can also be set individually for each standard for the key. The signature table used for this is the signature table set for the standard.

The following signature tables are assigned to the standards:

**Standard Signature table**

DIN (german) DIN4023

FRE (french) INTFRE

NEN (nederlands) NENNORM

UIS (german) UISNORM

ÖNORM (austrian) OENORM

INT (english) INTENG

USER 1 USERSGN1

USER 2 USERSGN2

USER 3 USERSGN3

USER 4 USERSGN4

***Note:*** *The installation of the GeoDin system does not contain all of the signature tables listed above, as there are no defaults for tables USERSGN1 to USERSGN4, for example. If this is the case, the error message "File ...GeoDin\SYSLIB\USERSGN1.SGN does not exist" appears when the corresponding standard is selected. To create a signature table USERSGN1.SGN, for example, copy one of the files in the SOURCE folder, e.g. the file DIN4023.SGA, to the name USERSGN1.SGA. The signature table now appears in the Object Manager below the signatures and can be opened using the* ***"Edit"*** *method. Select the* ***Create*** *button. The file USERSGN1.SGN is created.*

**Example:**

For the key \*M (metamorphite) in the dictionary "(SSG) Petrography", the translation "METAMORPHIC ROCK" was entered for the language "English". In addition, the corresponding signature from the INTENG signature table was entered:

For example, the following options are available for the graphic and textual representation.

Fig. 1 - Display of the signature and text in accordance with DIN

Fig. 2 - Display of the signature in accordance with DIN, labelling in English

Fig. 3 - Representation of the signature in accordance with British Standards, labelling in English

### Export

A GeoDin dictionary can be exported in an Access database. For this select the method **"Export"**:

Select a target database, in which should be exported. Here you can select an existing Access database or create a new database.

During the export at least one table with codes and text is created. If fill patterns are used in the dictionaries further tables are created containing the appropriate information.

## Reference: Editor and import details

### Calculating sequences

New series of data sequences can be calculated with the help of graphical templates or formulae. The formular can be defined in a special section of the GeoDin.ini file and is described at the end of this chapter. The graphical templates have to contain one or more [XY-diagram](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams) with the formulas. The calculation is done using already existing data sequence series, which have to be displayed in the diagram. The selected areas in the diagram define the conditions for the use of the formula.

A graph of the maximum pressure against the friction ratio in the XY diagram leads to the following example view:

The calculation of a new measurement series (for each single measurement point) is done on the base of the position of a measurement point in a defined area and the related **Surfaces** to this area. The definition of the area and the formulas are created and edited in the branch [Diagram design](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics).

***Important!*** *The* [*Measurement value graphic*](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics) *of the graphic element XY diagram is decisive for the name of the new data sequence measurement series to create.*

A calculation layout can also contain several calculation diagrams:

In this case several data sequence series are calculated in one operation.

***Note:*** *Required for the use of the prepared templates for the calculation in the data sequence editor is the registry of this templates in the configuration file GeoDin.ini.*

Here a section with the name DataSequenceCalculation has to be created, which can contain any number of templates:

Template1=c:\programs\GeoDin\templates\Example detection stiffness module.glo

Template2=c:\programs\GeoDin\templates\Kennwerte DIN 1055.glo

Template3=$Ratio Parameter 1 / 2 \[,3]$ = $>DS:Parameter 1$ / $>DS:Parameter 2$

Template4=$Sum Parameter 1 und 2$ = $>DS:Parameter 1$ + $>DS:Parameter 2$

The first two entries are links to GeoDin layouts with XY-Plots. The templates 3 and 4 each contain a simple formula to calculate a new series. The syntax is:

$Result name \[Options]$ = $>DS:Name of a series$ Operator $>DS:Name of a series$ ......

Before the equal sign the name of the result series is selected. In the brackets optionally the number of decimals for the result values can be selected. In template 3 the results will be created with 3 decimals and a comma as separator. Without these settings (like in template 4) the results will be displayed with 2 decimals and a point as separator as default.

If you want to include an existing series in the formula the series name has to be included in $-signs. Additionally the key term >DS: has to be entered after the first $-sign (like in the formulae in the diagrams). If the term is for example "Sleeve Friction in MN/m²", the term in the formula has to be:

The formula can contain any mathematical operator. Use paranthesis in complex formulae for example:

$>DS:New series$ = ( $>DS:Series 1$ \* $>DS:Series 2$ ) + $>DS:Series 3$

The calculation of new series is done in the [Data sequences](/importing-data/data-sequences) with the icon [Calculating sequences](/importing-data/data-sequences).

After selecting the chosen template the calculation of one or more series (depending on the number of calculation diagrams in the template). The calculated series are afterwards available as new measurement series and can be used for graphic presentation.

Instead of working in the data sequence editor you can calculate series also in the method #GeoDinHelpLink:**Data checks and calculations**155#. You can start this method on a query or group of objects and select the function **Data sequneces: Calculating sequences**.

In these examples, series are calculated step by step and presented as graphics.

Open GeoDin.ini and insert the following section to define a template:

Template1=C:\Program Files\GeoDin 8\Layouts\Series\Stiffness modulus derivation example.glo

Template3=$Ratio parameter 1 / 2 \[,3]$ = $>DS:Parameter 1$ / $>DS:Parameter 2$

Template4=$Sum of parameters 1 and 2$ = $>DS:Parameter 1$ + $>DS:Parameter 2$

Template1=C:\Program Files\GeoDin 8\Layouts\Series\Stiffness modulus depth.glo

Template3=$Change of stiffness modulus with depth \[,3]$ = $>DS:Parameter 1$ / $>DS:Parameter 2$

### Data source

Navigate to the import file via the ![Open](/files/J3WsyRbfKvmGfNwvTnCn) **Open** button and select it.

If the file can contain several tables, e.g. MS Excel or MS Access, please select the desired table via the drop-down box below.

For MS Excel files or text files, it can additionally be set whether the first line of these files contains column labels, which is often the case.

In addition, the date format used for formatting a date in these files can be specified. GeoDin takes this setting into account when converting dates later.

The records can be marked in the preview and removed by using button if these records are not to be considered for the import. The records will only be removed in this preview and will not be used for the import, your import file will not be changed.

GeoDin uses a Microsoft OLEDB database connection to access an MS Excel file. This driver (not GeoDin!) interprets the first rows of the table to determine the field format of the column. If the driver concludes that the values are numerical, the column is formatted numerically and any text in this column (i.e. content that is not numbers) is lost.

In this case it helps to format this column in MS Excel with the cell format 'Text' BEFORE opening it with GeoDin. The contents will then be visible.

Regardless of this, however, GeoDin will generate an error if an attempt is later made to import cells with text content into a numeric target field of the GeoDin database, as this is not allowed.

MS Excel stores all time data internally as real numbers. This applies to the date as well as to minutes and seconds. Since GeoDin manages date (type date) and time (type string with length 5) separately for reasons of compatibility, these two pieces of information must be available separately when importing.

If you split a combined time information from date and time into two columns in MS Excel, which then display the date and time, the time is internally available as a full time information with the date 0 (corresponds to the date 31.12.1899).

When importing such preset data, the string '31.12' will be entered as the result in the time field of GeoDin, which corresponds exactly to the first 5 digits of the zero date. One way to prevent this is to manage/save the minute field in MS Excel as text or to save the Excel table as a CSV (text) file and then import it.

### Duplicating objects

To create a copy of an existing object including some or all of its data, right-click the object in the GeoDin Object Manager and choose **Duplicate object** (German: *Objekt duplizieren*).

* !['Layer data'](/files/eOmrxxa3PFgdzVaYdqFX) **Layer data** - geological layers and borehole log data
* **Sample data** - sample intervals and associated data
* **Well design data** - casing, backfill, and filter information
* **Documents** - linked or embedded document files
* **Measurement values** - all measurement data from the data types assigned to this object

Select the data types to copy and confirm. The duplicated object appears in the same project with a new auto-generated ID. Edit the short name and coordinates to differentiate it from the original.

{% hint style="info" %}
Object duplication is particularly useful when multiple objects at the same site share the same well design or measurement program setup - create the first object in full, then duplicate and adjust coordinates for subsequent objects.
{% endhint %}

### Object link

***Note:*** *This option is only available for the "Update general data" method.*

In this step, you select the two table columns or database fields that are used to assign the data records of your import file to the objects that already exist in GeoDin.

1. The GeoDin objects of the current query or group are displayed in the "Objects" \*\*table. From the drop-down box above the list, you can select the GeoDin field that contains the (as unique as possible) name or ID number for assigning the import data.
2. For the \*\*"Data Source" list, then select the column in your import table that contains the names or ID numbers of the data records to be assigned. The available contents are now displayed in the list.

The two input fields below the lists are used to restrict the displayed entries. Only entries in which the search term exists are displayed in the lists. Clear the search entry to display all entries again.

### Using the data entry grid

When performing data collection and organisation tasks using a grid, with data entry fields as columns and data records arranged in rows, there are many configuration options. A **view** of the data can be created with a few mouse clicks, which allows the order and visibility of the columns chosen to optimally present the data with respect to sorting, grouping and filtering of the current situation. These views can be saved with user defined names for later re-use.

1. The column width can be changed by clicking and dragging in the header.
2. By double-clicking the right-hand boundary of a column its width will be automatically adjusted to the length of the current content.
3. Clicking the column heading once sorts the data records in ascending order.
4. A further click sorts the data in the reverse direction (descending order).
5. By Ctrl-clicking a column header the sorting is removed.
6. Staggered sorting over several columns can be achieved Shift-clicking a column header, whereby the column chosen is lower in the hierarchy than the previously sorted column.
7. The type of sorting is indicated by a triangular symbol in the column.
8. The top left corner of the data input grid contains a button to allow the visibility of columns can be toggled on and off.

Several data records can be selected at once by clicking the top-left button in front of each data record. By keeping the mouse button depressed after the first click and dragging the mouse to another part of the data input grid several records can be chosen. The area selected is shown in a different colour. Alternatively you may use the Shift-key to highlight an area or the Ctrl-key to select individual data sets. The key combination Ctrl+A can be used to select all data records.

Data records can be grouped using the contents of one or more columns. Select and drag the column header to the area above the column headers. The data records are now arranged in groups within a column according to its' contents. Each group is automatically given a header which contains the name and contents of the data record. More hierarchal grouping is achieved by dragging further column headers onto the grouping area. Note: When adding a data record to a group (Insert or Ins) all contents of the parent group are automatically added to the new data record. Manual entry is not necessary and the data record automatically belongs to this group. Normally a grouping column is not visible as a single column. Should this be the case and the contents of a data record change, then this data record will be automatically moved to the relevant group when saving.

Normally a calculated data field is locked by default, so that the value is pre-determined and cannot be changed by the user.

Unexpected behavior may occur, when entering new data records in groups below locked data fields.

If you group a data record by a locked data field and add a new data record afterwards, it is not mandatory for GeoDin to use the grouping value as the content for the locked data field in the new data record, but rather to use the calculated value by default.

The grouping value has priority for unlocked data fields even if the grouping value overwrites an older one. It is equal to a direct overwrite of the data field by the user.

If you group by a locked data field, such as the username, and another user adds a new data record, therefore with another username, the locked data field USER will be filled with the default value. But previously the grouping has been done with another username. Due to that the new data record does not fulfil the grouping value and will not appear in the current group. However the data record has been added correctly and can be found in another group.

Generally speaking, if a new data record is added when grouping by a locked data field and the values both in the grouping field and the new data record do not match, the data record will be moved to the fitting group. The data record still exists, but is not shown in the current group.

You can use filters to define which data records are shown. On the right-hand side of a column header there is a pop-up menu which offers a range of quick filtering options based on the contents of the data records. By choosing one or more of these filters, the number of data records in the grid can be constrained. The current selection is shown at the lower grid boundary. Here you have the option of temporarily removing the filter (checkbox next to the filter criteria), ending the filtering (closing the sub-window using the left-hand button), or choosing a recent filter from a pop-up list next to the current filter item. To set up detailed filter criteria and use individual logical connections and conditions click the \<Customize> button. Filter definitions can also be saved or opened from a file.

By right-clicking a column header a context menu appears in which diverse settings for the current column can be defined (visibility, sorting, grouping, alignment and width. The additional **Footer** option overlays a footer at the base of the grid. The contents of the footer are chosen in the next step by right-clicking in this area. The horizontal position of the mouse pointer determines the column, whereby the minimum, maximum, sum, mean (for numerical columns only) and the number of data records (all columns) can be shown.

A multitude of settings for different data combinations can be individually saved for later re-use. A separate toolbar is available:

The drop-down menu allows the choice between saved views. The \<User defined view> defines a view whose settings are automatically saved upon closing the grid.

This button allows you to save the current view using an individual name, or overwrite an existing view. Note: If you make changes to a saved view and neglect to re-save these, they will be lost upon changing to a new object. The following applies:

Current view is \<User defined view>: upon changing from one object or editor to another, the view will be exactly reproduced as when you left it.

Current view is a saved view: upon changing from one object or editor to another, the view will be reproduced as defined by the last saved view settings. Subsequent unsaved changes are disregarded.

This button removes the current view (e.g. when it is no longer needed).

The management of these settings is user-specific on each PC.

### XML export

The method **"XML Export"** can be found in the superordinate method **"Publish and Export"** at object nodes or at queries and groups below the object nodes, as well as at system queries that return objects (no measuring points) as a result (easily recognisable by the small red ball in the query symbol).

With this method you can export objects of the GeoDin database into a configurable XML format. The available formats are shown in the list.

The XML files created during the export are exported to the specified directory.

For each GeoDin object, an XML file is created which is named with the name of the object.

Detailed information about configuring an XML export template can be found in the chapter [Settings for XML templates](/exporting-data/geodinml-export#template-settings)

The settings of the export dialogue can also be defined by an export configuration file (\*.INI).

To do this, the relevant source database must be included as a system database in GeoDin using the **Configuration**.

In the system database section must be specified with: XMLExportConfig=MyExportConfiguration.ini the path to the export configuration file must be specified.

In order to execute the method directly when opening GeoDin at a database, the parameter AutoOpenMethodID=49 must also be set in the database section.

In the \[PARAMS] section of the XML export configuration file (name of the file.INI), specify which settings are to be made in the XML export dialogue.

The XML export configuration file can be named as desired and must have the following structure:

{% code title="MyExportConfiguration.ini" %}

```ini
[PARAMS]
Method=XMLExport
ObjectType=1
ParentNode=DatabaseQueries
Query=BML-Objects
ObjectID=
Expand=false
ExportFolder=X:\Folder_1\Subfolder_2\ExportProtocols
ExportTemplate=SEP3 - BoreholeML 3.0.1
ExportTarget=2
TargetDB=Target database
```

{% endcode %}

| Parameter        | Status                                   | Default                   | Meaning                                                                                                                                                     |
| ---------------- | ---------------------------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Method`         | Required                                 | `XMLExport`               | This parameter must be set, it determines the method to be executed.                                                                                        |
| `ObjectType`     | Required                                 | `1`                       | Specification of the node point type. The method is thus (=1) only available at nodes and queries that return objects and not measuring points as a result. |
| `ParentNode`     | Required                                 | `DatabaseQueries`         | This parameter must be set, it determines the type of node at which the method is to be executed.                                                           |
| `Query`          | Required if `ParentNode=DatabaseQueries` | -                         | This parameter must be set, it determines the query below the parent node at which the method is executed.                                                  |
| `ExportFolder`   | Required                                 | -                         | This parameter must be set, it specifies the folder and path where the export log is saved.                                                                 |
| `ExportTemplate` | Required                                 | `SEP3 - BoreholeML 3.0.1` | This parameter must be set, it specifies which XML template is to be used.                                                                                  |
| `ExportTarget`   | Required                                 | `2`                       | This parameter must be set, it specifies whether to export as individual XML files (=1), to a database (=2) or to a ZIP archive (=3).                       |
| `TargetDB`       | Required if `ExportTarget=2`             | -                         | This parameter must be set if ExportTarget=2 was specified. It specifies the name of the target database in the GeoDin object manager.                      |

## Reference: Database tables

### Object registration tables

The registration tables contain the basic measuring point descriptions of the GeoDin objects.

Each object (regardless of object type) is registered with a data record in this table.

| Field      | Description                                                           |
| ---------- | --------------------------------------------------------------------- |
| PRJ\_ID    | Project ID                                                            |
| LOCID      | is a max. 4-digit sequential number of the object in project 1-9998   |
| LOCTYPE    | Contains the descriptor of the object type                            |
| INVID      | 16-character measuring-point string (format below)                    |
| OPT\_PARAM | empty                                                                 |
| XCOORD     | easting                                                               |
| YCOORD     | northing                                                              |
| ZCOORDB    | Borehole starting point absolute                                      |
| ZCOORDE    | Final depth in metres below ground level (for depth-oriented objects) |
| SHORTNAME  | short name for the object                                             |
| LONGNAME   | long name for the object                                              |
| PHYSFILE   | Name of the object file (only in GeoDin standard projects)            |
| LOCKINFO   | empty                                                                 |

000 Number of the measuring point, for object itself this number is always 0

\
**Measuring point registration of expanded measuring points FILREG**\
This table manages all expanded measuring points of the project (e.g. groundwater monitoring wells). An object can have several measuring points.

| Field   | Description                                               |
| ------- | --------------------------------------------------------- |
| LOCID   | Identification number of the object                       |
| RECID   | Counter of the removed measuring points per object        |
| INVID   | Measuring point identification number (format below)      |
| INVZBEG | Start of the measuring point in metres below ground level |
| INVZEND | End of the measuring point in metres below ground level   |
| INVNAME | Name of the measuring point                               |

\
**Measuring point registration of non-expanded measuring points PRBREG**

In this table, all measurement points of the project that have not been developed (e.g. sediment sampling) are managed. Several measuring points can occur per object. The structure of this table is identical to the FILREG table.

***Note:*** *All the following tabular representations serve as examples.*

The genral data table is a mandatory table for object types, i.e. at least one master data table must be defined in each object type definition. It contains unique information for the object. Each object contains one data record in this table. An object type can also contain several master data tables, e.g. if the master data is very extensive or if a logical subdivision is appropriate.

The LOCID field is the unique number of the object in a project. This results in a limitation of a project to 9998 objects (object number = 9999 is not allowed).

The data fields XCOORD to ZCOORDE describe the position of the object in space. The data fields SHORTNAME and LONGNAME are used for a verbal designation of the object..

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 3          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| XCOORD      | N           | 20         | 4          | 3          | 0          | easting               |
| YCOORD      | N           | 20         | 4          | 4          | 0          | northing              |
| ZCOORDB     | N           | 20         | 4          | 5          | 0          | elevation NN          |
| ZCOORDE     | N           | 20         | 4          | 6          | 0          | end depth             |
| SHORTNAME   | C           | 14         | 0          | 7          | 0          | Short description     |
| LONGNAME    | C           | 40         | 0          | 8          | 0          | Long description      |
| TABDESK     |             |            |            |            |            |                       |
| ...         |             |            |            |            |            |                       |

This table is optional, it contains depth-oriented descriptions for layers. Several independent layer data tables can be defined for one object type. In the standard case, representations of borehole profiles or borehole tables with corresponding interpretation of codes are derived from these tables. However, they can also be pure text representations of depth-oriented features.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| DEPTH       | N           | 20         | 4          | 3          | 0          | depth                 |
| ...         |             |            |            |            |            |                       |

This table contains a data record for each sample. "General data" for a single sample can be entered here.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG               |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | ------------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident     |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident       |
| INVID       | C           | 16         | 0          | 3          | 0          | GeoDin Messpunkttyp Ident |
| INVZBEG     | N           | 8          | 2          | 4          | 32         | depth from                |
| INVZEND     | N           | 8          | 2          | 5          | 32         | depth to                  |
| INVZNAME    | C           | 20         | 0          | 6          | 0          | sample name (short)       |
| ...         |             |            |            |            |            |                           |

This table can be used for developed boreholes to additionally enter general data for wells, groundwater monitoring wells, etc., such as owners, operators, etc. Editing is offered in the extension editor.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 3          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| ...         |             |            |            |            |            |                       |

This table contains information on backfilling. The data is entered in tabular form in the extension editor.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| VFCODE      | C           | 8          | 0          | 3          | 40         | type                  |
| VFBEG       | N           | 8          | 2          | 4          | 8          | from \[m]             |
| VFEND       | N           | 4          | 2          | 5          | 8          | to \[m]               |
| ...         |             |            |            |            |            |                       |

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG               |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | ------------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident     |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident       |
| INVID       | C           | 16         | 0          | 3          | 0          | GeoDin Messpunkttyp Ident |
| TOURID      | N           | 2          | 0          | 4          | 8          | pipe tour number          |
| ELCODE      | C           | 8          | 0          | 5          | 40         | element                   |
| ELBEG       | N           | 8          | 2          | 6          | 8          | depth from                |
| ELEND       | N           | 8          | 2          | 7          | 8          | depth to                  |
| ELWIDE      | N           | 4          | 0          | 8          | 8          | diameter                  |
| ELTHICKN    | N           | 4          | 1          | 9          | 0          | wall thickness            |
| ...         |             |            |            |            |            |                           |

The INVID field contains a measuring point ID for filter sections and is formed automatically.

This table contains expansion elements that are not related to an individual pipe tour (e.g. concrete ring, hydrant cover).

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| ELCODE      | C           | 8          | 0          | 5          | 40         | element               |
| ELBEG       | N           | 8          | 2          | 6          | 8          | depth from            |
| ELEND       | N           | 8          | 2          | 7          | 8          | depth to              |
| ELWIDE      | N           | 4          | 0          | 8          | 8          | diameter              |
| ELTHICKN    | N           | 4          | 1          | 9          | 0          | wall thickness        |
| ...         |             |            |            |            |            |                       |

This table contains a data record for each filter pipe. "General data" for an individual filter can be entered here.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG               |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | ------------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident     |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident       |
| INVID       | C           | 16         | 0          | 3          | 0          | GeoDin Messpunkttyp Ident |
| INVZBEG     | N           | 8          | 2          | 4          | 8          | depth from                |
| INVZEND     | N           | 8          | 2          | 5          | 8          | depth to                  |
| INVZNAME    | C           | 20         | 0          | 6          | 0          | filter name (shor)        |
| ...         |             |            |            |            |            |                           |

This table contains a data record for each probing measurement series of an object. For each object, the probing series are numbered in SNDID and stored in binary form in the field SNDDATA.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG              |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | ------------------------ |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident    |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident      |
| SNDID       | N           | 3          | 0          | 3          | 0          | GeoDin Sondierungs-Ident |
| SNDNAME     | C           | 50         | 0          | 4          | 0          | Sondierungsname          |
| SNDDATA     | B           | 0          | 0          | 5          | 0          | Sondierungsdaten         |

This table contains the probing data for all objects of the project. The assignment is made via LOCID and SNDID. The structure of this table cannot be changed or extended.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG              |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | ------------------------ |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident    |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident      |
| SNDID       | N           | 3          | 0          | 3          | 0          | GeoDin Sondierungs-Ident |
| DEPTH       | N           | 20         | 4          | 4          | 0          | depth to                 |
| SNDVALUE    | C           | 20         | 0          | 5          | 0          | probing value            |

These tables contain additional information on the object, e.g. groundwater level information, archive number.

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG           |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident   |
| GW          | N           | 8          | 2          | 3          | 0          | groundwater level     |
| GWDATUM     | D           | 10         | 0          | 4          | 0          | date                  |
| ...         |             |            |            |            |            |                       |

These tables define and describe relationships between measurement points. INVID contains a measuring point of the object. This measurement point is related to the measurement point number (unique in GeoDin) contained in LNKINVID. INVIDT and LNKINVIDT contain verbal description of the measuring point. The type of relationship can be described in more detail by further data fields (from "...").

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_CNT | FIELD\_OPT | FIELD\_LONG                             |
| ----------- | ----------- | ---------- | ---------- | ---------- | ---------- | --------------------------------------- |
| LOCID       | N           | 4          | 0          | 1          | 1          | GeoDin Location Ident                   |
| RECID       | N           | 4          | 0          | 2          | 0          | GeoDin Record Ident                     |
| INVID       | C           | 16         | 0          | 3          | 1          | measuring point ident                   |
| LNKINVID    | C           | 16         | 0          | 4          | 1          | measuring point ident assigned          |
| INVIDT      | C           | 60         | 0          | 5          | 0          | Description of measuring point          |
| LNKINVIDT   | C           | 60         | 0          | 6          | 0          | Description of measuring point assigned |
| ...         |             |            |            |            |            |                                         |

| Field      | Description                                                           |
| ---------- | --------------------------------------------------------------------- |
| PRJ\_ID    | Project ID                                                            |
| LOCID      | is a max. 4-digit sequential number of the object in project 1-9998   |
| LOCTYPE    | Contains the descriptor of the object type                            |
| INVID      | is a string of exactly 16 characters. It is formed from:              |
| OPT\_PARAM | empty                                                                 |
| XCOORD     | easting                                                               |
| YCOORD     | northing                                                              |
| ZCOORDB    | Borehole starting point absolute                                      |
| ZCOORDE    | Final depth in metres below ground level (for depth-oriented objects) |
| SHORTNAME  | short name for the object                                             |
| LONGNAME   | long name for the object                                              |
| PHYSFILE   | Name of the object file (only in GeoDin standard projects)            |
| LOCKINFO   | empty                                                                 |

*Additional variant rows recovered from the former Databases-page copy of "Objects":*

\| INVID | Measuring point identification number |


# AGS 4

### 1. Overview

The AGS 4 Standard consists of three different object types developed according to AGS 4.1.1 with additions from AGS 4.0.4. The default settings are AGS 4.1.1.

All three must be installed in GeoDin to ensure full functionality:

1. **AGS 4 \[AGSSTAND]**: Includes general location data, geological layers, samples, well design information, object type tables, and data types.
2. **AGS 4 LBSG - Testing schedule \[AGSLBSG]**: Used to define and manage project-specific testing schedules.
3. **AGS 4 PREM - Project-specific time-related remarks \[AGSPREM]**: Used to record project-specific time-dependent events (e.g., "Heavy rainfall for two days; site flooded").

<figure><img src="/files/j5QRTl9asc2CO1xhwXqn" alt=""><figcaption></figcaption></figure>

Follow the process outlined [here](https://docs.geodin.com/navigating-the-geodin-workspace/object-types/installing) in Method 1 and select **"AGSSTAND\_Geotechnical Geoenvironmental Standard"** to install all three object types including the associated data types.

<figure><img src="/files/m6Cu89H3PEvZzetCvhQG" alt=""><figcaption></figcaption></figure>

#### 1.1 Missing AGS groups in GeoDin

Some AGS groups are not stored in GeoDin because they are either automatically generated during the AGS export process or are not supported by GeoDin's data model and therefore cannot be stored within the system.

• ABBR - automatically generated on AGS Export\
• DICT - not part of the GeoDin structure\
• FILE - automatically generated on AGS Export\
• TRAN - not imported into GeoDin; users must complete these values during the AGS Export in Step 4\
• TYPE - automatically generated on AGS Export\
• UNIT - GeoDin provides its own dedicated unit dictionary (PU)\
• STND - not part of the GeoDin structure

#### 1.2 General information for GeoDin

**1.2.1 Parameters and Groups**

Parameters or groups that are only included in AGS 4.1.1 and not in AGS 4.0.4 are marked with the note "(4.1)".

**Example:**\
CTRG - Cyclic triaxial test \[CTRG] is a new group for AGS 4.1.1.

<figure><img src="/files/BtyL0hv2F7wNzPj4kLUj" alt=""><figcaption></figcaption></figure>

**1.2.2 Input Forms**

GeoDin allows users to enter data using input forms (masks). GeoDin provides support for entering parameters. The description of the AGS parameter name can be found below the mask as a note containing the long field name and, in brackets, the short field name.

<figure><img src="/files/e5qEu3shSPxQfzzmfz8J" alt=""><figcaption></figcaption></figure>

**1.2.3 Grid View**

When entering data via the grid view, users can switch between the long field name and the AGS short field name. To do this, the user clicks on the column heading with the right mouse button, and a menu bar appears, as shown in the image. Users can also use this menu bar to switch the unit view on and off.

<figure><img src="/files/1t84LTq7Z3drcQwHRvbZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yIfmpJFBDcUtbxau3ToY" alt=""><figcaption></figcaption></figure>

**1.2.4 Dictionaries**

* GeoDin includes comprehensive dictionaries that store all AGS codes from the **AGS 4.1.1** and **AGS 4.0.4** standards.
* The following dictionaries are **exceptions** and are intentionally empty:
  * **(AGS) Layer data: GEOL - Second geology code**
  * **(AGS) Layer data: GEOL - Geology code**\
    These must be populated with **project-specific codes** in accordance with AGS standards.
* Users can **edit GeoDin dictionaries**.
  * Once modified, dictionaries are **not updated during an object type update**, ensuring user changes are retained.
* The following **database-specific dictionaries** must be populated by user input:
  * **(AGS) Testing schedule: LBSG - Schedule reference**, used in data type **LBST**
  * **(AGS) Monitoring installation: PIPE - Pipe reference**, used in data type **MONG**\
    These dictionaries are only usable once the required information has been entered into the database.
* In contrast to the AGS structure, GeoDin includes an **additional EPSG dictionary** to enable location display in:

  * Map preview
  * GeoDin Maps

  <figure><img src="/files/Z6FLbjkobVG71B4zi06C" alt=""><figcaption></figcaption></figure>
* The following dictionaries are repeatedly used in GeoDin:
  * **(AGS) Units: UNIT - Unit**, defining all units used for data headings and data records
    * Used multiple times for all AGS types = **PU**
  * **(AGS) Yes or No: YN**
    * Used multiple times for all AGS types = **YN**
* The dictionary **(AGS) Data type: PTST - Type of permeability test** contains **duplicate entries** with different upper- and lower-case letters, reflecting differences between **AGS 4.0** and **AGS 4.1** standards.
* GeoDin does **not allow spaces or colons (:)** in dictionary codes.
  * AGS-standard codes containing spaces are converted to **underscores (\_)** within GeoDin.
  * AGS-standard codes containing colons are converted to **minus (-)** within GeoDin.
  * This conversion is handled automatically by the **importer and exporter**, where it is reversed.
* Users can enter their own **ABBR codes** into GeoDin dictionaries.
  * During export, these codes are written to the **ABBR group** with their corresponding long texts.
  * Such entries are marked with **"GeoDin"** instead of **"AGS4"** in the **ABBR\_LIST** heading.

**1.2.5 Presentation with Fill Patterns**

GeoDin uses fill patterns defined in the AGS dictionaries to visually represent geological layers and backfill materials in drilling logs. This enables clear graphical differentiation of materials and ensures consistent, AGS-compliant visual outputs.

**Dictionaries used:**

* **(AGS) Layer data: GEOL - Legend code**
* **(AGS) Well design: BKFL - Backfill legend**

<figure><img src="/files/hMwnfl0V0LOAk8oWiSiq" alt=""><figcaption></figcaption></figure>

### 2. Data structure of the GeoDin object types

The below image shows an extensive data structure for the GeoDin object types:

<figure><img src="/files/wSk3gqDDW1SXTltQA7xs" alt=""><figcaption></figcaption></figure>

### 3. Object type AGS 4 \[AGSSTAND]

The **AGS 4 object type** is the **core structure** for AGS data in GeoDin. It contains:

* General location data
* Geological layer descriptions
* Sampling information
* Well design details
* Supplementary object type tables
* Data types for all groups of the **AGS 4.1.1** and **AGS 4.0.4** standards

<figure><img src="/files/4QPK9R4oX7Gx7YiG8sPZ" alt=""><figcaption></figcaption></figure>

The user can find the AGS groups and the associated parameters in GeoDin in the following structure:

| General data | Layer data | Samples | Well design | Object type tables |
| ------------ | ---------- | ------- | ----------- | ------------------ |
| LOCA         | GEOL       | SAMP    | HDIA        | CDIA               |
|              | DETL       |         | FLSH        | CHIS               |
|              | DLOG       |         | BKFL        | HDPH               |
|              |            |         | PIPE        | DREM               |
|              |            |         | FILT        | DOBS               |
|              |            |         |             | HORN               |

All AGS groups **except LBSG and PREM** that are **not listed above** are implemented in GeoDin as **data types**. The complete list of AGS data types is provided in **Chapter 6 - Data Types**.

#### 3.1 General data - Location details - LOCA

<figure><img src="/files/HKpfiie8f9CUn0YiSxSb" alt=""><figcaption></figcaption></figure>

#### 3.2 Layer data - GEOL, DETL, DLOG

**3.2.1 Field geological description - GEOL**

<figure><img src="/files/cFWEmJkNrf2h3xsbInyx" alt=""><figcaption></figcaption></figure>

**3.2.2 Stratum detail description - DETL**

<figure><img src="/files/mVX6AvZPv4GDBr80HCKs" alt=""><figcaption></figcaption></figure>

**3.2.3 Driller geological description (4.1) - DLOG**

The DLOG group represents the driller's geological description according to AGS 4.1.1.

<figure><img src="/files/36Z7on7sOJzpLZnQwik7" alt=""><figcaption></figcaption></figure>

#### 3.3 Samples - SAMP

<figure><img src="/files/y1Kh0rLG2HCawVXQtNMH" alt=""><figcaption></figcaption></figure>

#### 3.4 Well design - HDIA, FLSH, BKFL, PIPE, FILT

**3.4.1 Hole diameter - HDIA**

<figure><img src="/files/CV5C8i7EBM0bTSeAV05v" alt=""><figcaption></figcaption></figure>

**3.4.2 Flushing details - FLSH**

<figure><img src="/files/gXmGqNSUfrlatMydfI9x" alt=""><figcaption></figcaption></figure>

**3.4.3 Backfill - BKFL**

<figure><img src="/files/CIofDPu8vvK66Sz9Fh84" alt=""><figcaption></figcaption></figure>

**3.4.4 Monitoring installation pipe - PIPE**

The user must create a **Pipe reference entry** in order to make it available in the **Pipe reference dictionary** and to use it for the **Monitoring Installations and Instruments \[MONG]** data type.

<figure><img src="/files/CF9kIxSuFjdfjGV4D44v" alt=""><figcaption></figcaption></figure>

The entries of the dictionary **(AGS) Monitoring installation: PIPE - Pipe reference** are only available, if the user creates an entry in the Monitoring installation pipe. The dictionary is database specific.

<figure><img src="/files/91m8qv5EIRzqRCd8tKlq" alt=""><figcaption></figcaption></figure>

**3.4.5 Filter details - FILT**

Pipe reference in monitoring installation pipe (PIPE group) and in filter details should be identical. Pipe name in filter details is used as the name (monitoring point ID) in the MONG group.

<figure><img src="/files/MHkUxsdhJhZtxEnUfJ4k" alt=""><figcaption></figcaption></figure>

#### 3.5 Additional object type tables - CDIA, CHIS, HDPH, DREM, DOBS, HORN

Additional object type tables store advanced drilling information that supports detailed project documentation:

1. CDIA - Casing diameter
2. CHIS - Chiseling details
3. HDPH - Depth‑related hole information
4. DREM - Depth related remarks
5. DOBS - Drilling advancement observation and parameters
6. HORN - Hole orientation and inclination

<figure><img src="/files/kn2k7S4iI9MUiqK6IwuZ" alt=""><figcaption></figcaption></figure>

**3.5.1 Casing diameter - CDIA**

<figure><img src="/files/ZW20lHQRGOYp7U0n8p5H" alt=""><figcaption></figcaption></figure>

**3.5.2 Chiseling details - CHIS**

<figure><img src="/files/VriUc96MLMKu8V4bCWqP" alt=""><figcaption></figcaption></figure>

**3.5.3 Depth related hole information - HDPH**

<figure><img src="/files/SYvfoD1Cs7M5Vz0mHkkE" alt=""><figcaption></figcaption></figure>

**3.5.4 Depth related remarks - DREM**

<figure><img src="/files/Jm27NtlzbW0RlbnGeejJ" alt=""><figcaption></figcaption></figure>

**3.5.5 Drilling advancement observation and parameters - DOBS**

<figure><img src="/files/Buv5XJrpdOzjV8O1Zhsh" alt=""><figcaption></figcaption></figure>

**3.5.6 Hole orientation and inclination - HORN**

<figure><img src="/files/tRL5d1OZLNErvfwvvxfr" alt=""><figcaption></figcaption></figure>

### 4. Object type AGS 4 LBSG - Testing schedule \[AGSLBSG]

#### 4.1 General data - Testing schedule - LBSG

<figure><img src="/files/EEzpSXDx6ykrh86OLcMQ" alt=""><figcaption></figcaption></figure>

A **testing schedule object** must be created so that its reference can be used in the **Testing Schedule Details \[LBST]** data type records.

The dictionary **(AGS) Testing schedule: LBSG - Schedule reference** is **database‑specific**. Schedule references are only available if corresponding objects are created in the **AGS 4 LBSG - Testing schedule** object type.

Using the **Add objects** method at the level of the opened database, testing schedule objects can be copied from one database to another. Once copied, they are also available as schedule references for the **Testing Schedule Details \[LBST]** data type.

<figure><img src="/files/A0LCcboJsdUg4txl58qu" alt=""><figcaption></figcaption></figure>

### 5. Object Type AGS 4 PREM - Project-Specific Time-Related Remarks \[AGSPREM]

#### 5.1 General data - Project specific time related remarks - PREM

The **AGS 4 PREM object** allows users to document project‑specific, time‑dependent events such as delays, weather events, and site accessibility issues. These records form part of the project's **AGS‑compliant documentation**.

<figure><img src="/files/NEZqWLHD2G6grv3fUyyU" alt=""><figcaption></figcaption></figure>

### 6. Data types

#### 6.1 General information

There are **three types of measuring points** used in the AGS object type:

* **(AGS) Location \[AGL]**
* **(AGS) Samples \[AGS]**
* **(AGS) Screens / filter \[AGF]**

GeoDin includes **86 AGS data types**, each linked either to:

* **(AGS) Location \[AGL]**, or
* **(AGS) Samples \[AGS]**

<figure><img src="/files/zbt9TKrxLeiFfqYjE1Mx" alt=""><figcaption></figcaption></figure>

There are currently **no data types** linked to **(AGS) Screens / filter \[AGF]**.

#### Naming Pattern

Each data type follows the naming pattern:

**"(AGS) GROUPNAME"**\
Example: **"(AGS) AAVT"**

Data types may include **first-, second-, and third‑level sub data types**, which provide a more detailed structure for specific measurements.

All data types are listed in the tables below.

#### Short Name Convention

The **short name** of each data type:

* consists of **three letters**
* usually uses the **first three letters** of the AGS group name
* if two groups would have identical short names, the **third letter is replaced by the fourth** to differentiate them

#### Measurement Programs

GeoDin provides **measurement programs** for the AGS data types. These programs correspond to the AGS version in use:

* **AGS 4.1.1** (default)
* **AGS 4.0.4**

If differences exist between AGS 4.1.1 and AGS 4.0.4, GeoDin provides the corresponding version‑specific measurement program.

**6.1.1 Location data types**

A total of **28 data types** are linked to **Locations**, including **18 sub‑data types**.

<table data-header-hidden><thead><tr><th valign="bottom">Data type</th><th valign="bottom">Shortname</th><th width="198" valign="bottom">Longname</th><th valign="bottom">GeoDin Table</th><th valign="bottom">1. level sub-data type</th><th valign="bottom">2. level sub-data type</th></tr></thead><tbody><tr><td valign="bottom">(AGS) CORE</td><td valign="bottom">COR</td><td valign="bottom">Coring Information</td><td valign="bottom">CORTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) DISC</td><td valign="bottom">DIS</td><td valign="bottom">Discontinuity Data</td><td valign="bottom">DISTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) DCPG</td><td valign="bottom">DPG</td><td valign="bottom">Dynamic Cone Penetrometer Tests - General</td><td valign="bottom">DPGTAB01</td><td valign="bottom">DCPT</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) DPRG</td><td valign="bottom">DRG</td><td valign="bottom">Dynamic Probe Tests - General</td><td valign="bottom">DRGTAB01</td><td valign="bottom">DPRB</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) FGHG</td><td valign="bottom"><em>FGG</em></td><td valign="bottom"><em>Field Geohydraulic Testing - General (4.1)</em></td><td valign="bottom"><em>FGGTAB01</em></td><td valign="bottom"><p><em>FGHI</em></p><p><em>FGHS</em></p></td><td valign="bottom"><em>FGHT</em></td></tr><tr><td valign="bottom">(AGS) FRAC</td><td valign="bottom">FRA</td><td valign="bottom">Fracture Spacing</td><td valign="bottom">FRATAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ICBR</td><td valign="bottom">ICB</td><td valign="bottom">In Situ California Bearing Ratio Tests</td><td valign="bottom">ICBTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IDEN</td><td valign="bottom">IDE</td><td valign="bottom">In Situ Density Tests</td><td valign="bottom">IDETAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IFID</td><td valign="bottom">IFI</td><td valign="bottom">On Site Volatile Headspace Testing Using Flame Ionisation Detector</td><td valign="bottom">IFITAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IPEN</td><td valign="bottom">IPE</td><td valign="bottom">In Situ Hand Penetrometer Tests</td><td valign="bottom">IPETAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IPRG*</td><td valign="bottom">IPG</td><td valign="bottom">In Situ Permeability Tests - General (4.0.4)</td><td valign="bottom">IPGTAB01</td><td valign="bottom">IPRT*</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IRDX</td><td valign="bottom">IRD</td><td valign="bottom">In Situ Redox Tests</td><td valign="bottom">IRDTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IRES</td><td valign="bottom">IRE</td><td valign="bottom">In Situ Resistivity Tests</td><td valign="bottom">IRETAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ISAG</td><td valign="bottom">ISG</td><td valign="bottom">Soakaway Tests - General</td><td valign="bottom">ISGTAB01</td><td valign="bottom">ISAT</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ISPT</td><td valign="bottom">ISP</td><td valign="bottom">Standard Penetration Test Results</td><td valign="bottom">ISPTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IVAN</td><td valign="bottom">IVA</td><td valign="bottom">In Situ Vane Tests</td><td valign="bottom">IVATAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) MONG</td><td valign="bottom">MOG</td><td valign="bottom">Monitoring Installations and Instruments</td><td valign="bottom">MOGTAB01</td><td valign="bottom">MOND</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) PLTG</td><td valign="bottom">PLG</td><td valign="bottom">Plate Loading Tests - General</td><td valign="bottom">PLGTAB01</td><td valign="bottom">PLTT</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) PMTG</td><td valign="bottom">PMG</td><td valign="bottom">Pressuremeter Test Results - General</td><td valign="bottom">PMGTAB01</td><td valign="bottom"><p>PMTD</p><p>PMTL</p></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) PTIM</td><td valign="bottom">PTI</td><td valign="bottom">Boring/Drilling Progress by Time</td><td valign="bottom">PTITAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) PUMG</td><td valign="bottom">PUG</td><td valign="bottom">Pumping Tests - General</td><td valign="bottom">PUGTAB01</td><td valign="bottom">PUMT</td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) SCPG</td><td valign="bottom">SCG</td><td valign="bottom">Static Cone Penetration Tests - General</td><td valign="bottom">SCGTAB01</td><td valign="bottom"><p>SCDG</p><p>SCPP</p><p>SCPT</p></td><td valign="bottom">SCDT</td></tr><tr><td valign="bottom">(AGS) TREM</td><td valign="bottom">TRE</td><td valign="bottom">Location Specific Time Related Remarks</td><td valign="bottom">TRETAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) WADD</td><td valign="bottom">WAD</td><td valign="bottom">Water Added Records</td><td valign="bottom">WADTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) WETH</td><td valign="bottom">WET</td><td valign="bottom">Weathering</td><td valign="bottom">WETTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) WGPG</td><td valign="bottom"><em>WGG</em></td><td valign="bottom"><em>Wireline Geophysics - General (4.1)</em></td><td valign="bottom"><em>WGGTAB01</em></td><td valign="bottom"><em>WGPT</em></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) WINS</td><td valign="bottom">WIN</td><td valign="bottom">Window or Windowless Sampling Run Details</td><td valign="bottom">WINTAB01</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) WSTG</td><td valign="bottom">WSG</td><td valign="bottom">Water Strike - General</td><td valign="bottom">WSGTAB01</td><td valign="bottom">WSTD</td><td valign="bottom"></td></tr></tbody></table>

**6.1.2 Sample data types**

**58 data types** are linked to **Samples**, including **19 sub‑data types**.

<table data-header-hidden><thead><tr><th valign="bottom">Data type</th><th width="89" valign="bottom">Shortname</th><th width="289" valign="bottom">Longname</th><th valign="bottom">GeoDin Table</th><th valign="bottom">1. level sub-data type</th><th valign="bottom">2. level sub-data type</th><th valign="bottom"></th></tr></thead><tbody><tr><td valign="bottom">(AGS) AAVT</td><td valign="bottom">AAV</td><td valign="bottom">Aggregate Abrasion Tests</td><td valign="bottom">AAVTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ACVT</td><td valign="bottom">ACV</td><td valign="bottom">Aggregate Crushing Value Tests</td><td valign="bottom">ACVTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) AELO</td><td valign="bottom">AEL</td><td valign="bottom">Aggregate Elongation Index Tests</td><td valign="bottom">AELTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) AFLK</td><td valign="bottom">AFL</td><td valign="bottom">Aggregate Flakiness Tests</td><td valign="bottom">AFLTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) AIVT</td><td valign="bottom">AIV</td><td valign="bottom">Aggregate Impact Value Tests</td><td valign="bottom">AIVTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ALOS</td><td valign="bottom">ALO</td><td valign="bottom">Los Angeles Abrasion Tests</td><td valign="bottom">ALOTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) APSV</td><td valign="bottom">APS</td><td valign="bottom">Aggregate Polished Stone Tests</td><td valign="bottom">APSTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ARTW</td><td valign="bottom">ART</td><td valign="bottom">Aggregate Determination of the Resistance to Wear (micro-Deval)</td><td valign="bottom">ARTTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ASDI</td><td valign="bottom">ASD</td><td valign="bottom">Slake Durability Index Tests</td><td valign="bottom">ASDTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ASNS</td><td valign="bottom">ASN</td><td valign="bottom">Aggregate Soundness Tests</td><td valign="bottom">ASNTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) AWAD</td><td valign="bottom">AWA</td><td valign="bottom">Aggregate Water Absorption Tests</td><td valign="bottom">AWATAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) CBRG</td><td valign="bottom">CBG</td><td valign="bottom">California Bearing Ratio Tests - General</td><td valign="bottom">CBGTAB01</td><td valign="bottom">CBRT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) CHOC</td><td valign="bottom">CHO</td><td valign="bottom">Chain of Custody Information</td><td valign="bottom">CHOTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) CMPG</td><td valign="bottom">CMG</td><td valign="bottom">Compaction Tests - General</td><td valign="bottom">CMGTAB01</td><td valign="bottom">CMPT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) CONG</td><td valign="bottom">COG</td><td valign="bottom">Consolidation Tests - General</td><td valign="bottom">COGTAB01</td><td valign="bottom">CONS</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) CTRG</td><td valign="bottom"><em>CTG</em></td><td valign="bottom"><em>Cyclic Triaxial Tests - General (4.1)</em></td><td valign="bottom"><em>CTGTAB01</em></td><td valign="bottom"><p><em>CTRC</em></p><p><em>CTRS</em></p></td><td valign="bottom"><em>CTRP</em></td><td valign="bottom"><em>CTRD</em></td></tr><tr><td valign="bottom">(AGS) ECTN</td><td valign="bottom"><em>ECT</em></td><td valign="bottom"><em>Sample Container Details (4.1)</em></td><td valign="bottom"><em>ECTTAB01</em></td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ELRG</td><td valign="bottom"><em>ELR</em></td><td valign="bottom"><em>Environmental Laboratory Reporting (4.1)</em></td><td valign="bottom"><em>ELRTAB01</em></td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ERES*</td><td valign="bottom">ERE</td><td valign="bottom">Environmental Contaminant Testing (4.0.4)</td><td valign="bottom">ERETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) ESCG</td><td valign="bottom">ESG</td><td valign="bottom">Effective Stress Consolidation Tests - General</td><td valign="bottom">ESGTAB01</td><td valign="bottom">ESCT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) FRST</td><td valign="bottom">FRS</td><td valign="bottom">Frost Susceptibility Tests</td><td valign="bottom">FRSTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) GCHM</td><td valign="bottom">GCM</td><td valign="bottom">Geotechnical Chemistry Testing</td><td valign="bottom">GCMTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) GRAG</td><td valign="bottom">GRG</td><td valign="bottom">Particle Size Distribution Analysis - General</td><td valign="bottom">GRGTAB01</td><td valign="bottom">GRAT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) IPID</td><td valign="bottom">IPI</td><td valign="bottom">On Site Volatile Headspace Testing by Photo Ionisation Detector</td><td valign="bottom">IPITAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LBST</td><td valign="bottom">LBT</td><td valign="bottom">Testing Schedule Details</td><td valign="bottom">LBTTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LDEN</td><td valign="bottom">LDE</td><td valign="bottom">Density Tests</td><td valign="bottom">LDETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LDYN</td><td valign="bottom">LDY</td><td valign="bottom">Dynamic Testing</td><td valign="bottom">LDYTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom"><em>(AGS) LFCN</em></td><td valign="bottom"><em>LFC</em></td><td valign="bottom"><em>Laboratory Fall Cone Tests (4.1)</em></td><td valign="bottom"><em>LFCTAB01</em></td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LLIN</td><td valign="bottom">LLI</td><td valign="bottom">Linear Shrinkage Tests</td><td valign="bottom">LLITAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LLPL</td><td valign="bottom">LLP</td><td valign="bottom">Liquid and Plastic Limit Tests</td><td valign="bottom">LLPTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LNMC</td><td valign="bottom">LNM</td><td valign="bottom">Water/Moisture Content Tests</td><td valign="bottom">LNMTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LPDN</td><td valign="bottom">LPD</td><td valign="bottom">Particle Density Tests</td><td valign="bottom">LPDTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LPEN</td><td valign="bottom">LPE</td><td valign="bottom">Laboratory Hand Penetrometer Tests</td><td valign="bottom">LPETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LRES</td><td valign="bottom">LRE</td><td valign="bottom">Laboratory Resistivity Tests</td><td valign="bottom">LRETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LSTG</td><td valign="bottom">LSG</td><td valign="bottom">Initial Consumption of Lime Tests - General</td><td valign="bottom">LSGTAB01</td><td valign="bottom">LSTT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LSLT</td><td valign="bottom">LSL</td><td valign="bottom">Shrinkage Limit Tests</td><td valign="bottom">LSLTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LSWL</td><td valign="bottom">LSW</td><td valign="bottom">Swelling Index Testing</td><td valign="bottom">LSWTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom"><em>(AGS) LTCH</em></td><td valign="bottom"><em>LTC</em></td><td valign="bottom"><em>Laboratory Thermal Conductivity (4.1)</em></td><td valign="bottom"><em>LTCTAB01</em></td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LUCT</td><td valign="bottom"><em>LUC</em></td><td valign="bottom"><em>Laboratory Unconfined Compression Test (4.1)</em></td><td valign="bottom"><em>LUCTAB01</em></td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) LVAN</td><td valign="bottom">LVA</td><td valign="bottom">Laboratory Vane Tests</td><td valign="bottom">LVATAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) MCVG</td><td valign="bottom">MCG</td><td valign="bottom">MCV Tests - General</td><td valign="bottom">MCGTAB01</td><td valign="bottom">MCVT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) PTST</td><td valign="bottom">PTS</td><td valign="bottom">Laboratory Permeability Tests</td><td valign="bottom">PTSTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RCAG</td><td valign="bottom"><em>RAG</em></td><td valign="bottom"><em>Rock Abrasiveness Tests - General (4.1)</em></td><td valign="bottom"><em>RAGTAB01</em></td><td valign="bottom"><em>RCAT</em></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RESG</td><td valign="bottom"><em>RCG</em></td><td valign="bottom"><em>Resonant Column Test - General (4.1)</em></td><td valign="bottom"><em>RCGTAB01</em></td><td valign="bottom"><p><em>RESC</em></p><p><em>RESD</em></p><p><em>RESS</em></p></td><td valign="bottom"><em>RESP</em></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RCCV</td><td valign="bottom">RCV</td><td valign="bottom">Chalk Crushing Value Tests</td><td valign="bottom">RCVTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RDEN</td><td valign="bottom">RDE</td><td valign="bottom">Rock Porosity and Density Tests</td><td valign="bottom">RDETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RELD</td><td valign="bottom">REL</td><td valign="bottom">Relative Density Tests</td><td valign="bottom">RELTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RPLT</td><td valign="bottom">RPL</td><td valign="bottom">Point Load Testing</td><td valign="bottom">RPLTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RSCH</td><td valign="bottom">RSC</td><td valign="bottom">Schmidt Rebound Hardness Tests</td><td valign="bottom">RSCTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RSHR</td><td valign="bottom">RSH</td><td valign="bottom">Shore Scleroscope Hardness Tests</td><td valign="bottom">RSHTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RTEN</td><td valign="bottom">RTE</td><td valign="bottom">Tensile Strength Testing</td><td valign="bottom">RTETAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RUCS</td><td valign="bottom">RUC</td><td valign="bottom">Rock Uniaxial Compressive Strength and Deformability Tests</td><td valign="bottom">RUCTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) RWCO</td><td valign="bottom">RWC</td><td valign="bottom">Water Content of Rock Tests</td><td valign="bottom">RWCTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) SHBG</td><td valign="bottom">SHG</td><td valign="bottom">Shear Box Testing - General</td><td valign="bottom">SHGTAB01</td><td valign="bottom">SHBT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) SUCT</td><td valign="bottom">SUC</td><td valign="bottom">Suction Tests</td><td valign="bottom">SUCTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) TREG</td><td valign="bottom">TEG</td><td valign="bottom">Triaxial Tests - Effective Stress - General</td><td valign="bottom">TEGTAB01</td><td valign="bottom">TRET</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) TRIG</td><td valign="bottom">TIG</td><td valign="bottom">Triaxial Tests - Total Stress - General</td><td valign="bottom">TIGTAB01</td><td valign="bottom">TRIT</td><td valign="bottom"></td><td valign="bottom"></td></tr><tr><td valign="bottom">(AGS) TNPC</td><td valign="bottom">TNP</td><td valign="bottom">Ten Per Cent Fines</td><td valign="bottom">TNPTAB01</td><td valign="bottom"></td><td valign="bottom"></td><td valign="bottom"></td></tr></tbody></table>

**6.1.3 List of sub-data types**

<table data-header-hidden><thead><tr><th width="109" valign="bottom">Sub-data type</th><th width="247" valign="bottom">Longname</th><th width="239" valign="bottom">Group name</th><th valign="bottom">GeoDin Table</th></tr></thead><tbody><tr><td valign="bottom">CBT</td><td valign="bottom">(CBRT) California Bearing Ratio Tests - Data</td><td valign="bottom">California Bearing Ratio Tests - Data</td><td valign="bottom">CBTTAB01</td></tr><tr><td valign="bottom">CMT</td><td valign="bottom">(CMPT) Compaction Tests - Data</td><td valign="bottom">Compaction Tests - Data</td><td valign="bottom">CMTTAB01</td></tr><tr><td valign="bottom">COS</td><td valign="bottom">(CONS) Consolidation Tests - Data</td><td valign="bottom">Consolidation Tests - Data</td><td valign="bottom">COSTAB01</td></tr><tr><td valign="bottom"><em>CTC</em></td><td valign="bottom"><em>(CTRC) Cyclic Triaxial Tests - Consolidation</em></td><td valign="bottom"><em>Cyclic Triaxial Tests - Consolidation (4.1)</em></td><td valign="bottom"><em>CTCTAB01</em></td></tr><tr><td valign="bottom"><em>CTD</em></td><td valign="bottom"><em>(CTRD) Cyclic Triaxial Tests - Data</em></td><td valign="bottom"><em>Cyclic Triaxial Tests - Data (4.1)</em></td><td valign="bottom"><em>CTDTAB01</em></td></tr><tr><td valign="bottom"><em>CTP</em></td><td valign="bottom"><em>(CTRP) Cyclic Triaxial Tests - Derived Parameters</em></td><td valign="bottom"><em>Cyclic Triaxial Tests - Derived Parameters (4.1)</em></td><td valign="bottom"><em>CTPTAB01</em></td></tr><tr><td valign="bottom"><em>CTS</em></td><td valign="bottom"><em>(CTRS) Cyclic Triaxial Tests - Saturation</em></td><td valign="bottom"><em>Cyclic Triaxial Tests - Saturation (4.1)</em></td><td valign="bottom"><em>CTSTAB01</em></td></tr><tr><td valign="bottom">DPT</td><td valign="bottom">(DCPT) Dynamic Cone Penetrometer Tests - Data</td><td valign="bottom">Dynamic Cone Penetrometer Tests - Data</td><td valign="bottom">DPTTAB01</td></tr><tr><td valign="bottom">DRB</td><td valign="bottom">(DPRB) Dynamic Probe Tests - Data</td><td valign="bottom">Dynamic Probe Tests - Data</td><td valign="bottom">DRBTAB01</td></tr><tr><td valign="bottom">EST</td><td valign="bottom">(ESCT) Effective Stress Consolidation Tests - Data</td><td valign="bottom">Effective Stress Consolidation Tests - Data</td><td valign="bottom">ESTTAB01</td></tr><tr><td valign="bottom"><em>FGI</em></td><td valign="bottom"><em>(FGHI) Field Geohydraulic Testing - Instrumentation Details</em></td><td valign="bottom"><em>Field Geohydraulic Testing - Instrumentation Details (4.1)</em></td><td valign="bottom"><em>FGITAB01</em></td></tr><tr><td valign="bottom"><em>FGS</em></td><td valign="bottom"><em>(FGHS) Field Geohydraulic Testing - Test Results (per stage)</em></td><td valign="bottom"><em>Field Geohydraulic Testing - Test Results (per stage) (4.1)</em></td><td valign="bottom"><em>FGSTAB01</em></td></tr><tr><td valign="bottom"><em>FGT</em></td><td valign="bottom"><em>(FGHT) Field Geohydraulic Testing - Test Results</em></td><td valign="bottom"><em>Field Geohydraulic Testing - Test Results (4.1)</em></td><td valign="bottom"><em>FGTTAB01</em></td></tr><tr><td valign="bottom">GRT</td><td valign="bottom">(GRAT) Particle Size Distribution Analysis - Data</td><td valign="bottom">Particle Size Distribution Analysis - Data</td><td valign="bottom">GRTTAB01</td></tr><tr><td valign="bottom">IPT*</td><td valign="bottom">(IPRT) In Situ Permeability Tests - Data</td><td valign="bottom">In Situ Permeability Tests - Data (4.0.4)</td><td valign="bottom">IPTTAB01</td></tr><tr><td valign="bottom">IST</td><td valign="bottom">(ISAT) Soakaway Tests - Data</td><td valign="bottom">Soakaway Tests - Data</td><td valign="bottom">ISTTAB01</td></tr><tr><td valign="bottom">LST</td><td valign="bottom">(LSTT) Initial Consumption of Lime Tests - Data</td><td valign="bottom">Initial Consumption of Lime Tests - Data</td><td valign="bottom">LSTTAB01</td></tr><tr><td valign="bottom">MCT</td><td valign="bottom">(MCVT) MCV Tests - Data</td><td valign="bottom">MCV Tests - Data</td><td valign="bottom">MCTTAB01</td></tr><tr><td valign="bottom">MOD</td><td valign="bottom">(MOND) Monitoring Readings</td><td valign="bottom">Monitoring Readings</td><td valign="bottom">MODTAB01</td></tr><tr><td valign="bottom">PLT</td><td valign="bottom">(PLTT) Plate Loading Tests - Data</td><td valign="bottom">Plate Loading Tests - Data</td><td valign="bottom">PLTTAB01</td></tr><tr><td valign="bottom">PMD</td><td valign="bottom">(PMTD) Pressuremeter Test - Data</td><td valign="bottom">Pressuremeter Test Results - Data</td><td valign="bottom">PMDTAB01</td></tr><tr><td valign="bottom">PML</td><td valign="bottom">(PMTL) Pressuremeter Test Results - Individual Loops</td><td valign="bottom">Pressuremeter Test Results - Individual Loops</td><td valign="bottom">PMLTAB01</td></tr><tr><td valign="bottom">PUT</td><td valign="bottom">(PUMT) Pumping Tests - Data</td><td valign="bottom">Pumping Tests - Data</td><td valign="bottom">PUTTAB01</td></tr><tr><td valign="bottom"><em>RAT</em></td><td valign="bottom"><em>(RCAT) Rock Abrasiveness Tests - Data</em></td><td valign="bottom"><em>Rock Abrasiveness Tests - Data (4.1)</em></td><td valign="bottom"><em>RATTAB01</em></td></tr><tr><td valign="bottom"><em>RCC</em></td><td valign="bottom"><em>(RESC) Resonant Column Tests - Consolidation</em></td><td valign="bottom"><em>Resonant Column Test - Consolidation (4.1)</em></td><td valign="bottom"><em>RCCTAB01</em></td></tr><tr><td valign="bottom"><em>RCD</em></td><td valign="bottom"><em>(RESD) Resonant Column Tests - Data</em></td><td valign="bottom"><em>Resonant Column Test - Data (4.1)</em></td><td valign="bottom"><em>RCDTAB01</em></td></tr><tr><td valign="bottom"><em>RCP</em></td><td valign="bottom"><em>(RESP) Resonant Column Tests - Derived Parameters</em></td><td valign="bottom"><em>Resonant Column Test - Derived Parameters (4.1)</em></td><td valign="bottom"><em>RCPTAB01</em></td></tr><tr><td valign="bottom"><em>RCS</em></td><td valign="bottom"><em>(RESS) Resonant Column Tests - Saturation</em></td><td valign="bottom"><em>Resonant Column Test - Saturation (4.1)</em></td><td valign="bottom"><em>RCSTAB01</em></td></tr><tr><td valign="bottom">SCP</td><td valign="bottom">(SCPP) Static Cone Penetration Tests - Derived Parameters</td><td valign="bottom">Static Cone Penetration Tests - Derived Parameters</td><td valign="bottom">SCPTAB01</td></tr><tr><td valign="bottom">SCT</td><td valign="bottom">(SCPT) Static Cone Penetration Tests - Data</td><td valign="bottom">Static Cone Penetration Tests - Data</td><td valign="bottom">SCTTAB01</td></tr><tr><td valign="bottom">SDG</td><td valign="bottom">(SCDG) Static Cone Dissipation Tests - General</td><td valign="bottom">Static Cone Dissipation Tests - General</td><td valign="bottom">SDGTAB01</td></tr><tr><td valign="bottom">SDT</td><td valign="bottom">(SCDT) Static Cone Dissipation Tests - Data</td><td valign="bottom">Static Cone Dissipation Tests - Data</td><td valign="bottom">SDTTAB01</td></tr><tr><td valign="bottom">SHT</td><td valign="bottom">(SHBT) Shear Box Testing - Data</td><td valign="bottom">Shear Box Testing - Data</td><td valign="bottom">SHTTAB01</td></tr><tr><td valign="bottom">TET</td><td valign="bottom">(TRET) Triaxial Tests - Effective Stress - Data</td><td valign="bottom">Triaxial Tests - Effective Stress - Data</td><td valign="bottom">TETTAB01</td></tr><tr><td valign="bottom">TIT</td><td valign="bottom">(TRIT) Triaxial Tests - Total Stress - Data</td><td valign="bottom">Triaxial Tests - Total Stress - Data</td><td valign="bottom">TITTAB01</td></tr><tr><td valign="bottom"><em>WGT</em></td><td valign="bottom"><em>(WGPT) Wireline Geophysics - Readings</em></td><td valign="bottom"><em>Wireline Geophysics - Readings (4.1)</em></td><td valign="bottom"><em>WGTTAB01</em></td></tr><tr><td valign="bottom">WSD</td><td valign="bottom">(WSTD) Water Strike - Details</td><td valign="bottom">Water Strike - Details</td><td valign="bottom">WSDTAB01</td></tr></tbody></table>

### 7. Installation of the Plugins for Import and Export of AGS Files

Users can install plugins on the **System** side of GeoDin, as shown below. By pressing the **Connecting** button, GeoDin displays a list of all **available plugins**.

If a plugin is already installed, it appears under **Installed plugins**.

<figure><img src="/files/LWggokkqQ1v9dzWctsEv" alt=""><figcaption></figcaption></figure>

#### **System Requirements**

* **GeoDin version 15.4 or higher**
* **.NET 8 Desktop Runtime or higher**

Users running **GeoDin versions 15.0 to 15.3** can update **GeoDin** by using the **"Update GeoDin"** function on the **System** page.

<figure><img src="/files/ypuS6BjU5WZXbTB4bXkX" alt=""><figcaption></figcaption></figure>

When the AGS plugins are started and the required .NET runtime is not already installed, a message is displayed informing the user that the .NET Desktop Runtime must be downloaded and installed first. If the user confirms the prompt by selecting "Yes", they are automatically redirected to the official [Microsoft download](https://dotnet.microsoft.com/en-us/download/dotnet) page. From there, the user can download and install the required .NET Desktop Runtime to proceed with the plugin import/export process.

<figure><img src="/files/Q4OM83BZwwJ2o9jg7QO6" alt=""><figcaption></figcaption></figure>

#### 7.1 General

GeoDin stores dictionary entries as **long texts** in the database. During **import**, the GeoDin dictionaries are checked, and the corresponding long texts are written into the GeoDin database. During **export**, the exporter reviews the database contents and writes the appropriate **codes** into the AGS file.

Some official AGS codes contain **spaces and colons**, which are **not permitted** in GeoDin dictionaries.\
To address this:

* In GeoDin dictionaries, **spaces are replaced with underscores (\_)**.
* In GeoDin dictionaries, **colons are replaced with minus symbol (-)**.
* During **import**, the importer converts AGS codes by replacing spaces with underscores.
* During **export**, the exporter converts underscores **back to spaces** to generate **PA entries** that comply with the AGS standard.

#### 7.2 AGS Importer

<figure><img src="/files/nW8QXPHogUu1VKhfHVJ6" alt=""><figcaption></figcaption></figure>

The AGS Importer is available at the level of an open GeoDin database and at the level of a GeoDin project.

{% hint style="danger" %}
Note: The AGS Importer can automatically create the required database tables for AGS object types only when using a **Microsoft Access database** in GeoDin.\
If you are working with a **client-server database** and the AGS object types have not yet been registered, you must first create these tables manually via GeoDin. Ensure that the relevant user has **permission to create tables** in the client-server database.
{% endhint %}

**Creating AGS Database Tables in a Client-Server Database**

1. In GeoDin, Open a project in your client-server database and go to the "Objects" node. Start the "New object" method.
2. Select the object type "AGS 4" \[AGSSTAND] and confirm with "OK". GeoDin will now create the corresponding tables in your client-server database.\
   You may cancel the data entry afterwards by clicking the "Cancel edits" button (prohibition sign).
3. Repeat the process for the following object types to create all necessary AGS tables:
   * "AGS 4 LBSG - Testing schedule" \[AGSLBSG]
   * "AGS 4 PREM - Project specific time related remarks" \[AGSPREM]

These steps only need to be performed once per client-server database.

After all required tables have been created, you can proceed with the AGS import using the AGS Importer.

**The AGS Importer guides users through a four‑step process:**

**Step 1** **- AGS Import configuration:** The user can choose between the standard formats AGS 4.1.1 or AGS 4.0.4. Information about the standard can be found in the TRAN group in the TRAN\_AGS parameter of the AGS import files.

Checkbox: "Update existing data with uploaded AGS."

* [x] If all key fields are filled in, existing data will be replaced with the current data record.
* [ ] If all key fields are filled in, existing data will NOT be replaced with the current data set.

Empty key fields lead to multiple imports because no comparison can take place.

Checkbox: "Ignore AGS project identifiers."

* [x] Import the data into the selected project without comparing the PROJ group.

<figure><img src="/files/vOdrBVdGL3aCpFW3l1cN" alt=""><figcaption></figcaption></figure>

**Step 2 - File selection:** The user selects the AGS file(s) to be imported. It is possible to import multiple AGS files at the same time.

Importing multiple files for the same object:

1\. If the data within the AGS files differs, the data from the last file will be written, provided that the checkbox "Update existing data with uploaded AGS" is selected.

2\. If the checkbox is not selected, the data from the first file will be written to the database. The data from the following files will then no longer be written to the database unless the parameter is not yet assigned.

<figure><img src="/files/mRWK2XkBrO2kfmy3I3pZ" alt=""><figcaption></figcaption></figure>

**Step 3 - Validation:** Before importing, a validator checks the AGS file and issues warnings if there are any problems. In this case, importing is not possible, and the file must first be modified to comply with the standard and the import process restarted.

<figure><img src="/files/MFpFJmTnXz05a8ocKqbV" alt=""><figcaption></figcaption></figure>

**Step 4 - Import:** The database structure is written during the first import after creating a GeoDin database. Warnings can be output as a list after the import has been completed (e.g. dictionary entry does not exist in GeoDin).

Warning can be saved as a list for review.

<figure><img src="/files/5iUddZzdhsXofG8joCpq" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/wmFmjmg8i0FSt1noEH46" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/irTsEvXZlEI5SMZydue7" alt=""><figcaption></figcaption></figure>

#### 7.3 AGS Exporter

The AGS Exporter is available at the level of a GeoDin project. Starting the method you can navigate thru the plugin.

<figure><img src="/files/w478rRi9ornfV1VibAir" alt=""><figcaption></figcaption></figure>

The AGS Exporter creates a fully validated AGS file.

**Step 1 - Select objects:** The tool is loading all objects from the project. You can select all locations, deselect or filter by the object name. Once selected, the user can go to the next step.

It is important that the user selects not only the LOCA objects, but also the corresponding PREM and LBSG objects for the export.

<figure><img src="/files/jGW2Sp9ihpSPg695bm6p" alt=""><figcaption></figcaption></figure>

**Step 2 - AGS export configuration:** The user must choose the AGS export configuration. The Standards AGS 4.0.4 and AGS 4.1.1 are available. By choosing one standard, all parameters according to the standard are exported. Currently, it is not possible to export user-defined parameters from data types. The user can also choose AGS groups for the export. By default, all groups are exported.

A check mark can be used to remove empty headings if the lines do not contain any data.

<figure><img src="/files/XqI6jZwglsat6EDRvnk8" alt=""><figcaption></figcaption></figure>

**Step 3 - Project details:** The user must insert mandatory project details for the AGS Export, like project identifier \[PROJ\_ID] (PRJ\_ALIAS in GeoDin) and Project name \[PROJ\_NAME] (PRJ\_NAME in GeoDin and read-only). These fields are marked with a star, read from the GeoDin database and can be changed by the user. All other fields are optional.

The PROJ group must be filled in by the user because most of the data (Headings) are not stored in GeoDin: Location of site \[PROJ\_LOC], Client name \[PROJ\_CLNT], Contractors name \[PROJ\_CONT], Project Engineer \[PROJ\_ENG], General project comments \[PROJ\_MEMO]

<figure><img src="/files/knBEDgdWXOkpkWimOXjP" alt=""><figcaption></figcaption></figure>

**Step 4 - Transmission details:** In the next, the user must insert the transmission details, like Producer \[TRAN\_PROD], Issue sequence reference \[TRAN\_ISNO], Recipient \[TRAN\_RECV] and Transmission status \[TRAN\_STAT]. The two fields Description \[TRAN\_DESC] and Remarks \[TRAN\_REM] are optional fields. The AGS Edition Reference \[TRAN\_AGS] is read from the Step 2 (AGS export configuration) and can only be changed by the user in Step 2.

The TRAN group must be filled in by the user because the data is not stored in GeoDin. Mandatory fields marked with \* are filled in automatically and can be changed by the user.

By clicking on the Export button, the user must choose the path and the name for the export file.

<figure><img src="/files/UMbkLA3SwNmP8eliRoL8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jXTj9Nt21gulcnyDbFgR" alt=""><figcaption></figcaption></figure>

**Step 5 - Export:** The export starts automatically. Once the export has been successfully completed, the user is provided with a link to the AGS export file. Clicking on the link, the file is shown in an editor.

<figure><img src="/files/6THfInC1qan0Fjg4nU3e" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/IMlKpZQZESGZGnzeiJHr" alt=""><figcaption></figcaption></figure>

During the export, the file is validated. Any deviations from the AGS standard are listed.

<figure><img src="/files/Qc9f8udDuafKUsEy4DZN" alt=""><figcaption></figcaption></figure>

If an error is detected, the export is aborted with the error message: "The export could not be completed." Example: The database contains data for version 4.1.1 and is exported as format 4.0.4

<figure><img src="/files/5EyK8T2hYRk1SPUzih2v" alt=""><figcaption></figcaption></figure>


# (G1) Location


# (KA6) Bodenkundlicher Aufschluss

Introduced in GeoDin 15.6 (release 15.6.6.125, June 2026), the KA6 object type supports the 6th edition of the German Soil Survey Guidelines (Bodenkundliche Kartieranleitung, KA6), mandatory in Germany since July 2024. It covers diagnostic horizons, revised horizon symbols, the extended substrate system, and the new soil types defined by KA6. Projects following the 5th edition can continue to use the existing KA5 support.

{% hint style="info" %}
**German-market resources (Deutsch)**

* [Bodenkundlicher Aufschluss nach KA5](https://support.geodin.com/hc/de/articles/360016072780-Bodenkundlicher-Aufschluss-nach-KA5)
* [Bodenkundlicher Aufschluss nach KA6](https://support.geodin.com/hc/de/articles/28347769127196-Bodenkundlicher-Aufschluss-nach-KA6)
  {% endhint %}


# Geotechnical Investigation EN ISO 22475

This object type supports standardized documentation of **geological and geotechnical investigations** in accordance with **EN ISO 22475** and related standards. It is designed for recording boreholes, groundwater monitoring points, and wells, including associated field and laboratory data.

## Overview

The object type **"Geotechnical Investigation EN ISO 22475 (2018)"** is a further development of the earlier **2007 version**. It enables comprehensive acquisition, evaluation, and graphical representation of geotechnical data using standardized input forms, dictionaries, layouts, and database structures.

For current projects, the **2018 object type \[ENISO002]** is recommended and is provided to all GeoDin users via the GeoDin server.

<figure><img src="/files/JH7wRnO4z6LcEeYSuaNo" alt=""><figcaption><p>The Geotechnical Investigation EN ISO 22475 (2018) object type open in GeoDin - the General data input form (Borehole tab) on the left, with the map preview of the borehole location below.</p></figcaption></figure>

## Working with the object type

### Detailed soil and rock description

Soil and rock characteristics can be recorded in detail using dedicated input forms, including:

* Discontinuities
* Degree of decomposition
* Consistency
* Degree of weathering
* Rock strength
* Rock quality
* Cored section boundaries

These forms are available in **German/Austrian and English**.

<figure><img src="/files/6rUegaC5iNnu9PNqm6rY" alt=""><figcaption><p>Layer data with selection dialogue of additional input forms for the acquisition of discontinuities, degree of decomposition, etc.</p></figcaption></figure>

### Advanced layer data handling

Layer data include selection dialogs that provide access to additional input forms for detailed geological descriptions, ensuring consistent and standardized data entry.

### Standard-compliant layouts

Predesigned layouts allow output in accordance with:

* **DIN 4943**
* **EN ISO 22475**
* **EN ISO 14688**
* **EN ISO 14689**

Geological fill patterns comply with:

* **DIN 4023**
* **ÖNORM EN ISO 14688/14689**
* **BS 5930‑1990**

<figure><img src="/files/pHCdpYOV8sGXL6UHevdU" alt=""><figcaption><p>GeoDin layout for the visualisation of a trial pit according to ÖNORM.</p></figcaption></figure>

<figure><img src="/files/oJV83r55dX7smd82GUmt" alt=""><figcaption><p>GeoDin layout for the output of bore hole logs according to EN ISO 14688/89.</p></figcaption></figure>

<figure><img src="/files/O8kNlxaZbgJbh2578suz" alt=""><figcaption><p>GeoDin layout for visualisation of drilling profile and well design in according to DIN 4943.</p></figcaption></figure>

### Visualization outputs

Available layouts include:

* Trial pit visualization (ÖNORM)
* Borehole logs according to EN ISO 14688/14689
* Drilling profiles and well design according to DIN 4943

## Technical notes and compatibility

* The object type uses the **new descriptor (E2)** due to technical adjustments.
* Full functionality is available **from GeoDin version 9 onwards**.
* The object type is **not downward compatible** with earlier GeoDin versions.

### Recording groundwater levels

For the object types **"Geotechnical Investigation EN ISO 22475 (2007/2018)"** \[ENISOBOR/ENISO002], groundwater levels are entered in a dedicated table rather than in the layer log (as is standard for the SEP1 standard).

To record groundwater levels:

1. Start the **Data management** method.
2. Select the **Bescheide, Grundwasser** or **Grundwasser** button (depending on your GeoDin version) in the upper toolbar.
3. If the groundwater table is not displayed, click **Choose table** in the right-hand toolbar.
4. Select **Groundwater** in the list and confirm with **OK**.

The location of the groundwater table differs by version: up to GeoDin 8 it appears under the object type "Geotechnical Investigation EN ISO 22475 (2007)" \[ENISOBOR]; from GeoDin 9.0 onward it appears under "Geotechnical Investigation EN ISO 22475 (2018)" \[ENISO002].

The SEP3 borehole database object type records groundwater levels the same way. German-speaking users can find the full SEP3 guidance in the German Help Center article [Grundwasserstaende erfassen bei EN ISO 22475 und SEP3 (Deutsch)](https://support.geodin.com/hc/de/articles/360002091174).

***

## Reference: Standards and normative references

The object type is based on the following standards:

* **DIN / ÖNORM EN ISO 22475 (2007/2006)**
* **DIN / ÖNORM / SN EN ISO 14688‑1 / 14688‑2**
* **DIN / ÖNORM / SN EN ISO 14689 (2020)**
* **DIN 4943 (2013)**

These standards define the structure, terminology, symbols, and layouts used for soil and rock description, borehole logging, and well documentation.

## Reference: Supported data and checklist

The object type includes the following main data categories:

### General data

* Project and location data
* Map preview
* Extended general data according to **DIN 4943**

### Layer data

* Stratigraphy
* Discontinuities
* Degree of decomposition
* Consistency
* Degree of weathering
* Rock strength
* Rock quality
* Cored section boundaries

### Sample data

* Field and laboratory samples
* Documentation of test results

### Well and groundwater data

* Well design
* Groundwater monitoring points
* Filter and screen information
* Backfill and casing details

### Data sequences

* In-situ tests such as:
  * CPT
  * SPT
* Other measurement sequences

### Additional data

* Official notifications
* Bilingual geological standard (German / English)
* Customizable dictionaries and input forms

<figure><img src="/files/UKQkKkwz8WkBSi7H9cgT" alt=""><figcaption><p>Additional general data according to DIN 4943.</p></figcaption></figure>

## Reference: Application areas

The object type is commonly used in:

* Geology
* Environmental geology
* Geotechnics
* Civil engineering
* Documentation and graphical representation of:
  * Boreholes
  * Wells
  * Groundwater monitoring points

Field and laboratory investigation results used to assess soil suitability for construction purposes can be documented using dedicated data types.

## Reference: Database tables (selection)

The following database tables are used by the object type:

* **GEODIN\_LOC\_E2GENER** - General data
* **GEODIN\_LOC\_E2LAYER** - Layer data
* **GEODIN\_LOC\_E2STRATI** - Stratigraphy
* **GEODIN\_LOC\_E2TF** - Discontinuities
* **GEODIN\_LOC\_E2TFNAB** - Discontinuities (standard distances)
* **GEODIN\_LOC\_E2RMZ** - Degree of decomposition
* **GEODIN\_LOC\_E2RMLK** - Consistency
* **GEODIN\_LOC\_E2RMV** - Degree of weathering
* **GEODIN\_LOC\_E2RMGF** - Rock strength
* **GEODIN\_LOC\_E2RMFQ** - Rock quality
* **GEODIN\_LOC\_E2RMKM** - Cored section boundaries
* **GEODIN\_LOC\_E2SAMPLE** - Sample data
* **GEODIN\_LOC\_E2GWATER** - Groundwater data
* **GEODIN\_LOC\_E2BESCH** - Official notifications
* **GEODIN\_LOC\_E2WDGEN** - Well design: general data
* **GEODIN\_LOC\_E2WDHOLE** - Well design: borehole
* **GEODIN\_LOC\_E2WDCAS** - Well design: casing/screens
* **GEODIN\_LOC\_E2WDFILD** - Filter/screen information
* **GEODIN\_LOC\_E2WDBCKF** - Well design: backfill
* **GEODIN\_LOC\_E2WDFLUI** - Well design: flushing
* **GEODIN\_LOC\_E2WDSPCL** - Well design: special features
* **GEODIN\_LOC\_E2DSREG** - Register of data sequences


# Versions 9.0.6 and 9.0.7 - General Adaptations

General Adaptations - Versions 9.0.6 and 9.0.7

With the release of object type versions **9.0.6** and **9.0.7**, both major and minor adjustments were made to the object type **Geotechnical Investigation EN ISO 22475 (2018)** \[ENISO002] and its associated geotechnical data types.

These changes include:

* Adaptations to **DIN 18196 (2023)**
* Adaptations to **DIN 4023 (2023)**
* Improvements to dictionaries, layouts, visualization, data input, and output formats

This page describes the **general adaptations** to the object type.\
\
[Structural changes to geotechnical data types](/object-types/geotechnical-investigation-en-iso-22475/versions-9.0.6-and-9.0.7-structural-changes) are documented separately and should be reviewed **before updating**.

***

## Reference: Corrections

### Adjustment of the Output for System Variables

The output of the system variables:

* `$TRPLUS` (+ / and)
* `$TRMINUS` (− / to)

is now displayed **without inverted commas**.

### Discontinuities

* Multiple keys can now be entered in the field **Roughness (TF\_RAUIG)**

**Screenshot placeholder:**\
`E2_discontinuities_roughness.png`

* The default value for the input field **Type of structure (TYP\_TF)** has been removed\
  This enables the deletion of an existing layer.

<figure><img src="/files/nTUOxdkiqABx3r6wfQDO" alt=""><figcaption><p>The Discontinuities input form, with multiple keys (<code>e,r</code>) entered in the <strong>Roughness</strong> field - the resulting "planar, rough" description appears in the layer summary bar.</p></figcaption></figure>

## Reference: Adaptations to DIN standards

### Adaptation to DIN 18196 (2023)

#### Soil Groups

Three new soil groups according to **DIN 18169 (2023)** have been added to the dictionary:

**Dictionary:** `(E2) Soil group` \[E2BOHGR]

* Large boulders (BG)
* Boulders (BL)
* Cobbles (BS)

### Adaptation to DIN 4023 (2023)

#### Adaptation of Dictionaries for Major and Secondary Components

**Major Components**

**Dictionary:** `(E2) Major components` \[E2PSTYPE]

The following changes were implemented:

* Added entries:
  * *coarse silt*
  * *large boulder*
* Standard text for **organic soil \[EN ISO]** changed from `OR` to `O`\
  (only for the standard **DIN EN ISO (deutsch)**)
* English translation for **DIN EN ISO (deutsch)** adapted\
  (previously displayed in capital letters)

![](/files/yKBuHcXWQVs5KC6Xs1S8)

**Secondary Components**

**Dictionary:** `(E2) Secondary components` \[E2SSTYPE]

The following changes were implemented:

* Added entry:
  * *coarse silty*
* Standard text changes (only for **DIN EN ISO (deutsch)**):
  * *organic \[DIN]*: `h` -> `o`
  * *organic \[EN ISO]*: `h` -> `o`

#### Adaptation of Fill Patterns

Fill patterns have been adapted to match the **colour values defined in DIN 4023**.

For the standard **DIN EN ISO (deutsch)**, fill patterns were updated for the following dictionaries:

* `(E2) Major components` \[E2PSTYPE]
* `(E2) Secondary components` \[E2SSTYPE]
* `(E2) Genesis` \[E2GENESE]
* `(E2) Well design - back fill` \[E2ASBVER]
* `(E2) Well design - casing` \[E2ROHEL]

<figure><img src="/files/cYGblxiD1ENjN8vzCdsG" alt=""><figcaption><p>Old (left) versus new (right) fill patterns for Silt, Limestone, Sandstone, Granite, Monzonite, Rhyolite, Amphibolite, Greenschist, and Hornfels - recoloured to the DIN 4023 colour values.</p></figcaption></figure>

## Reference: Visualisation adaptations

### Adaptation of the Display for WRT Cutting Conditions

New visualisations were introduced for the following conditions:

* *Highly jointed* / *Very highly jointed* (graphic type 46)
* *Liquid* (graphic type 45)

This was achieved by adapting the dictionary:

**Dictionary:** `(E2) Condition WRT cuttings` \[E2BOHGUT]

<figure><img src="/files/8gUThTuvhFmbGqE7vpnJ" alt=""><figcaption><p>Borehole-log visualisation of the new cutting conditions - "Limestone, highly jointed" (left) and "Topsoil, liquid" (right).</p></figcaption></figure>

### Adaptation of the Display for Weathering Grade

A new visualisation was introduced for the weathering stage **Residual soil** (graphic type 43) for the standard **DIN EN ISO (German)**.

**Dictionary:** `(E2) Weathering grades` \[E2VERWIT]

For visualisation, the graphic element **Special symbol** with the special symbol type **Weathering grade** can be used.

<figure><img src="/files/5YhgmPc5cXEUBN2kFSn2" alt=""><figcaption><p>Borehole-log visualisation of the residual-soil weathering grade using the <strong>Special symbol</strong> graphic element - "fine Sand, silty, residual soil".</p></figcaption></figure>

### Adaptation of Sample Visualisation

Samples of **category A-E** are now displayed **uniformly in full colour** for the standards:

* DIN EN ISO (deutsch)
* INT (english)

**Exception:** Water samples

**Screenshot placeholder:**\
`E2_samples_categoy_A-E.png`

<figure><img src="/files/ofKcrgzS3UhvWnJoQYhJ" alt=""><figcaption><p>Sample-type legend - categories A-E shown uniformly in full colour, with the water sample as the open-triangle exception.</p></figcaption></figure>

## Reference: Further general adaptations

### New Fields / Parameters

**Layer Data \[E2LAYER]**

* Ground unit (`GROUNDUNIT`)

**Well Design Data - Casing \[E2WDCAS]**

* Diameter nominal (`ELDNWIDE`)

### Adjustment of Field Lengths

**General Data \[E2GENER]**

* Reference (`AKTENZ`): 20 -> 40 characters
* Borehole number / short name (`SHORTNAME`): 15 -> 25 characters
* Functional supervision (`SUPVIS`): 50 -> 100 characters
* Name of borehole (`LONGNAME`): 40 -> 50 characters

**Layer Data \[E2LAYER]**

* Additional comments / layer comments (`NOTELAYER`): 100 -> 254 characters

### Adjustment of Output Formats

#### Well Design Data

**Data types:**\
`E2WDCAS`, `E2WDHOLE`, `E2WDSPCL`, `E2WDGEN`, `E2WDBCKF`

The display format in the data management method has been adjusted from **0 to 2 decimal places** for all of the following parameters:

* Diameters
* Slit widths
* Slit lengths
* Wall thicknesses

### Adjustment of Long Texts

#### Layer Data

**Data type:** `E2LAYER`

* The long text for the field **GROUP** has been renamed from **"group"** to **"soil group"**

### Adjustment of Dictionaries

#### Organic Components

**Dictionary:** `(E2) Organic components` \[E2ORGMAT]

* A gradation has been added for the key **humous**:
  * 2 - slightly
  * 4 - very
* Translations have been added for:
  * *slightly* (`$TRCODE2B`)
  * *very* (`$TRCODE4B`)

<figure><img src="/files/U3HpekW7QeilAZ00XC2l" alt=""><figcaption><p>Layer data input form - the <strong>Organic components</strong> field with key <code>hum2</code> entered, producing "slightly humous" in the layer description.</p></figcaption></figure>

#### Sample Type

**Dictionary:** `(E2) Sample type` \[E2PROBAR]

* Code **`wlf`** has been added for **thermal conductivity test**

### Adaptation of Data Input Masks

#### General

* Parameter descriptions have been added

#### Layer Data

**Data type:** `E2LAYER`

* The field **Ground unit (`GROUNDUNIT`)** has been added to:
  * the **Layer data** tab
  * the **Rock description** tab

### Adaptation of the Standard Text in Layouts

*(Object Type Variables)*

In the graphic element **Well design**, the default display has been adjusted for the standard **DIN EN ISO (deutsch)**:

* Borehole diameter (`BLWIDE`) is displayed **without decimal places**
* Internal casing diameter (`ELWIDEI`) is displayed **without decimal places**
* Hole diameter / slit width for casings (`ELPERWID`) is displayed **with two decimal places**

**New text macro:**<br>

<figure><img src="/files/dsQrymesIgPnNjxsbqUf" alt=""><figcaption><p>New text macro - the Well design layout displaying borehole and casing diameters with the updated decimal-place formatting.</p></figcaption></figure>

**Old text macro:**<br>

<figure><img src="/files/iUbuKNS8mWNiBG1Bhonu" alt=""><figcaption><p>Old text macro - the previous Well design layout display, before the decimal-place adjustment.</p></figcaption></figure>


# Versions 9.0.6 and 9.0.7 - Structural Changes

Structural Changes to Geotechnical Data Types - Versions 9.0.6 and 9.0.7

With the release of object type versions **9.0.6** and **9.0.7**, both minor and major adjustments were made to the object type **Geotechnical investigation EN ISO 22475 (2018)** \[ENISO002] and its associated geotechnical data types.

These changes include:

* Adaptations to **DIN 18196 (2023)**
* Adaptations to **DIN 4023 (2023)**
* Structural changes to the geotechnical data types

This page describes **only the structural changes**.\
\
Information on further, [non‑structural adjustments](/object-types/geotechnical-investigation-en-iso-22475/versions-9.0.6-and-9.0.7-general-adaptations) is documented in a separate Help Centre article.

## Reference: Structural Changes to the Geotechnical Data Types

To avoid future conflicts with the GeoDin object type **Location \[G1BORLOG]**, the **short names of several geotechnical data types** belonging to the object type *Geotechnical investigation EN ISO 22475 (2018)* had to be adapted.

### Changes to Data Type Short Names

| Data type / Data type group    | New short name | Old short name |
| ------------------------------ | -------------- | -------------- |
| (G) Chemical analysis          | CHA            | CHL            |
| (G) CD‑triaxial                | GCD            | CDT            |
| (G) Laboratory samples         | GLS            | LSM            |
| (G) Oedometer                  | GOT            | OED            |
| Measurement data OE            | XGO            | XOE            |
| (G) Particle size distribution | GPS            | PSD            |
| Measurement data PS            | XGP            | XPS            |
| (G) Shearbox                   | GSB            | SBT            |
| (G) UU‑triaxial                | GUU            | UUT            |
| Measurement data UU            | XHU            | XUU            |

To clean up the GeoDin configuration and correct any affected databases, corresponding routines were implemented in **GeoDin versions 10.1 and 15**.

For this reason, **installation or update** to object type versions **9.0.6 and 9.0.7** is limited to these GeoDin versions.

If the affected data types are used in **layouts and/or queries**, these must be **updated manually** after an object type or database update.

### What Happens When Updating to Object Type Version 9.0.7?

To install object type version **9.0.7**, clean up the GeoDin configuration, and correct affected databases if required, **GeoDin version 10.1 or 15** is mandatory.

## Reference: Checking your versions before updating

### Determining Your GeoDin Version

To check the GeoDin version currently in use:

* Click the **Info (i)** button in the top‑right corner of the GeoDin user interface
* Select **"Info to GeoDin..."**

<figure><img src="/files/LVGLMaeYiDAltU4cvWXw" alt=""><figcaption><p>The <strong>Info (i)</strong> menu in the top-right corner of GeoDin, with <strong>Info to GeoDin...</strong> selected; the About dialog reports the running GeoDin version (here <code>GeoDin 15.2.29_H</code>).</p></figcaption></figure>

### Determining the Object Type Version in Your System

The installed object type version can be checked as follows:

* Open the **System** tab
* Navigate to **System configuration > Object types**
* Select **Geotechnical investigation EN ISO 22475 (2008)**
* Open **Properties**

<figure><img src="/files/LT7tce90zdR6PMg8cjEb" alt=""><figcaption><p>System configuration > Object types with <strong>Geotechnical investigation EN ISO 22475 (2018)</strong> selected and <strong>Properties</strong> opened; the Properties dialog shows the installed object type version (here Version 9.0.5).</p></figcaption></figure>

### Determining the Object Type Version in Your Database

The object type version registered in a database is displayed **during a database update** in the dialog:

**"Database structure: \[DATABASE NAME]"**

A backup of the relevant database is strongly recommended before updating.

<figure><img src="/files/NbhZdaRMgb0V7jb4K5Bc" alt=""><figcaption><p>The <strong>Database structure: ENISO_DEMO_Saarbruecken</strong> update dialog - the <strong>Database version</strong> and <strong>System settings version</strong> columns show the Geotechnical investigation EN ISO 22475 (2018) row updating from 9.0.5 to 9.0.7.</p></figcaption></figure>

### Backup Recommendation Before Updating

Before updating the object type, it is strongly recommended to:

* Back up the **Syslib directory**, usually located at:
  * `C:\ProgramData\GeoDin`
  * `C:\ProgramData\Fugro\GeoDin`
* Back up the affected geotechnical data types via:
  * **System > System configuration > Data types**
  * Use the **Export data types** method

<figure><img src="/files/KCcpiijdCnSe0f3mpEHV" alt=""><figcaption><p>System > System configuration > Data types > <strong>Export data types</strong>, with the affected geotechnical data types ticked and the export file path set; click <strong>Export</strong> to save the backup.</p></figcaption></figure>

***

## Reference: Cleaning Up the GeoDin Configuration

### Changes to the System Configuration

#### Case 1

**EN ISO 22475 (2018) version 9.0.5 or older installed**

When updating to version **9.0.7**:

* Short names of affected geotechnical data types are updated automatically
* Self‑created data type parameters are **retained**

#### Case 2

**EN ISO 22475 (2018) version 9.0.5 or older**\
**Location \[G1BORLOG] also installed**

When updating to version **9.0.7**:

* Object type **Location \[G1BORLOG]** and all associated data types are **uninstalled**
* EN ISO 22475 geotechnical data types are uninstalled and re‑added with new short names
* Self‑created data type parameters are **lost**

If the **Location** object type is still required, please contact **<support@geodin.com>**.

#### Case 3

**EN ISO 22475 (2018) version 9.0.6 installed**\
**Location \[G1BORLOG] may also be installed**

When updating to version **9.0.7**:

* Short name `UUT` of *(G) UU‑triaxial* is changed to `GUU`
* Short name `XGU` of *Measurement data UU* is changed to `XHU`
* Self‑created data type parameters are **retained**
* Object type **Location \[G1BORLOG]**, if present, is also retained

## Reference: Database Correction During Update

### Changes to Databases

#### Case 1

**Database with EN ISO 22475 (2018) version 9.0.5 or older**

When updating the database to version **9.0.7**:

* Measurement table names are changed according to the new short names
* Measurement data is written into the new tables

#### Case 2

**Database with EN ISO 22475 (2018) version 9.0.6**

When updating the database to version **9.0.7**:

* Table names for *(G) UU‑triaxial* and *Measurement data UU* are adapted
* Measurement data is written into the new tables

#### Case 3

**Database with EN ISO 22475 (2018) version 9.0.5 or older**\
**Location \[G1BORLOG] also registered**

When updating to version **9.0.7**:

* Affected measurement tables are **not corrected automatically**
* Reason: mixture of data type parameters prevents automation

#### Case 4

**Database with EN ISO 22475 (2018) version 9.0.6**\
**Location \[G1BORLOG] also registered**

When updating to version **9.0.7**:

* Table names for *(G) UU‑triaxial* and *Measurement data UU* are adapted
* Measurement data is written into the new tables


# Miscellaneous Object Types

Reference for miscellaneous GeoDin object types built for specific use cases, starting with the Climate monitoring station object type and its wind, on-site, and daily-value measurements.

Besides the standard geotechnical object types, GeoDin includes a number of miscellaneous object types built for specific use cases. These usually have general data tables configured for a particular purpose, and allow further data to be collected and evaluated using dedicated data types and predesigned GeoDin layouts.

This page currently covers the Climate monitoring station object type.

## Climate monitoring station

The **"Climate monitoring station"** object type records, displays, and evaluates general data for each monitoring station together with its corresponding measurements, using pre-configured, customizable GeoDin layouts.

<figure><img src="/files/JH7wRnO4z6LcEeYSuaNo" alt="General data mask for the Climate monitoring station object type, with map preview"><figcaption><p>General data mask for the object type "Climate monitoring station" with map preview.</p></figcaption></figure>

Checklist:

* General data
* Bilingual (German, English)
* Customizable dictionaries
* Compatible with version 9

### Features

The general data mask records the position and elevation of the monitoring station. Two dedicated data types, each with a matching GeoDin layout, are available for recording and displaying measurement results - these can be entered on site or imported at a later time. Both the object type and its data types are bilingual and support SI and United States customary units.

#### Data type "(E) Wind measurements"

The data type "(E) Wind measurements" records the following parameters, some of which are calculated automatically:

* Wind speed \[m/s] - measured with an anemometer or estimated with a windsock
* Beaufort scale - extended scale dividing wind strength into twelve ranges from 0 (calm) to 12 (hurricane); automatically assigned from the measured wind speed
* Wind gusts \[m/s] - a brief increase in wind speed, usually of short duration (under 20 seconds)
* Wind direction \[deg] - direction the wind comes from (0-360 degrees)
* Cardinal direction - cardinal, intercardinal, and secondary intercardinal directions the wind comes from; can be calculated automatically from the wind direction

The predesigned layout **"(KLM) Wind Measurement"** displays wind direction and wind speed as a wind rose as well as a histogram.

<figure><img src="/files/UKQkKkwz8WkBSi7H9cgT" alt="GeoDin layout displaying wind direction and wind speed as a wind rose and histogram"><figcaption><p>GeoDin layout for displaying wind direction and wind speed.</p></figcaption></figure>

#### Data type "(U) Climate measurements"

The parameters of the data type "(U) Climate measurements" are divided into two groups: on-site parameters and daily values.

On-site parameters include air temperature (5 cm and 2 m above ground), ground and soil temperature (10 cm and 20 cm below ground), soil moisture, air pressure, relative humidity, snow depth, cloud obscuration and coverage, cloud type, visibility, and free-text remarks. Daily values include daily precipitation depth and type, daily minimum/maximum/average air temperature at both heights, daily average air pressure, sunshine duration, and global radiation.

Three predesigned GeoDin layouts are available for evaluating these parameters:

* **"(KLM) Soil diagram"** - presents soil moisture and soil temperature at two depths over a defined period. Temperature minima, maxima, and mean are calculated automatically.

  <figure><img src="/files/6rUegaC5iNnu9PNqm6rY" alt="GeoDin layout displaying soil moisture and soil temperature"><figcaption><p>GeoDin layout for displaying soil moisture and soil temperature.</p></figcaption></figure>
* **"(KLM) Climate diagram"** - displays the monthly precipitation amount and monthly temperature course over a selected period, with automatically calculated temperature minima, maxima, and mean.

  <figure><img src="/files/pHCdpYOV8sGXL6UHevdU" alt="GeoDin layout displaying precipitation amount and temperature"><figcaption><p>GeoDin layout for displaying precipitation amount and temperature, including an evaluation of temperature minima, maxima, and averages.</p></figcaption></figure>
* **"(KLM) Weather diagram"** - displays relative humidity, sunshine duration, and cloud coverage over a given period as weekly and monthly averages in tabular form.

  <figure><img src="/files/oJV83r55dX7smd82GUmt" alt="GeoDin layout displaying relative humidity, sunshine duration, and cloud coverage"><figcaption><p>GeoDin layout for displaying relative humidity, sunshine duration, and cloud coverage.</p></figcaption></figure>

***

## Reference: Wind measurement parameters

| Parameter             | Description                                                                                                |
| --------------------- | ---------------------------------------------------------------------------------------------------------- |
| Wind speed \[m/s]     | Measured with an anemometer or estimated with a windsock                                                   |
| Beaufort scale        | Twelve ranges from 0 (calm) to 12 (hurricane); auto-assigned from wind speed                               |
| Wind gusts \[m/s]     | Brief increase in wind speed, usually under 20 seconds                                                     |
| Wind direction \[deg] | Direction the wind comes from, 0-360 degrees                                                               |
| Cardinal direction    | Cardinal, intercardinal, and secondary intercardinal direction; can be auto-calculated from wind direction |

## Reference: Climate measurement parameters

| Group        | Parameter                                | Description                                                                      |
| ------------ | ---------------------------------------- | -------------------------------------------------------------------------------- |
| On-site      | Air temperature (5cm) \[C]               | Air temperature 5 cm above ground surface                                        |
| On-site      | Air temperature (2m) \[C]                | Air temperature 2 m above ground surface                                         |
| On-site      | Ground temperature (-10cm) \[C]          | Ground temperature 10 cm below ground surface                                    |
| On-site      | Soil temperature (-20cm) \[C]            | Soil temperature 20 cm below ground surface                                      |
| On-site      | Soil moisture \[%]                       | Soil moisture under grass and sandy loam                                         |
| On-site      | Air pressure \[hPa]                      | Pressure within the earth's atmosphere                                           |
| On-site      | Relative humidity \[%]                   | -                                                                                |
| On-site      | Snow depth \[cm]                         | Absolute height of snow cover at the location                                    |
| On-site      | Obscuration \[1/8]                       | Proportion of sky obscured by clouds, 0/8-8/8; 9 = sky obscured                  |
| On-site      | Coverage                                 | Ratio of cloud area to free sky area, calculated from obscuration                |
| On-site      | Type of cloud                            | Cumulus, stratocumulus, cirrus, etc.                                             |
| On-site      | Visibility \[km]                         | Maximum horizontal distance a dark object is visible against a bright background |
| On-site      | Remarks                                  | Free text                                                                        |
| Daily values | Daily precipitation depth \[mm]          | Daily amount of precipitation                                                    |
| Daily values | Precipitation type                       | Rain, hail, snow, etc.                                                           |
| Daily values | Daily minimum air temperature (5cm) \[C] | -                                                                                |
| Daily values | Daily maximum air temperature (5cm) \[C] | -                                                                                |
| Daily values | Daily minimum air temperature (2m) \[C]  | -                                                                                |
| Daily values | Average air temperature (2m) \[C]        | -                                                                                |
| Daily values | Daily maximum air temperature (2m) \[C]  | -                                                                                |
| Daily values | Air pressure (daily average) \[hPa]      | -                                                                                |
| Daily values | Sunshine duration \[h]                   | Measurement of sunshine duration per day                                         |
| Daily values | Global radiation \[Wh/(m2-d)]            | Sum of global radiation per day                                                  |


# Remediation Projects

Reference for the Remediation projects object type collection - five standalone object types for detailed data capture at remediation sites without layer or well-design data.

The **"Remediation projects"** object type collection was developed for the detailed capture of data at remediation sites.

<figure><img src="/files/JH7wRnO4z6LcEeYSuaNo" alt="General data mask for the Wastewater object type, with map preview"><figcaption><p>General data mask for the object type "Wastewater" with map preview.</p></figcaption></figure>

## Checklist

* **Wastewater** - general data (with an additional mask for media files)
* **Container** - general data
* **Storage area** - general data (with an additional mask for media files), supplementary info (substances)
* **Production facility** - general data (with an additional mask for media files), supplementary info (connections, substances)
* **Remediation facility** - general data (with an additional mask for media files), sample data, well design/pipes, supplementary info (filters)

## Features

The "Remediation projects" collection comprises five independent object types: **Wastewater**, **Container**, **Storage area**, **Production facility**, and **Remediation facility**. Each object type has its own general data mask and can be used standalone in GeoDin, independently of the others.

<figure><img src="/files/UKQkKkwz8WkBSi7H9cgT" alt="General data mask for the Production facility object type, Protection systems / Soil tab"><figcaption><p>General data mask for the object type "Production facility", tab "Protection systems / Soil".</p></figcaption></figure>

The object types **Wastewater**, **Storage area**, **Production facility**, and **Remediation facility** each have a "Media files" table, used to store file-system paths to related documents.

<figure><img src="/files/6rUegaC5iNnu9PNqm6rY" alt="Media files mask for the Wastewater object type"><figcaption><p>"Media files" mask for the object type "Wastewater".</p></figcaption></figure>

## Application

The object types in "Remediation projects" are used for data capture at remediation sites where no layer or well-design data has been determined or is required.


# Overview

Importing data into GeoDin from external files and databases

GeoDin imports data from a wide range of file formats and external databases. This page is the entry point for the Importing Data section: it covers the overall **batch import workflow** that applies to every import type, then links to the specific guides for each source.

## Batch import workflow (General -> Samples -> Measurements)

Most data lands in GeoDin in three sequential steps:

1. **Import General Data** to create the locations.
2. **Import Samples** into those locations.
3. **Import Measurement Data** for those samples.

Tests cannot be imported before their parent samples exist, and samples cannot be imported before their parent locations exist - the order matters.

The import wizard is launched from different starting points depending on the level:

* **General Data** - from the Objects branch via `Import General Data`.
* **Samples** - from `All Objects > Import Samples`.
* **Measurement Data** - from `Measurement Points > Samples (or Locations) > Import Measurement Data`.

Every wizard follows the same three steps:

1. **Data Source** - choose the file and worksheet.
2. **Parameter Links** - map source columns to GeoDin fields.
3. **Import** - preview and execute.

### Linking samples and measurements to their parents

When samples and measurements are imported, the source file must include a column GeoDin can use to match each row to the right parent:

* **Samples** - add a column (typically named `Location`) holding the borehole short name.
* **Measurements** - build a concatenated identifier (`borehole + sample reference + from + to recovery depth`), typically named `MeasID`, that uniquely points each row at the correct sample.

### Bulk vs. one-at-a-time

* **Main measurement data type** - bulk import across multiple samples in one run.
* **Complex (sub) data types** (e.g. UU curve, CU measurement data) - must be imported one measurement point at a time. There is no bulk path for nested data types.

Batch import is supported for general data, samples, data sequences, and sample-level measurement tests.

***

## Import guides by source

* [Data Sequences (CPT, free-format)](/importing-data/data-sequences) - depth-indexed series including CPT, GEF, and custom ASCII formats
* [CSV and Excel Import](/importing-data/csv-and-excel-import) - spreadsheet and delimited text imports for general/sample/measurement data
* [AGS Import](/importing-data/ags-import) - AGS 4.0.4 / 4.1 format
* [GeoDinML Import](/importing-data/geodin-ml-import) - field-to-office data exchange from GeoDin Onsite
* [Cross-Database Object Copying](/importing-data/cross-database-object-copying) - copying objects between GeoDin databases
* [SEP 3 Exchange Database Import](/importing-data/sep3-exchange-database) - SEP 3 standard


# Supported data formats

One-page reference of every data format GeoDin imports and exports - geotechnical exchange, CAD/GIS layers, and report outputs - with links to each how-to.

This page lists every data format GeoDin can read or write, in one place. Use it to answer "can GeoDin work with X?" - then follow the link for the full how-to. Formats are grouped by what they carry: geotechnical data, map and CAD layers, and report outputs.

## Geotechnical data exchange

| Format                               | Import | Export | Carries                                                                                                                 | How-to                                                                                                  |
| ------------------------------------ | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **AGS 4** (4.0.4 and 4.1.1)          | Yes    | Yes    | Complete site investigation data: locations, ground descriptions, samples, lab results                                  | [AGS import](/importing-data/ags-import), [AGS export](/exporting-data/ags-export)                      |
| **GeoDinML**                         | Yes    | Yes    | GeoDin's own XML exchange format; the bridge from GeoDin Onsite field data to the office                                | [GeoDinML import](/importing-data/geodin-ml-import), [GeoDinML export](/exporting-data/geodinml-export) |
| **SEP 3**                            | Yes    | -      | German state-authority borehole data, delivered as an Access database and read via an exchange database                 | [SEP3 exchange database](/importing-data/sep3-exchange-database)                                        |
| **GEF**                              | Yes    | -      | CPT data in the format standard in the Netherlands                                                                      | [Data sequences import](/importing-data/data-sequences)                                                 |
| **Free-format ASCII**                | Yes    | -      | CPT and other depth-oriented measurement series with configurable import filters                                        | [Data sequences import](/importing-data/data-sequences)                                                 |
| **gINT databases**                   | Yes    | -      | Legacy borehole databases, converted to GeoDinML by the gINT converter (PROJECT, LITHOLOGY, POINT, and SAMPLING groups) | [Convert gINT databases](/integrations-and-plug-ins/introduction/convert-gint-databases-to-geodinml)    |
| **CSV**                              | Yes    | Yes    | Tabular object and measurement data                                                                                     | [CSV and Excel import](/importing-data/csv-and-excel-import), [CSV export](/exporting-data/csv-export)  |
| **Excel**                            | Yes    | Yes    | Tabular data; an Excel export can serve as the template for a later import                                              | [CSV and Excel import](/importing-data/csv-and-excel-import), [Excel export](/exporting-data/excel)     |
| **GeoDin database** (cross-database) | Yes    | Yes    | Objects copied directly between two GeoDin databases, no file in between                                                | [Cross-database object copying](/importing-data/cross-database-object-copying)                          |

## Map and CAD layers

| Format               | Import | Export | Carries                                                                 | How-to                                                                         |
| -------------------- | ------ | ------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **SHAPE**            | Yes    | -      | Vector GIS layers displayed in GeoDin Maps                              | [Adding layers](/maps/adding-layers)                                           |
| **DXF**              | Yes    | Yes    | Vector CAD data: as a map layer in, and as editable layout geometry out | [Adding layers](/maps/adding-layers), [DXF export](/exporting-data/dxf-export) |
| **JPG / TIFF / ECW** | Yes    | -      | Raster base maps (grid data) displayed in GeoDin Maps                   | [Adding layers](/maps/adding-layers)                                           |
| **WMS / web tiles**  | Yes    | -      | Live web map services as background layers                              | [WMS and web tile layers](/maps/wms-and-web-tile-layers)                       |

## Reports and integrations

| Format           | Import | Export | Carries                                                                                                  | How-to                                                                                                       |
| ---------------- | ------ | ------ | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **PDF**          | -      | Yes    | Borehole logs, cross-sections, and layouts, single or in bulk                                            | [Bulk print and PDF export](/visualization-layouts-and-reporting/report-templates/bulk-print-and-pdf-export) |
| **Leapfrog Geo** | -      | Yes    | Borehole data handed to Leapfrog Geo for 3D modeling                                                     | [Leapfrog Geo export](/integrations-and-plug-ins/leapfrog-geo-export)                                        |
| **ArcGIS**       | Yes    | Yes    | Borehole planning and results exchanged with ArcGIS Pro / ArcGIS Online through an Excel-based workflow  | [ArcGIS integration](/integrations-and-plug-ins/overview)                                                    |
| **QGIS**         | Live   | Live   | Direct access to GeoDin databases from inside QGIS via the GeoDinQGIS plugin - no file exchange involved | [QGIS integration](/maps/qgis-integration)                                                                   |

***

## Reference: choosing an exchange format

* **Field to office:** GeoDin Onsite publishes GeoDinML - import it rather than re-entering field data. See [GeoDinML import](/importing-data/geodin-ml-import).
* **To or from other geotechnical software:** AGS 4 is the broadest standard route in and out. See [AGS 4](/object-types/ags-4) for how AGS groups map onto GeoDin object types.
* **Migrating a legacy database:** use the gINT converter for gINT databases; German SEP 3 deliveries go through the exchange database.
* **Bulk tabular edits:** export Excel, edit, re-import - the export doubles as the import template. See [CSV and Excel import](/importing-data/csv-and-excel-import).


# Data Sequences (CPT, free-format)

Importing CPT and other data sequences, including batch import and reduce factor

Data sequences (German: *Sondierungen*) cover CPT (cone penetration test) data and any other depth-oriented measurement series - SPT, geophysical logs, chemical profiles, etc. This page focuses on importing data sequences from external ASCII files, including free-format CPT import, the reduce factor, and batch import.

For the data entry grid and manual editing of data sequences, see [Data sequences (editor)](/workspace-and-data-management/creating-objects/general-data#data-sequences).

## Supported formats

* **Free-format ASCII / CSV** - handled by the generic Data Sequences importer described below. Use this for any depth-indexed text file, including CSV-format CPT data.
* **GEF** - supported natively for CPT data. GEF is the standard format used in the Netherlands and the UK.
* **Dedicated ASCII CPT** - a legacy filter built for historic company use. Note that **CSV CPT imports do not go through this filter** - use the generic Data Sequences import for CSV.

## Free-format CPT import

To import a CPT or other data sequence into an existing object:

{% stepper %}
{% step %}

#### Step 1

Select the object in the GeoDin Object Manager and open **Data Management > Data Sequences**.
{% endstep %}

{% step %}

#### Step 2

Click **Import** to open the import dialog.
{% endstep %}

{% step %}

#### Step 3

Select the source file and choose **User Format** (free format).
{% endstep %}

{% step %}

#### Step 4

Configure the columns:

* **Depth column** - typically column 1
* **Data start column** - the first column containing measurement values (typically column 2)
* **Decimal places** - number of decimal places in the source file
* **Delimiter** - separator character (space, comma, semicolon, etc.)
* **Units** - unit of the depth values (e.g. m)
  {% endstep %}

{% step %}

#### Step 5

Set the **Reduce factor** (see below).
{% endstep %}

{% step %}

#### Step 6

Click **OK** to run the import.
{% endstep %}
{% endstepper %}

### Reduce factor

The reduce factor controls how many values are imported from dense data series. It is useful for CPT data measured at 1 cm intervals, where displaying every value at typical log scales (e.g. 1:100) is unnecessary and slows down the database.

**How it works:**

* Factor = 1: all values are imported (up to 10,000 per series).
* Factor = n (where n > 1): GeoDin reads blocks of n² values. From each block it retains only the **minimum** and **maximum** values (with their depths). Peaks and troughs are preserved; intermediate values are discarded.

**Example:** Factor = 3 -> blocks of 9 values -> 2 values retained per block (min and max). This reduces a 4,500-point CPT to approximately 1,000 imported points.

{% hint style="info" %}
If you leave the reduce factor at 0, GeoDin calculates an automatic factor so that no series exceeds 500 values. Set the factor to 1 to import without any reduction (maximum 10,000 values per series).
{% endhint %}

{% hint style="warning" %}
**Column layout constraint** - data columns must sit to the right of the depth column in the source file. The importer reads every column to the right of depth and there is no option to skip or exclude specific columns at import time. To remove unwanted series, delete them after import.
{% endhint %}

## Import filters (saving and reusing format settings)

To avoid re-entering the same column configuration for every import of a given file type, save the format as a named import filter:

1. In the import dialog, configure all column and format settings.
2. Click the **New import filter** icon and give the filter a name (e.g. "CPT Fugro v3").
3. Confirm. The filter is saved to `SONIFLTR.SYS` in the `SYSLIB` folder and is available to all users of the same installation.

To load an existing filter, click the **Edit selected filters** drop-down in the import dialog and select the filter name.

{% hint style="info" %}
If a CPT or CSV file seems to be rejected ("only ASCII is read"), you are usually in the wrong import entry point: sequence files in CSV or free-format ASCII are imported under **general data** with an import filter - the filter is the interpreter of your file structure. Native probe formats (e.g. GRU) are converted to CSV first and imported the same way.
{% endhint %}

## Batch import at the Objects branch level

GeoDin can match import files to objects automatically by filename, allowing you to import CPT data for dozens of objects in one step.

**Requirements:**

* Each import file must be named exactly the same as the **short name** of the corresponding GeoDin object (file extension is ignored).
* A saved import filter must exist for the file format.

**Steps:**

{% stepper %}
{% step %}

#### Step 1

In the GeoDin Object Manager, select the **Objects** branch (or a query/group) - not an individual object.
{% endstep %}

{% step %}

#### Step 2

Choose the method **Import data sequences** (or **Update data sequences** to overwrite/append).
{% endstep %}

{% step %}

#### Step 3

Select **Entire folder** and navigate to the folder containing the CPT files.
{% endstep %}

{% step %}

#### Step 4

Select the import filter.
{% endstep %}

{% step %}

#### Step 5

Click **Check object link** to preview which files match existing objects, and which don't. Review the log before proceeding.
{% endstep %}

{% step %}

#### Step 6

Run the import. Objects without a matching file are skipped; new data sequences are created in matched objects.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Import data sequences** (German: *Sondierung importieren*) creates new data sequence series. **Update data sequences** (German: *Sondierung aktualisieren*) overwrites or appends to existing series. Use "Update" for re-imports with corrected source files.
{% endhint %}

{% hint style="warning" %}
Filenames must match the object short name exactly (case-sensitive on some systems). Create general data presets (**Stammdatenvorgaben**) before the batch import so that fields like project, client, and coordinate system are pre-filled on any new objects GeoDin creates during import.
{% endhint %}

***

## Beyond CPT - custom filters for any depth-indexed data

The Data Sequences importer is not limited to CPT. Build a custom import filter for any depth-indexed series, for example **measurement-while-drilling (MWD)** logs that record penetration speed, tool pressure, injection pressure, torque, and RPM against depth. The filter mechanism is the same as for CPT: define depth column, data start column, delimiters, units, and series names; save it as a named filter for reuse.

Imported data sequence series can also be **re-exported to CSV** - useful when you need to pull a series out of GeoDin, edit it externally, and re-import.


# CSV and Excel Import

Importing CSV and Excel files into GeoDin for general data, samples, and measurements

GeoDin imports both Excel worksheets (`.xlsx`, `.xls`) and CSV / delimited text files. This page covers the column-mapping workflow common to all CSV/Excel imports, plus the recommended approach of generating an import template by exporting from GeoDin first.

For depth-indexed data sequences (CPT and similar), see [Data Sequences](/importing-data/data-sequences). For the conceptual workflow of how General Data, Samples, and Measurements relate, see the [Import overview](/importing-data/import#batch-import-workflow-general-samples-measurements).

## Mapping source columns to GeoDin fields

Mapping happens on the **Parameter links** tab of the import wizard (reached via the **Import general data** method on a project's **Objects** node). The easiest path is to prepare an Excel table that mirrors the tabular view of GeoDin: column headers matching either the long parameter name or the short database field name will auto-link via the **Automatic Link** button.

Mapping options in the import wizard:

* **Automatic Link** - matches headers to GeoDin parameters by name.
* **Drag-and-drop** - drag from the GeoDin parameter list (left pane) onto the source header (right pane) when names don't match.
* **Save as ICF** - save the parameter mapping as an ICF file and reload it on subsequent imports (via **Load configuration**) to skip manual mapping.

### Reading the two lists

The left pane lists the GeoDin side (the parameters of the selected data type, or the data fields of the selected object type), the right pane lists the columns of the import file. Both lists shrink as you work: an entry that has been linked is removed from its list and appears in the links table, so the panes only ever show what is still unassigned.

* The parameter list is limited to the parameters of that data type **that are installed in the database you are currently using**. Parameters defined on the system side but not yet added to this database do not appear - install them first with the [Datatype Manager](/workspace-and-data-management/working-with-measurement-data#datatype-manager).
* Columns that you hid in the **Data source** step of the wizard are still listed, shown in a **grey font**.
* For imports that use the *Table by column* format option, the data fields and import columns of the *Additional measurement information* are shown in a **blue font**.

For general-data imports, assign the object or borehole name to the GeoDin field `LONGNAME`. If no import column is assigned to `LONGNAME`, GeoDin warns at import time that no data field was specified for the object name, and the imported objects appear in the Object Manager without a designation.

### Preview colours

After mapping, the import preview uses colour to show what will happen:

* **Red** - invalid or out-of-range values; these are blocked.
* **Green** - new data that will be inserted.
* **Purple / light green** - existing data that will be overwritten.
* Dictionary values that don't match an existing entry are flagged but still importable.

### Dictionary fields and unit system

* **Dictionary fields** - accept either the short code (e.g. `CPT`) or the full text value.
* **Unit system** - toggle under `File > Unit System` between Metric (SI) and US Customary. Unit conversions (e.g. feet to metres) happen on the fly during import.

## Use GeoDin's Excel export to generate a template

The fastest way to prepare an import file with correctly-named columns is to export the matching data type from GeoDin first, fill the exported file, and re-import.

* Any data table (general data, samples, measurement data) can be exported to Excel via the **red-dot export** button.
* The tabular **All Objects** view under Data Management shows general data for all locations in a single sortable table - exporting this view gives a complete template for general-data imports.
* Exported Excel files contain headers matching GeoDin's internal parameter names, ready for round-trip re-import.

{% hint style="warning" %}
If imported values arrive blank or grayed out with no error message, a mandatory field is missing from the import file or the columns do not match the GeoDin table structure. Build the file from a GeoDin export of the same table (see above) so every required column is present - mandatory fields are the ones shown in a darker purple in the entry form.
{% endhint %}

## Updating existing data records

An import can add new data records, update existing ones, or both. Choosing to update brings up further settings on the **Import** step of the wizard.

### Measurement data

**Search for** decides how an import row is matched against an existing record: by **date and time**, or by **sample name**. Once a match is found, one of three modes applies:

| Mode                                        | Effect on a matched record                                                                                                                                    |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Replace data record contents**            | Existing data field contents (measurement values) are replaced by the contents of the import record.                                                          |
| **Supplement missing data record contents** | Contents of the import record are written only where the data field of the existing record is empty.                                                          |
| **Do not change found data record**         | Existing records are left as they are. Combine this with *Add data records* to import only the rows that are new and silently skip the ones already imported. |

### General data

With the **Update general data** method, only rows that could be matched to an existing object are considered, and two modes are available:

| Mode                                  | Effect on a matched object                                                                                                                                           |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Replace data set contents**         | Existing field contents are replaced by the contents of the import record. Where a cell of the import file is empty, the existing entry is kept rather than cleared. |
| **Replace missing data set contents** | Contents of the import record are transferred only where the corresponding field of the existing record is not yet filled in.                                        |

With the **Import general data** method, *Add records* is the only sensible option; it is set by default and cannot be changed.

{% hint style="danger" %}
Assign the import columns with care. Under *Replace data set contents*, existing general data is overwritten wherever the import table has content, and the operation cannot be reversed.
{% endhint %}

### Checking the preview before importing

The preview shows the import rows in the structure of the target data type or object type, so you see the data exactly as it will later appear in GeoDin.

* Filter the rows by any criterion using the filter control in a column header, or pick a ready-made filter from the **Filter for preview** drop-down.
* Hover over a cell for details about that record and cell content.
* All active formulas of the data type or object type run for every changed record; the fields they calculate are highlighted in **blue**.
* Erroneous data is not imported. Missing data does not block the import - it can be entered afterwards in Data Management.


# AGS Import

Importing AGS 4.0.4 and AGS 4.1 files into GeoDin

GeoDin's **AGS object type** mirrors the AGS group/header structure, so AGS imports come through with ground descriptions and nested measurement data already in place - there's no per-row mapping to do.

For the general import workflow that applies to General Data, Samples, and Measurements (including AGS imports into the G1 object type), see the [Import overview](/importing-data/import#batch-import-workflow-general-samples-measurements).

## Database backend differences

* **Access (`.mdb`) databases** - GeoDin creates the AGS database structure automatically at import time. No preparation required.
* **SQL Server databases** - manually create a dummy AGS object first to prepare the database table structure, then import.

## What the AGS importer handles

* **Custom field definitions** - imported with warnings; the import still completes successfully.
* **Nested measurement data** - sub-types like SCPG and SCPT are imported in a single procedure because the data is self-contained in the AGS group format. This advantage is **not** available for G1 object type imports.
* **Supported export formats** - AGS 4.0.4 and AGS 4.1, via `Publish and Export > AGS export`. AGS export lets the user choose which groups to export, then click **Execute**.

## Working with AGS files

Most of the user effort with AGS is upstream - getting the AGS file format correct. Once the file is well-formed, GeoDin handles the import end-to-end.


# GeoDinML Import

Importing GeoDinML files from GeoDin Onsite into GeoDin

**GeoDinML** is the file format used to move structured geotechnical data from **GeoDin Onsite** (field) into **GeoDin** (office). GeoDin Onsite has no server front-end and cannot talk directly to a GeoDin database, so GeoDinML files are the bridge.

This page covers what GeoDinML is, the field-to-office workflow, how to use a GeoDinML file as a project metadata source, and a step-by-step import procedure.

## Field-to-office data flow

The basic loop:

1. In Onsite, click `Export to GeoDin` (or `Publish`) to write a GeoDinML file.
2. Move the file to the office (cloud folder, file delivery, etc.).
3. In Desktop, run the GeoDinML importer to bring the records into your database.

On `Publish as Complete`, Onsite generates the full set of deliverables (`.GDOF`, PDF, GeoDinML, AGS) and places them in the shared delivery folder.

### Which Onsite forms produce GeoDinML

Only two form types currently produce GeoDinML output:

* The **G1 drilling form**.
* The **Step 3 form** (ISO standard).

The **picture log form** does **not** produce GeoDinML - it produces a PDF with embedded thumbnails plus the original JPEG/PNG source files. These can be delivered via file delivery but cannot be imported into GeoDin as structured data.

{% hint style="warning" %}
**EN ISO E2 standard is currently disabled in Onsite** because of a bug in the GeoDinML importer specifically for E2-flavoured GeoDinML. The form exists in both E2 and Step 3 flavours; E2 has been temporarily hidden to prevent users from creating data they cannot import. Re-activation in Onsite is a \~5-minute turnaround once the Desktop importer is fixed and released.
{% endhint %}

## Loading project metadata into Onsite via GeoDinML

GeoDinML is also the only server-less way to push a project list to field users. The intended workflow: one person centrally exports a GeoDinML file from Desktop and shares it (e.g. via a cloud folder) so that all field users pick from the same canonical project list.

**On the Desktop side:** export all projects to GeoDinML with "no samples, no other data, just locations".

**On the Onsite side:** in `Configuration > Integration > Project metadata`, choose between:

* **Manual** - user types the project number freely.
* **GeoDinML-based** - pull-down menu listing all projects from a selected `.GeoDinml` file. Onsite reads the client name and project name for each project automatically. A `Reload` action re-reads the file if it has been updated in the background.

Onsite never sanitizes data on import via GeoDinML beyond the standard project-number file-name sanitization rules.

***

## Step-by-step: importing a GeoDinML file

{% stepper %}
{% step %}

#### Step 1: Prepare the database

Open your database, then create a **dummy project** and a **dummy object** inside it. This forces GeoDin to generate the table structures the import process relies on.

![Open the database and create a dummy project and object](/files/VXOmXhHiON6PDoz00RDg)
{% endstep %}

{% step %}

#### Step 2: Remove the temporary project

Delete the dummy project once the table structures exist. The database is now ready to receive the import.

![Delete the dummy project](/files/haVj74mgRT4Qe5dE6XFd)
{% endstep %}

{% step %}

#### Step 3: Open the GeoDinML import plugin

Go to the **Methods** section and open the **GeoDinML import plugin**.
{% endstep %}

{% step %}

#### Step 4: Select the file and run the import

Choose the GeoDinML file you want to import and start the process. Review the records shown during the import to confirm the data being brought in.

![Select the GeoDinML file and start the import](/files/j7426a62x91Z1VQMFkwG)
{% endstep %}

{% step %}

#### Step 5: Refresh the database to view imported records

When the import finishes, refresh your database. The imported records should now appear.

![Refresh the database to see the imported records](/files/1aeI7g113SYl6v0vytDm)
{% endstep %}
{% endstepper %}

***

{% hint style="info" %}
Prefer to watch? The same walkthrough is available on YouTube:

{% embed url="<https://www.youtube.com/watch?v=baOUw9Tnw8s>" %}
{% endhint %}


# Cross-Database Object Copying

GeoDin can move objects between databases without exporting flat files: you can copy boreholes directly from one connected database into another, package a selection as a portable GeoDin Access database, and convert older-standard objects to the current standard as part of the copy. This page covers connecting the source and target databases, the copy and publish/export commands, and the SEP 1 -> SEP 3 conversion option.

## Database Connections & File-Based Migration

Database connections are created via `Create Database Connection` - choose database type (e.g. Microsoft Access), then either link an existing file or create a new one from scratch.

Access database files can be created locally or on a shared network drive.

Existing Access databases can be added to GeoDin by drag-and-dropping the `.mdb` file into the left-hand tree - this auto-creates the connection.

Right-click on a database connection > `Edit Database Connection` to view or change the stored path.

Demo databases ship with GeoDin installations under a `demos` subfolder in the configuration folder; they appear yellow in the connection list (user-created databases appear blue).

gINT (`.mdb`) databases are referenced as the historical predecessor format - users migrating from gINT must use import routines rather than direct file linking.

## Cross-Database Object Copying & Publish/Export

Objects (boreholes) can be duplicated - creates a full copy.

The `Publish and Export` command at the project level exports selected objects as a zip file containing a GeoDin Access database - useful for extracting a group of boreholes from an existing database.

`Publish and Export` is also available at the individual borehole level; produces a single-borehole Access database that can be re-imported elsewhere.

Cross-database object copying: via `Add Objects` at the project level, users can select boreholes from another (already connected) database and import them into the current project - preserves measurement data and general data.

Options during cross-database copy include: include/exclude attached documents, include/exclude measurement values, location-only copy (just names and general data).

Borehole log properties (layer data) can be copied from one borehole to another, even across databases, via `Copy Borehole Log` - layers are transferred but some standard-specific codes may not translate automatically.

## Converting SEP 1 Objects to SEP 3 During Copy

When copying SEP 1 objects from one database into another using **Add Objects**, a conversion option appears at the bottom of the copy dialog: **Conversion SEP 1 -> SEP 3** (German: *Konvertierung von SEP 1 nach SEP 3*).

### How to use it

{% stepper %}
{% step %}

#### Step 1: Open the Add Objects dialog

Open the **Add Objects** dialog on the target project.
{% endstep %}

{% step %}

#### Step 2: Add the SEP 1 objects

Drag the SEP 1 objects from the source database into the **List of objects**.
{% endstep %}

{% step %}

#### Step 3: Enable the conversion

At the bottom of the dialog, check **Conversion SEP 1 -> SEP 3**.
{% endstep %}

{% step %}

#### Step 4: Copy and confirm

Choose **Copy** and confirm.
{% endstep %}
{% endstepper %}

### What to check after the copy

GeoDin displays a protocol log on completion. Review this log carefully:

* Successfully transferred layers are listed with their mapped codes.
* Abbreviations (Kürzel) that could not be matched to a SEP 3 code are not discarded - they are written into the **comment/remarks field** (Kommentarfeld) of the target SEP 3 record for manual review.

{% hint style="warning" %}
This conversion is one-directional only: **SEP 1 -> SEP 3**. There is no built-in conversion from SEP 3 back to SEP 1 in GeoDin. Always review the protocol log and the comment fields of imported objects to catch any unmatched abbreviations.
{% endhint %}

For importing SEP 3 data delivered by a state authority, see [Importing SEP 3 data via the exchange database](/importing-data/sep3-exchange-database).


# SEP 3 Exchange Database Import

SEP 3 is a German-market state-authority data exchange standard - the import procedure and troubleshooting for it live on the German support portal.

SEP 3 is the German state-authority (Landesamt) standard for geological borehole data exchange. It applies when a Landesamt delivers borehole data as a plain SEP 3 Access database - a file containing only the SEP 3 data tables, without the GeoDin system wrapper tables a normal project database requires.

GeoDin cannot open such a file directly as a project database. A special **exchange database** (German: *Austauschdatenbank*) bridges the two: it reads the SEP 3 table structure from the authority's file and exposes the objects so they can be copied into your main GeoDin database.

SEP 3 - like SEP 1, its legacy predecessor - is German-market-specific: the object types, table structures, and delivery format are defined by German state authorities and are not used outside that market.

For the exchange-database download, connection, and step-by-step import procedure, see [Import externer SEP3-Daten mit der SEP3-Austausch-Datenbank](https://support.geodin.com/hc/de/articles/115003373465-Import-externer-SEP3-Daten-mit-der-SEP3-Austausch-Datenbank) on the German support portal, which is the canonical home for SEP content. For SEP import problems, see [Problems with SEP data](/support/troubleshooting#problems-with-sep-data-german-state-authority-deliveries).

For general (non-SEP) import how-tos, see [Import](/importing-data/import) and [Cross-database object copying](/importing-data/cross-database-object-copying).


# Overview

How GeoDin organizes your work: databases hold projects, projects hold objects (boreholes, locations), and objects carry general, layer, sample, well-design, measurement, and document data.

* [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database) - create or open a database connection.
* [Working with Projects](/workspace-and-data-management/working-with-projects) - create, organize, copy, or transfer projects.
* [Creating Objects](/workspace-and-data-management/creating-objects) - add boreholes and locations and manage their data.
* [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data) - enter, edit, and check measurement values and data types.
* [Managing Documents](/workspace-and-data-management/managing-documents) - attach files, photos, and reports to projects and objects.


# Connecting to a Database

How GeoDin stores data in databases - desktop vs client/server types, the system/user hierarchy and naming rules, and how to create a database connection from the GeoDin object manager.

## Databases

GeoDin data is stored in databases, which may contain any number of GeoDin projects - the only limit is your disk space.\
Databases are accessed using a specialized database driver (OLE-DB-Provider). This driver is included in your operating system or is provided with your database. Database connections are created, configured or deleted from the GeoDin user interface.

Depending on how the data is stored and managed, GeoDin differentiates between the following database types:

**Desktop databases**\
\
GeoDin data is stored in a user-defined physical database format such as Microsoft-Access (MDB). In order to use a desktop database you need a database connection. This can be done directly in GeoDin. Any program that supports the database format can be used for viewing or editing the data. The database operations are performed on the client PC.

\
**Client/Server databases**\
\
Data is stored in a database on a database server e.g. Oracle, SQL-Server etc. In addition to a database driver and database connection, client software for the relevant database is needed. A database administrator must set up user identification on the database server, which appears when the database is opened (login). The database functions are implemented on the database server reducing computing load on the client PC(s).Client/server databases can be used from ***GeoDinProfessional*** onwards.\
The GeoDin-System contains functions to copy or transfer data between database types. Hence it is possible to change the database format of a project after it has been created.

## Hierarchy and general rules

GeoDin databases can be defined on two distinct levels.

**System databases**

are configured centrally for a GeoDin installation and are displayed to every user who starts GeoDin from that installation. This is especially useful in network installations with client/server databases, as the database configuration only has to be done once centrally. A system database connection is created with the method **"Create database connection"** on the system level (see **Configuration**); the connection information is saved as a `*.CON` file in the `CONFIG` folder of the GeoDin installation, which can be write-protected on a network share and managed by the system administrator. These connection files can be passed on by file, or configured once by an administrator and then made available to all users. Any database settings defined on the system level override all other database definitions with the same name.

The **Import** method transfers system database connections from an existing legacy `GEODIN.INI` file automatically into the current format. After selecting a `GEODIN.INI`, the recognized database connections are displayed; set the check marks in front of the databases to transfer and confirm with **OK**. Each imported connection is saved as a `*.CON` file named after the selected display name.

{% hint style="warning" %}
From GeoDin 9 onwards, system databases configured in `GEODIN.INI` are no longer displayed in the GeoDin Object Manager. Use the **Import** method to migrate legacy `GEODIN.INI` connections to `*.CON` files.
{% endhint %}

**User databases**

are created or defined locally using the method **"Create database connection"**. The settings are stored on the user's PC and are available to the user that created them.

**Database connection name**

Different user databases cannot have identical names. A database connection defined as a system database is used in preference to a user-defined database

## Create database connection

The method **"Create database connection"** is available under the ![Databases](/files/bfjcNTu2ghN5Hk8gY3kj) **Databases** tab in the GeoDin object manager (GOM):

Upon starting the method you may then choose, whether to use an Access database or create a connection to a database server (with *GeoDin Client/Server* module).

Since GeoDin 9, database connections are no longer created with OLE-DB, but exclusively with FireDAC.

FireDAC has three main advantages over OLE-DB:

1. The connection allows faster access (especially noticable with client/server databases).
2. A complicated configuration process is not necessary (which is the case with ODBC connections).
3. The correlation of DLL\_ names of field type descriptors for Client/Server databases in the GeoDin.INI is not necessary.

Detailed descriptions on FireDAC connections can be found here:

<http://docwiki.embarcadero.com/RADStudio/XE5/en/Database\\_Connectivity\\_(FireDAC)>

The creation of database connections to Access databases is described in chapter: [MS Access](/workspace-and-data-management/connecting-to-a-database/supported-database-types)

The creation of database connections to Client/Server databases is described in chapter: [Client/Server](/workspace-and-data-management/connecting-to-a-database)

Object, measurement, report, document, and project-copy reference content formerly duplicated on this page now lives on its subject pages - see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data), [Object Operations Reference](/object-types/object-operations-reference), [Working with Projects](/workspace-and-data-management/working-with-projects), [Report Templates](/visualization-layouts-and-reporting/report-templates), and [Managing Documents](/workspace-and-data-management/managing-documents).

## Related topics

* [Managing Database Connections](/workspace-and-data-management/connecting-to-a-database/managing-database-connections) - editing, deleting, system vs. user databases, configuration
* [Supported Database Types](/workspace-and-data-management/connecting-to-a-database/supported-database-types) - Access, SQL-Server, Oracle, MySQL, PostgreSQL specifics


# Managing Database Connections

Editing, deleting and configuring database connections in the GeoDin object manager - the GeoDin.INI configuration keys, object-manager display options, and the system-tables reference.

Once a database connection exists, you manage it from the GeoDin object manager (GOM): edit or delete the connection, control how connections and projects are displayed, and tune the underlying `GeoDin.INI` configuration. The deeper system-tables reference at the bottom of the page documents how a GeoDin project's structure is stored.

## Edit a database connection

When the database icon of an database connection is selected in the GeoDin object manager (GOM), the method ![Edit database connection](/files/a6oOC5vxB2xGIizvStXX) **"Edit database connection"** is available.

{% hint style="info" %}
The database has to be closed.
{% endhint %}

Editing a database connection is the same as creating a new connection, with the exception that the current connection is replaced. Both the name of the connection and the Access file or Client/Server database may be changed.

The settings for Access databases are described in the chapter:

[MS Access](/workspace-and-data-management/connecting-to-a-database/supported-database-types)

The settings for Client/Server databases are described in the chapter:

[Client/Server](/workspace-and-data-management/connecting-to-a-database)

## Delete a database connection

An existing database connection can be deleted in the GeoDin-Object manager using the method ![Delete database connection](/files/a90LZW4W2mPyExkOcURt) **"Delete database connection"**.

{% hint style="info" %}
The database must be closed and it must be a user-defined database; system databases can only be deleted on the [System databases](/workspace-and-data-management/connecting-to-a-database).
{% endhint %}

Confirming with **OK** deletes the database connection in the GeoDin object manager. This deletes the connection but not the data, except in the following exceptions outlined below.

For a MS Access database the option of deleting the \*.accdb file of the Access data bank also exists.

{% hint style="danger" %}
**Warning:** If this option is chosen then the \*.accdb file will be deleted WITHOUT ANY possibility of restoring it. Hence use this option CAREFULLY and ONLY when you are certain that you do not need the database.
{% endhint %}

## User databases vs. system databases in centralized deployments

Understanding the distinction between user and system databases is especially important when GeoDin is installed centrally and accessed via Remote Desktop (RDS/Citrix) or a shared network installation.

**User databases** (blue cylinder icon) are stored in the **Windows registry of the individual user's local PC**. In a centralized deployment, this means they are stored in the registry profile of that user on the terminal server. Only that user sees these connections - other users opening GeoDin from the same installation will not see them.

**System databases** (yellow cylinder icon) are configured centrally for the installation and stored as `*.CON` files in the `CONFIG` folder of the GeoDin installation (see [System databases](/workspace-and-data-management/connecting-to-a-database)). Every user who opens GeoDin from that installation sees the same system databases.

{% hint style="info" %}
In organizations with a central GeoDin installation (e.g. accessed via Remote Desktop), shared project databases should be registered as **system databases** by the IT administrator (created on the system level and stored as `*.CON` files in the installation's `CONFIG` folder). This ensures all users see the same database connections without each person needing to configure their own connection.
{% endhint %}

{% hint style="warning" %}
If a user creates a user database connection and then another user needs to access the same database, that second user must also create their own connection - or the IT administrator must add the database as a system database.
{% endhint %}

**How the administrator adds one.** System database connections are created on the system page, not in the object manager: the **Create database connection** method there asks for a display name and then opens the same connection editor used for user databases. An **Import** method migrates connections from a legacy `GEODIN.INI`. Both are described in [Connecting to a Database > System databases](/workspace-and-data-management/connecting-to-a-database), which is the reference for how `*.CON` files are named, distributed, and made available to users.

## Migrating an Access database to PostgreSQL using Copy All Projects

The **Copy All Projects** method (available at the database level) is the recommended way to migrate an entire Access (`.accdb`) database into a PostgreSQL database. It creates a 1:1 copy of all projects while preserving project IDs and all data.

**Steps:**

1. Connect both the source Access database and the target PostgreSQL database in GeoDin.
2. Select the source database in the Object Manager.
3. Choose the method **Copy All Projects**.
4. Select the target PostgreSQL database as the destination and confirm.

After the copy completes, both databases are closed automatically. Open only one of them going forward - having the same project IDs in two databases simultaneously can cause confusion. Remove or rename the old Access database connection once migration is verified.

***

## Configuration

{% hint style="warning" %}
**System database connections are no longer defined in `GeoDin.INI`.** Since GeoDin 9.0, a system database connection is stored as a `*.CON` file in the `CONFIG` folder of the installation and is created on the system page - connections still written in a `GeoDin.INI` `[SystemDataBases]` section are not displayed in the GeoDin object manager. Migrate them with the **Import** method described in [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database). The `GeoDin.INI` keys documented below (`UserADODataBases`, `[DBCreateList]`, `[SystemDataBasesGroups]`) continue to control how the object manager behaves; only the connection definitions themselves have moved out of the INI file.
{% endhint %}

Display of database connections in theGeoDinobject manager

The default setting for the GeoDin object manager shows:

1. database connections that have been set up as system databases on the system side
2. user-specific database connections; these are stored user-specifically in the Windows registry and are also only visible to the user who has set up this connection

**Preventing user specific connections**

Setting the User ADODataBases=false in the \[Databases] section of the GeoDin.ini file hides both these database connections and the method for creating them. The methods for creating such connections are then also hidden.

```ini
[Database]
UserADODataBases=false
```

**\[Section \[DBCreateList] (optional part)]{.underline}**

This section limits the list of databases, in which new GeoDin projects can be created

**Example:**

```ini
[DBCreateList]
DB1=GIS-Projects
```

Users can create new projects only in database GIS-Projects.

**Definition of database groups**

Databases in the section \[SystemDataBases] can be optionally grouped in the object manager. To do so first create a new section in the configuration file where the groups can be defined:

```ini
[SystemDataBasesGroups]
GOMGroup1=Geotechnics
GOMGroup2=Hydrogeology
```

In the relevant configuration section of a system database (see below) enter the group name using the parameter GOMGroup.

```ini
[GeoDin_ARCHIVE]
....
....
GOMGroup=Geotechnics
```

The groups are shown in the GeoDin object manager as folders and are listed alphabetically directly beneath the ***...**\\**databases*** node.

## Display options

The standard setting in the GeoDin object manager (GOM) shows all projects in the open database. Additional information for a project (ID, author, date of creation) is shown by moving the mouse pointer over the project icon in the GOM:

Sample project GeoDin

Project 120/01

Project 120/02

ID:DEMOPR

FUGRO CONSULT GMBH

20.01.2011

You can configure the type of display and the labelling of the projects in the database by right-clicking on the database entry and selecting ***display properties*** from the pop-up menu. These settings are configuration specific for each user on a local PC. They have no affect on how the same projects are displayed on other workstations.

[Queries](/data-analysis/creating-queries)

GeoDin offers in each project a series of standard queries. These are for example the query "All objects", the queries for the object types or measurement point types. If you want to use only user-defined queries in your projects, you can hide the queries of object types and measurement point types. To achieve this deactivate the options -Object types- and -Measurement point types-.

The queries of the -System configuration- are the global queries, which are GeoDin system queries. The queries of the -Database administrator- concern the queries of the user "SYSQUERYOWNER", which are stored in the database. Further information about these queries is given in the chapter about creating [Queries](/data-analysis/creating-queries) and [Group objects](/workspace-and-data-management/creating-objects/data-management).

Here also the queries, which are prepared by the GeoDin system manager, can be shown or hidden.

**Extended object view**

With the option -Extended object view- you select, whether detailed information about the single object should be displayed in the GeoDin object manager. This affects on the one hand the existence of measurement values at the particular place and on the other hand the existence of linked documents. The objects are displayed in this case with different symbols:

Samples

B 02 : S1 (0-1)

Borehole 02

Borehole 03

Here a small blue sphere symbolizes the existence of measurement values, a small document symbol the existence of linked documents.

In case of existing documents this selection leads to a widening of the object display by the single documents:

Borehole 02

Documents

Graphics

Borehole

Well design

Data sequence

Further information to navigation and display of the documents you find in the chapter [Documents](/workspace-and-data-management/managing-documents).

The display of detailed information to each object in the GeoDin object manager takes more time to open the branches than without display. For slow database connections it can be sensible not to use this option, at least temporarily.

Limiting the projects shown in theGeoDinobject manager

If your project folder contains a high number of projects it may be helpful to limit the number of projects displayed by a condition in the WHERE field in SQL syntax. Every GeoDin project manager contains the following data fields:

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | Description             |
| ----------- | ----------- | ---------- | ---------- | ----------------------- |
| PRJ\_ID     | C           | 6          | 0          | Project ID              |
| PRJ\_NAME   | C           | 40         | 0          | Project name            |
| PRJ\_ALIAS  | C           | 40         | 0          | Alias (or project) name |
| PRJ\_TYPE   | C           | 1          | 0          | Project type            |
| PRJ\_OPT    | N           | 10         | 0          | Optional parameter      |
| PRJ\_USER   | C           | 30         | 0          | Name of author          |
| PRJ\_DATE   | D           | 10         | 0          | Date created            |
| PRJ\_PATH   | C           | 78         | 0          | Path or database alias  |

**SQL-Query examples:**

1. Display all projects by the author "Hutton":

WHERE: PRJ\_USER = 'Hutton'

1. Display all projects created after 01.01.2004:

WHERE: PRJ\_DATE >= '01.01.2004'

1. Display all projects created in 2004:

WHERE: PRJ\_DATE >= '01.01.2004' and PRJ\_DATE <= '31.12.2004'

***Note:*** *The date format depends on the database program used. In an Access-Database, the date must be defined as follows:*

\#mm/dd/yyyy# (#Month/Day/Year#)

In Access, the **example** queries given above are:

WHERE: PRJ\_DATE >= #01/01/2003#

WHERE: PRJ\_DATE >= #01/01/2002# and PRJ\_DATE <= #31/12/2002#

**Sorting the displayed project list**

The sorting criteria and information displayed can be set for the GeoDin object manager by choosing the relevant entries from the drop-down lists. If several items are required, then enter these in the entry field provided. Items can be separated by any keyboard characters.

For example the entry **'Name (Project ID)'** shows the project name and (in brackets) its ID.

The following key words can be used:

**'ID, Name, Alias, Date, Author'**.

***

## Reference: System tables

The system tables of a project contain the object type definition, measurement point type definitions and structure descriptions of physical data tables.

The system tables describe the physical data tables and the relationships between the data tables of a GeoDin project.

The system tables consist of the following tables:

### Object type definition

| Table    | System table name     | Definition                                      |
| -------- | --------------------- | ----------------------------------------------- |
| LOCTYPES | GeoDin\_SYS\_LOCTYPES | Definition of object types                      |
| LOCTABTY | GeoDin\_SYS\_LOCTABTY | Definition of data tables                       |
| LOCTABS  | GeoDin\_SYS\_LOCTABS  | Assignment of data tables to object types       |
| LOCSTRS  | GeoDin\_SYS\_LOCSTRS  | Definition of the structures of the data tables |

### Measuring point type definition

| Table    | System table name     | Definition                                                |
| -------- | --------------------- | --------------------------------------------------------- |
| INVTYPES | GeoDin\_SYS\_INVTYPES | Definition of measuring point                             |
| INVTABS  | GeoDin\_SYS\_INVTABS  | Assignment of the data types to the measuring point types |
| DATTYPES | GeoDin\_SYS\_DATTYPES | Definition of data types                                  |
| STFGRP   | GeoDin\_SYS\_STFGRP   | Definition of the substance groups                        |
| MESSTRS  | GeoDin\_SYS\_MESSTRS  | Definition of all measuring point type parameters         |

Notes on the data fields described:

**Descriptors**

contain references; the field name ends with \_DESC; except for the descriptors for dictionaries, a descriptor must be exactly 8 characters long and consist of capital letters and numbers.

**Long name**

Each descriptor is assigned a long name with 40 times; the field name ends with \_NAME; this name is displayed in GeoDin selection lists and should therefore uniquely describe the object.

**Options**

Options for an object are stored bit by bit in binary form in a longint parameter; the field name ends with \_OPT; bit 0 is 1; bit 1 is 2; bit 3 is 4 and so on. Each bit has a yes/no function for a characteristic of the object. Several bits can be set at the same time.

### Registration of an object type

Each object type is registered with a data record in the LOC-TYPES table. The following data fields are used for this:

| Field     | Description                                                                                 |
| --------- | ------------------------------------------------------------------------------------------- |
| GEN\_DESC | Descriptor of the digestion type (exactly 8 characters long, consisting of capital letters) |
| GEN\_NAME | Long name of the object type                                                                |
| GEN\_OPT  | System options                                                                              |

GEN\_OPT bit-flags:

| Bit (Value) | Meaning                                                      |
| ----------- | ------------------------------------------------------------ |
| 0 (1)       | GeoDin system object (cannot be changed)                     |
| 1 (2)       | SEP-compatible object, may be imported                       |
| 2 (4)       | Object type is displayed during 'Create'                     |
| 3 (8)       | Object type requires link to others                          |
| 4 (16)      | Object type allows creation of standard measurement programs |
| 5 (32)      | Attribution of graphic elements                              |
| 6 (64)      | Dynamic units                                                |
| 7 (128)     | Document description                                         |

### Registration of the tables used for the object type (LOCTABTY)

Each data table type is registered with a data record in the LOCTABTY table.

| Field      | Description                                                                                                                                                                                                                                |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| TABE\_TYPE | Table type. Describes the basic usage of a data table. There are mandatory fields prescribed by the system for each type of data table. (See the value table below.)                                                                       |
| TAB\_OPT   | System options (see bit-flag table below)                                                                                                                                                                                                  |
| TAB\_TRC   | Standard translation code. Reserved by the system until 16.                                                                                                                                                                                |
| INV\_TYPE  | Measuring point type. If the data table defines the measuring point type (e.g. general data table, filter table, sample table), INV\_TYPE determines the measuring point type and thus the type of measurement results that can be linked. |

TABE\_TYPE values:

| Value    | Meaning                                                                        |
| -------- | ------------------------------------------------------------------------------ |
| value=1  | General data table                                                             |
| value=2  | Layer data tables                                                              |
| value=3  | Expansion general data                                                         |
| value=4  | Borehole development                                                           |
| value=5  | Backfilling                                                                    |
| value=6  | Pipe removal and installation                                                  |
| value=7  | Removal of special installations                                               |
| value=8  | Removal measuring point specification                                          |
| value=9  | Sample table                                                                   |
| value=10 | Sounding registry                                                              |
| value=11 | Sounding data                                                                  |
| value=12 | Link from LOC                                                                  |
| value=13 | Link from FIL                                                                  |
| value=14 | Link from PRB                                                                  |
| value=15 | Expansion flushing                                                             |
| value=16 | Undifferentiated data table 1:n to location                                    |
| value=17 | Measured value table - real table in GEOTAB                                    |
| value=18 | Title data SVZ                                                                 |
| value=19 | Layer data table versions                                                      |
| value=20 | SED measured values as probing-temporal for graphic structure like Sonddata    |
| value=21 | Sample measured values as probing-temporal for graphic structure like Sonddata |
| value=22 | Data table 1:n for location with SUBID                                         |
| value=23 | Data table 1:n for location with SUBID for LTO\_HNMTab                         |
| value=24 | Temporary mem table - not on LOCOBJ                                            |
| value=25 | Graphic attributes                                                             |
| value=26 | Expansion of title data versions                                               |
| value=27 | Expansion borehole versions                                                    |
| value=28 | Expansion backfill versions                                                    |
| value=29 | Removal of pipes and installation Versions                                     |
| value=30 | Removal of special installations Versions                                      |
| value=31 | Removal of filter data Versions                                                |
| value=32 | Removal Flushing Versions                                                      |
| value=33 | Document description general data                                              |

TAB\_OPT bit-flags:

| Bit (Value) | Meaning                                                                                                                                                                                                                           |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0 (1)       | Main table (general tables and layer tables); in the case of probing register table, probes are saved as BLOB in the reg table (the SNDDATA field with type B must be defined in the reg table), probing data table remains empty |
| 1 (2)       | SEP layer data table                                                                                                                                                                                                              |
| 2 (4)       | Depth information starts with 0                                                                                                                                                                                                   |
| 3 (8)       | Shifts can be printed out in DIN form                                                                                                                                                                                             |
| 4 (16)      | Write lock                                                                                                                                                                                                                        |
| 5 (32)      | not visible                                                                                                                                                                                                                       |
| 6 (64)      | Delete lock                                                                                                                                                                                                                       |
| 7 (128)     | Insertion lock                                                                                                                                                                                                                    |
| 8 (256)     | Numbered layer data table with sub-layers                                                                                                                                                                                         |

### Assignment of data tables to object types (LOCTABS)

For each object type, the descriptors (GEN\_DESC) of the data tables to be used for the object type are stored in the LOC-TABS table. This defines, for example, whether the object type contains tables for layer descriptions etc. or not. At the same time, the table descriptor (TAB\_DESC) is used to refer to a structure of a data table, which is defined in the LOCSTRS table.

### Structure of the data tables (LOCSTRS)

The structures of all data tables are stored in the LOCSTRS table. Each data table can contain a maximum of 255 data fields.

| Data fields | Description                                                                                         |
| ----------- | --------------------------------------------------------------------------------------------------- |
| TAB\_DESC   | Descriptor of a data table                                                                          |
| FIELD\_NAME | Physical field name                                                                                 |
| FIELD\_TYPE | Physical field type; C (character), N (numeric), D (date), S (date/time) and M (memo) are permitted |
| FIELD\_LEN  | Physical field length (for D:=10)                                                                   |
| FIELD\_DEC  | Number of decimal places for numeric fields                                                         |
| FIELD\_CNT  | Running counter of the field in a data table                                                        |
| FIELD\_OPT  | System options (extract) (see bit-flag table below)                                                 |
| FIELD\_LONG | Long name for data field                                                                            |
| FIELD\_DIC  | Descriptor of a dictionary for the data field                                                       |
| FIELD\_GRP  | Descriptor of a dictionary for the data field                                                       |
| FIELD\_UNIT | Measurement unit                                                                                    |
| FIELD\_FMT  | Output format                                                                                       |
| FIELD\_DEF  | Default value                                                                                       |

FIELD\_OPT bit-flags:

| Bit (Value)  | Meaning                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0 (1)        | Indexed field                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 1 (2)        | Unique index (unique) only if bit 0 is set                                                                                                                                                                                                                                                                                                                                                                                                        |
| 2 (4)        | Field is used for signature / for measured values: Offset field                                                                                                                                                                                                                                                                                                                                                                                   |
| 3 (8)        | Field is used for signature (secondary)                                                                                                                                                                                                                                                                                                                                                                                                           |
| 4 (16)       | Field is used for signature (tertiary)                                                                                                                                                                                                                                                                                                                                                                                                            |
| 5 (32)       | Mandatory field                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 6 (64)       | Long codes are used (WB)                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 7 (128)      | either only an abbreviation (not bit 6) or long entry editable (with bit 6) (bit 6 off): on : only one key is allowed / off : several keys are permitted; (bit 6 on): on : Long texts can be edited / off : Long texts cannot be edited                                                                                                                                                                                                           |
| 8 (256)      | Field visible (for measured values)                                                                                                                                                                                                                                                                                                                                                                                                               |
| 9 (512)      | Field editable (for measured values) (vacant: always set)                                                                                                                                                                                                                                                                                                                                                                                         |
| 10 (1024)    | Quantity parameters                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 11 (2048)    | Calculated parameter                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 12 (4096)    | Negative values allowed                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 13 (8192)    | Anorganic                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 14 (16384)   | Write lockout                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 15 (32768)   | External field                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 16 (65536)   | Conditional write lockout                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 17 (131072)  | controls WB fields, Dic: Bit 6 on - write combo key (instead of long name) in DB; 131136 for Dic - show plain text, key in DB: 17+6; 131168 same as mandatory field, 17+6+5 Dic: Bit 6 off - ? as plain text (key in DB); 131200 not mandatory only one key 17+7; 131232 as mandatory field only one key 17+7+5 Dic: Bit 6 off - ? as plain text (several keys in DB); 131072 not mandatory multiple keys 17; 131104 mandatory multiple keys 17+5 |
| 18 (262144)  | TVQK\_SingleNorm Recoding of the standard text during input                                                                                                                                                                                                                                                                                                                                                                                       |
| 19 (524288)  | Field has dynamic units                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 20 (1048576) | Last FixedCol field                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 21 (2097152) | Field is automatically transferred to new DS                                                                                                                                                                                                                                                                                                                                                                                                      |

Object, measurement, report, document, and project-copy reference content formerly duplicated on this page now lives on its subject pages - see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data), [Object Operations Reference](/object-types/object-operations-reference), [Working with Projects](/workspace-and-data-management/working-with-projects), [Report Templates](/visualization-layouts-and-reporting/report-templates), and [Managing Documents](/workspace-and-data-management/managing-documents).

## Related topics

* [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database) - creating connections
* [Supported Database Types](/workspace-and-data-management/connecting-to-a-database/supported-database-types) - per-backend specifics


# Supported Database Types

The database backends GeoDin connects to - Client/Server via OLE-DB or FireDAC, and desktop MS Access - with per-platform drivers, GeoDin-to-DDL data type mappings and example connection strings.

GeoDin connects both to file-based desktop databases (MS Access) and to Client/Server backends (Oracle, MySQL, PostgreSQL, Microsoft SQL-Server). This page is the per-backend reference: how the connection is made, the driver each platform needs, the GeoDin-to-DDL data type mapping, and an example connection string. Use it when you are setting up a connection to a specific backend; for the general database concepts and the create-connection method see [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database).

## Client/Server connections

In the appropriate environment and especially for working with a high amount of data the use of a database server is sensible. GeoDin supports database connections via **OLE-DB** and **FireDAC**. Whilst OLE-DB has been supported since GeoDin 3.0 , FireDAC is a new high performance data access library for use starting with GeoDin 8 available for customers with a "Software Update Service Contract". The performance of data acces using FireDAC is much faster than OLE-DB, particularly when using Oracle-Server, MySQL Server and PostgreSQL databases.

Furthermore some database features are only supported by FireDAC and not by OLE-DB fehlen (e.g. the Oracle data fields CLOB and BLOB). FireDAC also supportsavailable for the quick entering, editing and deletion of data records.

***Note:*** *Client/Server databases can only be connected using the* \*\**GeoDin* *Client/Server module!*

When making a database connection you are essentially creating a database connection string

**Database name**

First enter a database connection name. This does not need to be the actual database (file) name - it is simply what you will see in the GeoDin user interface.

**Driver**

Chose the type of connection or driver.

There are two ways to create a connection string

Either enter it in the field provided

or

by using the icon **Create connection string** whichis done in several steps.

**Create connection stringFireDAC1. Step: Provider**

In the first step the database provider is selected. The dialogue shows all providers, which are available in the system. If a database specific OLE DB provider is available (for example for SQL Server or oracle), it should be preferred to other opportunities.

**2. Step:**

Now enter the database address (*Database*), the user name (*User\_Name*) and the password (*Password*).

On further tabs of the dialogue database settings can be made ("Options"), information on the database connection added ("Info") or a SQLScript run ("SQL Sript").

After making these entries the database connection string is available in GeoDin and can be tested using **Test database connection**.

Alternatively a .UDL file can be used for storing information on a database connection. To do this create an empty text file with this extension. Upon double-clicking the file in Windows Explorer the settings dialogue window will automatically open. After making the necessary entries and savings the new UDL file it can be used for database connections and be tested in GeoDin using the same proceedure.

**System database**

Information on system databases is described in the chapter [System databases](/workspace-and-data-management/connecting-to-a-database).

***

## Reference: Database platforms

GeoDin automatically recognises the database type and maps its own data types onto the platform-native DDL types. The subsections below give, per platform, the driver requirements, the GeoDin-to-DDL data type mapping and an example connection string.

### MS Access

The simplest way to work with databases is the use of a MS Access database by creating a connection directly in GeoDin. Here an existing database (\*.accdb) can be used or a new one can be created.

**Driver**

For use in GeoDin 8.x - 9.0 MS-Access drivers in 32bit are required. From GeoDin 9.5 onwards in 64bit.

If you have Microsoft Office installed, the appropriate drivers are already included, depending on whether you have installed the 32bit or 64bit version of MS-Office. If drivers are missing, GeoDin will inform you and refer you to the appropriate Microsoft downloads.

<https://www.microsoft.com/en-US/download/details.aspx?id=54920>

**Use an existing Access database**

Using drag and drop, an existing MS Access database can be dragged from a Windows Explorer window into the GeoDin object manager. To do this, select the database with a single mouse click and drag the symbol to the database branch in GeoDin while holding down the mouse button. Release the mouse button there.

The file name is used as the name of the database connection.

Using the **"Create database connection"** method, you can also set up the database connection:

Give the new database connection a name and select the corresponding \*.accdb file via the button with the folder symbol.

Older database files in \*.mdb format can be converted to \*.accdb with MS-Access.

**Create new Access database**

The second option is to create a new database. To do this, activate the option -Create new database-. By pressing the button below with the symbol **New database file** you determine the name and storage location of the database file.

**Open database in read-only mode**

To establish a read-only Access database connection, the connection string can be extended by the parameter "ReadOnly=True".

GeoDin recognises this setting and automatically hides all methods for changing the data in this database. For example, new projects cannot be created, data cannot be edited and new queries cannot be created.

**Configuration file**

Since GeoDin 9.0, database information from GeoDin.ini is no longer supported. This is now all conveniently available in the interface on the system page under [System databases](/workspace-and-data-management/connecting-to-a-database).

**Connection symbol order**

For the access on an MS Access database GeoDin uses internally the connection symbol order:

*DriverID=MSAcc;Database= \[File name]* for FireDAC connection where \[File name] has to contain the complete path and name of the \*.accdb file.

**Example:** DriverID=MSAcc;Database=C:\GeoDinDATEN\GeoDinDemoDB.accdb

### MySQL

**FireDAC**

GeoDin automatically recognises the database type

| GeoDin Data Type | DDL Name   |
| ---------------- | ---------- |
| String           | VARCHAR(n) |
| SmallInt         | SMALLINT   |
| Integer          | INTEGER    |
| Float            | DOUBLE     |
| Date             | DATE       |
| TimeStamp        | DATETIME   |
| Memo             | LONGTEXT   |
| Blob             | LONGBLOB   |

With FireDAC it is possible to natively access the database without ODBC .TimeStamp values and Array-DML (natively) are supported.

FireDAC using Array-DML is a factor of 8 to 17 times faster than OLE-DB.

**Connection string:**

FireDACConnection=DriverID=MySQL;Server=192.168.49.249;Database=Test;User\_Name=\*;Password=\*

Detailed descriptions on FireDAC connections can be found here:

<http://docwiki.embarcadero.com/RADStudio/XE5/en/Database\\_Connectivity\\_(FireDAC)>

### PostGreSQL

**FireDAC**

GeoDin automatically recognises the database type

| GeoDin Data Type | DDL Name   |
| ---------------- | ---------- |
| String           | VARCHAR(n) |
| SmallInt         | SMALLINT   |
| Integer          | INTEGER    |
| Float            | FLOAT      |
| Date             | DATE       |
| TimeStamp        | TIMESTAMP  |
| Memo             | TEXT       |
| Blob             | BYTEA      |

With FireDAC it is possible to natively access the database without ODBC .TimeStamp values and Array-DML (natively) are supported.

FireDAC using Array-DML is a factor of 4 to 10 times faster than OLE-DB.

**Connection string:**

FireDACConnection=DriverID=PG;Server=192.168.49.249;Database=DemoDB;User\_Name=\*;Password=\*

Detailed descriptions on FireDAC connections can be found here:

<https://docwiki.embarcadero.com/RADStudio/XE5/en/Database\\_Connectivity\\_(FireDAC)>

### Microsoft SQL-Server

**FireDAC**

GeoDin automatically recognizes the database type.

| GeoDin data type | DDL Name   |
| ---------------- | ---------- |
| String           | VARCHAR(n) |
| SmallInt         | SMALLINT   |
| Integer          | INTEGER    |
| Float            | FLOAT      |
| Date             | DATETIME   |
| TimeStamp        | DATETIME   |
| Memo             | TEXT       |
| Blob             | IMAGE      |

FireDAC is a factor of 1,2 to 1,6 faster than OLE-DB.

**Connection string:**

FireDACConnection=DriverID=MSSQL;Server=192.168.49.250;Database=GeoDin;User\_Name=\*;Password=\*

**Connection string with Windows authentication:**

FireDACConnection=DriverID=MSSQL;Server=192.168.49.250;Database=GeoDin;OSAuthent=Yes

### Oracle Server

**FireDAC**

Automatic recognition of the database type by GeoDin

| GeoDin data type | DDL-Name   |
| ---------------- | ---------- |
| String           | VARCHAR(n) |
| SmallInt         | SMALLINT   |
| Integer          | INTEGER    |
| Float            | FLOAT      |
| Date             | DATE       |
| TimeStamp        | DATE       |
| Memo             | CLOB       |
| Blob             | BLOB       |

The field types CLOB and BLOB are supported.

Array-DML is supported natively.

FireDAC is between 5 and 32 times faster than OLE-DB when using Array-DML

1. A complete installation of the Oracle cient is not necessary on the client PC. Simply by copying 5 DLL libraries to the BIN folder of your installation is sufficient. To do this download either the *Oracle instant x86* or *x64 client* archive, unpack and copy these files to the BIN folder:
2. oci.dll
3. oraocci12.dll
4. oraociei12.dll
5. oraons.dll
6. orasql12.dll

If you work with TNS Names, please also save the file tnsnames.ora in this folder or edit the properties of the TFDPhysOracleDriverLink.TNSAdmin to the file tnsnames.ora or use the TNSAdmin driver configuration parameter.

Set TFDPhysOracleDriverLink.NLSLang to the required value or use the NLSLang driver configuration parameter.

**Connection string:**

FireDACConnection=DriverID=Ora;Database=192.168.49.20/firedac;User\_Name=\*;Password=\*

**Connection string Windows Auth:**

FireDACConnection=DriverID=Ora;Database=192.168.49.20/firedac;OSAuthent=Yeserd

Detailed descriptions on FireDAC connections can be found here:

<http://docwiki.embarcadero.com/RADStudio/XE5/en/Database\\_Connectivity\\_(FireDAC)>

Object, measurement, report, document, and project-copy reference content formerly duplicated on this page now lives on its subject pages - see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data), [Object Operations Reference](/object-types/object-operations-reference), [Working with Projects](/workspace-and-data-management/working-with-projects), [Report Templates](/visualization-layouts-and-reporting/report-templates), and [Managing Documents](/workspace-and-data-management/managing-documents).

## Related topics

* [Connecting to a Database](/workspace-and-data-management/connecting-to-a-database) - creating connections
* [Managing Database Connections](/workspace-and-data-management/connecting-to-a-database/managing-database-connections) - managing, system vs. user databases


# Working with Projects

This is the comprehensive reference for GeoDin projects - how they are created and managed, how project data is copied or moved between projects and databases, how data is transferred to other systems, and how legacy projects are converted into the current format. For the focused handover and transfer workflow, see [Copying and Transferring Projects](/workspace-and-data-management/working-with-projects/copying-and-transferring-projects).

## Creating and managing projects

### Projects

A GeoDin project is used to combine objects, measurement values and documents, which belong to a unit regarding content. These units can - depending on the case - be projects from the working profile of the user (for example an investigation task) or locally defined projects (for example all boreholes of a map sheet).

How you combine the objects in a project, is left to you. Because objects can be transferred from one project to another, it is possible to change the combination later. The project data is stored in the tables of a database. The access is done over a database connection.

### Project details

First select the database, in which the project should be created (for this select the chosen database entry in the object manager and open the branch with a double-click or clicking the plus **+** symbol). With selected and opened database the symbol ![New project](/files/Bhfpq5TvMdXaDQwXHoS2) **"New project"** appears in the method bar:

The given project name is shown in the GeoDin object manager. An alias name can be used for a second project name or a company related identification.

GeoDin automatically creates a unique project ID. This project ID is used in the PRJ\_ID column in the database tables. If you wish to use a user-defined project ID, select the option -User-specified ID-. The user must take care that the project ID is unique, as GeoDin does not check whether the ID has been used in other databases before. Therefore, an automatically generated project ID is recommended.

After creating the project it is automatically shown in the GeoDin object manager and you can start entering borehole data.

The method **"Edit project information"** allows users to change the name, alias name and author of a project. You cannot change the project ID.

Related subjects:

[Create object](/workspace-and-data-management/creating-objects)

[Data management](/workspace-and-data-management/creating-objects/data-management)

### Open project

You can open a project by double-clicking on the project entry, by clicking on the arrow sign in front of the project entry or by double-clicking on the method symbol ![Open project](/files/SoSDVDutt01joHog63rA) **"Open project"**

An open project is indicated by a yellow folder icon in the GeoDin object manager and remains open throughout the session until it is explicitly closed by the ![Close project](/files/jj2kVyv8LYXeFOdYO9Da) **"Close project"** or **"Close database"** methods.

You can open any number of projects (also from any number of databases) at the same time and navigate between them in the GeoDin object manager.

When you close GeoDin, all projects and databases are automatically closed.

To close a project, double-click on the **"Close project"** method icon .

***Tip:*** *Clicking on the arrow sign in front of a project entry does not close the project but only hides the entries below the project.*

### Delete project

To delete a project from the GeoDin database choose the method ![Delete project](/files/zLbwAL6k30YuWNfdvNBv) **"Delete project"**

After confirming your intention in the delete project window all project data is deleted.

If you delete a project in a database (MS Access, ORACLE etc.) all data sets, which are related with objects of the project to be deleted, are removed from the tables. Database tables are not deleted.

## Copying and moving project data

### Copy project

To copy an entire project choose the method ![Copy project](/files/mDP9yDY13GXSwrs9pXPS) **"Copy project"**

The entries for project name and author must be entered - the default values are based on the original project.

All borehole information (geological layers, samples, monitoring wells and data sequences) is copied. Measurement values (chemical analyses, groundwater levels) and document data (text, spreadsheets etc.) are included only if the option box is checked.

Document data are copied only if they are stored in the database. If the document is a link to a file, the link is copied while the file itself will not be duplicated. In this case, two objects contain the same link to the same file, the original object and the copy. Therefore, it is recommended to store the documents in the GeoDin database, not only the links. This way, once an object is copied, a duplicate of the document will be created. This way, exchanging GeoDin projects with the included documents is much easier. Links are recommended only for very large files.

It is possible to copy all projects of a database in one operation using the method: [Copy all projects](/workspace-and-data-management/working-with-projects/copying-and-transferring-projects)

***Details about queries and groups***

*Created queries and groups of objects in a project or a database are stored in the database with the database login (e.g. Oracle, MS SQL-Server) and the user ID in the table GeoDin\_SYS\_PRJDEFS. Only the owner of the query or group sees these entries in the object manager. Every user only sees his own particular queries and groups. In an MS Access database (without database login) queries and groups are seen by all users, irrespective from which user has created the query or group.*

*If a project is or all projects are copied from an MS Access database into an Oracle or SQL-Server database the following definition is applied: If the source Access database has no owner of the query (the standard case) the user who has copied the project (or all projects) becomes the owner of the query. If an owner is defined in the source Access database (special case using the entry: ObjOwner=WorkStationLogin) this owner name is transferred into the target database.*

*Normally after copying single projects or all projects from an Access database in an SQL-database with database login other users (login names) cannot see the queries and groups in the object manager. In this case change the entries in the column OBJ\_OWNER in the table GeoDin\_SYS\_PRJDEFS of the target database. Use an SQL-tool to correct the entries to the required user names. Also note the information about user and system queries and their configuration in the chapter* [*Queries*](/data-analysis/creating-queries)*.*

### Copy all projects

It is possible to copy all projects from one database into another in one step. Opposite to copying a single project here the original project identifications are kept and a 1:1 copy of the database is created. This function is useful for transferring complete GeoDin databases from one database format to another.

For this select at the database entry of the source database the method ![Copy all projects](/files/kONveBM8nOH1Gmw1yZnl) **"Copy all projects"** .

After choosing the destination directory and confirming with **OK** the copying process begins. Depending on the size of the database and the type of the database connection, this may take a long time. After successfully completing the operation both databases are automatically closed. Always open only one of the databases, because GeoDin system identifies a project by its ID number, which now exists in two databases.

To prevent unintentional mistakes it is better to delete one of the "old" database connections.

Please note the information about queries and groups in the chapter [Copy project](/workspace-and-data-management/working-with-projects/copying-and-transferring-projects).

### Add objects

With this method objects (no measuring points!) can be taken over into other projects. Therefore, only objects of nodes, queries and groups that contain objects (red ball as symbol) can be taken over.

It is not possible to take over an object that already exists in the target project into the list of objects. If you want to duplicate an object in the same project, use instead the method [Duplicate object](/workspace-and-data-management/working-with-projects/copying-and-transferring-projects).

**To transfer objects from one project to another, proceed as follows:**

1\. First open the project in which you want to add the objects and select it.

2\. Open the method ![Add object](/files/SWtMz6l0Qdh7OUxNXmUk) **"Add object"**.

3\. Now open the database and the project, query or group from which you want to copy objects to your target project.

4\. Drag and drop the desired objects individually or a query or group into the "List of objects" of the \<Add objects> window and drop the entry there.

The presence of the **"Add objects"** method in the method bar indicates whether you can add objects to the list. Instead of dragging and dropping the objects into the window, you can also double-click on this method symbol to take over the selected object or group into the list.

After taking over the object into the list, the method symbol automatically disappears from the bar. It is not possible to take over the same object several times into the "List of objects".

With this button selected entries (even several at the same time) can be removed from the list of objects.

If many individual objects are to be taken over from a project, it is sometimes easier to take over the project with all objects ("All objects" node) in the list in order to then remove objects that are not to be taken over collectively from the list again.

**Once you have arranged all the objects in the list, you can choose between two methods:**\
\&#xNAN;**"Copy"** - makes a copy and leaves the object in the original project location\
\&#xNAN;**"Move"** - the objects are moved to the new project and are no longer present in the original location

**Include data**

Specify here (only if the **"Copy"** method was previously selected) which data should be transferred:

**with measured values** - If the option is confirmed, all measured values and the relevant data (e.g. data types) are also transferred; if the check mark is removed, no data and information relevant to measured values are transferred.

**with documents** - If this option is set, documents and document data are transferred; if the option is deactivated, no document data is transferred.

**ConversionSEP1 -> SEP3**

The function SEP1 - SEP3 conversion is used for the change of GeoDin objects. It is designed for objects, which were entered in the SEP1 standard and are transferred into the new standard SEP3.

***Attention:***

*The "Conversion" node is only available and becomes visible when objects that can also be converted have been dragged into the "List of objects" window.*

*If the window is still empty or only objects of non-convertible object types have been dragged in, the node is not visible for the time being.*

The following GeoDin object types are supported:

1. Complete location SEP-compatible
2. Standard location SEP-compatible
3. User defined location SEP-compatible
4. Complete location DIN 4022 / DIN 4023

During the conversion the following important transfers are performed:

**General data and well design**

The general data of the SEP1 object types are transferred in the general data tables of the SEP3 object types. The existing codes containing information about the coordinate systems, coordinate finding, height system, height finding, reason of boring and boring method, as well as confidentiality are transferred in the ones of the particular SEP3 dictionaries. General data, which do not exist in the SEP1 object type (esp. after DIN 4023) and do not exist in SEP, are not transferred.

**Groundwater information**

In contrast to the SEP1 object types in SEP3 the information about water, which is found during boring, is managed in a separate table. During the conversion the groundwater information is extracted from the layer descriptions and transferred in this table.

**Layer descriptions**

The most important aspect is the conversion of the layer descriptions. SEP3 differs from SEP1 by clear syntax rules and hierarchic relations between the single formations. During the conversion the symbol structure is analyzed. Recognizable relations between the single formations are identified and used for the conversion. Generally summaries, transitions and attributes are realized as relations.

If different versions of bore logs exist for the objects to be converted (further bore logs can be added to the title data and designated there in the "Type of interpretation" field), they appear and can be ticked individually for transfer to the target.

Sub-layers or components contained in the layer descriptions are extracted and stored in sub-layer datasets.

Text is translated if possible or transferred in the remark field.

Abbreviations, which belong in SEP3 in other fields are extracted and newly positioned.

**Examples:**

U;t,s,g,kf =>U(t,s,g)

mS;fs,vos(gS) =>mS(fs),gS(vos)

The original data of the SEP1 object types remain unaffected from the conversion and are available in a source data bank.

The following errors are stored in the field "Note".

Depending on the country of origin they can also be combined. The origin of the error is recognizable from the abbreviation.

1. P- error - Petrography error
2. G- error - Genesis error
3. S- error - Stratigraphy error

These 3 error types are additionally displayed with the post-position (SART), if the error occurred trying to solve a sub-layer.

#### Errors and Description

1857

The code could not be found in the dictionary!

2650

The number of left brackets does not match the number of right brackets.

4022

This code cannot be displayed with a post-positioned number as quantification.

4025

The code ... cannot be an attribute (descriptive feature) of the describing code ... .

4029

This code describes a layer type and cannot be used as attribute for the code ... here.

4031

The code ... describes no main ingredient. A layer description has to start with at least one main ingredient.

4036

This code cannot create transitions to other codes.

4038

The depth stated in the attribute is not in the depth sector of the main layer or the sub-layer description.

4080

The code cannot create a transition to the previous code ... of the described transition.

4011

After a closing bracket only the symbols \<comma> \<bracket open/close>, \<minus> or \<end of input> are allowed. A code cannot follow a closed bracket.

***

## Transferring GeoDin data

### Transfer GeoDin data

For the transfer of database projects the following methods are available:

![Export data](/files/DOpge2OXcJwhM6uEMQ0i) **Export data**

With the method **"Export data"**, within the method collection **"Publish and export"**, you can compress your data (database, projects, objects or queries) into a Zip-archive on a path at your PC or network you have chosen. Please note that with large amounts of data, this process may take a while. After compression you can send it via your standard email client.

It is possible to automatically attach the current layout and / or the GeoDin configuration files in addition to the data. Often, quedtions to the support are easier to answer if the original layout is included. For this, select the desired option.

As recipient of the data, unpack the Zip-files. Please take note of the hints at the bottom of this section (Availability on the target computer).

**Transfer of the database file (desktop databases)**

This is only possible, if the database connection is a so-called desktop database, what means that the database container is a file. This is for example the case in a Microsoft Access database. Here the database containers are files with the ending \*.mdb on your hard disc or network.

In the simplest case you can transfer the \*.mdb file, but note that a database connection can contain several projects. In the \*.mdb file in this case (if not all projects, but only a single project from a database should be transferred) more information than you want is transferred.

If the database connection contains more projects, than you want to transfer, first create a new database connection (and also a new empty container file (\*.mdb)) and copy afterwards a project, which should be transferred with the method **"Copy project"** in this new empty database connection. After copying transfer the \*.mdb file, which only contains one project.

**Transfer of projects of client/server database connections**

Here the project data is stored on a database server and parts cannot be transferred as files.

First create a new database connection for desktop databases (Access database). Here you also create the new container file (\*.mdb) that you transfer later. Now copy the project (or the projects) to be transferred with the method **"Copy project"** in this new empty database connection. After copying transfer the new created \*.mdb file.

**Availability on the target computer**

After copying the database connection (\*.mdb) on the target computer, a new database connection has to be created there to get access to this database file. Select in the method [Create database connection](/workspace-and-data-management/connecting-to-a-database/managing-database-connections) the transferred \*.mdb file and give the database connection a new name. After completing the method the database connection is displayed in the object manager and you can open the transferred projects.

### Conversion tool

To transfer projects, graphics and layouts from GeoDin version 1.x in the actual GeoDin version the tool **"Conversion"** is available.

\
This tool has to be installed separately from the GeoDin CD if necessary. Start therefore from the GeoDin CD the program ***DR:**\\**ENGLISH**\\**INSTALL**\\**CONVER**\\**SETUP.EXE***, where for **"DR"** your CD-ROM drive identification has to be inserted.

Select the directory of your actual GeoDin installation as destination directory for the installation. Follow the further installation steps according the instructions on the screen.

Select the icon **Projects**, to transfer GeoDin projects in the current format. First select the chosen project of the version 1.x. If on your drive no GeoDin projects are displayed, test the following settings:

The conversion tool assumes, that on the selected drive a folder with the name ODINDAT and the content of a GeoDin 1.x project exists. If you have chosen another folder for your projects, change the particular setting in the file GeoDin20.ini in the name of the folder and start the conversion tool again.

\[Version 1.0]\
LocalMgr=\ODINDAT

The selected folder has to contain a file with the name local.mgr. If this file is missing, your GeoDin 1.x files are incomplete. In this case contact the GeoDin Hotline for further support.

After selecting the project to be transferred create a target project in the actual format. The general project information is transferred automatically from the existing project. The drive for the target project can be selected.\
\
Because GeoDin system works with different location types, in the list **"To type"** can be selected, which target location type should be used for the transfer of the project data. In the setting **"Auto"** the conversion takes over the selection of the location type considering the data entered in the project 1.x. The result can be that in the target project boreholes are stored in different location types and that also different input forms for the entry of general data are required. The standard location types of GeoDin systems are varying for the following location types only in the number of available general data:

SSGKRZV1 - contains general data of the mask 'SHORT' of the version 1.x

SSGSTDV1 - contains general data of the symbol code geology: mask 'SEP' of the version 1.x

SSGD4022 - contains general data of DIN 4022: mask 'DIN4022' of the version 1.x

SSGBENV1 - contains general data of the mask 'USER' of the version 1.x

The automatic selection of the target location type considers the masks used during the entry with the version 1.x, so that no information is lost. Because in the version 1.x a change between input forms was possible, the locations can contain information, which were entered by the import of outside data and can be left out in the further process. In this case it is recommended to select the target location type and ignore not required information. Edit the boreholes in GeoDin base 1.x with the mask.

\
SHORT select the location type SSGKRZV1

SEP select the location type SSGSTDV1

DIN4022 select the location type SSGD4022

USER select the location type SSGBENV1

***Attention:*** *The pre-selection of a location type can result that information from the general borehole data is ignored during the transfer in the current GeoDin version and is not transferred in the new project. In cases of doubt select the type "Auto". The type selection has no influence on the layer data, sample information, well design and data sequence data. These are always transferred completely.*

After transferring the project it is ready for editing with the actual GeoDin version. The original project of the version 1.x remains unchanged.

Optional all projects of a drive can be transferred into the actual GeoDin version in one single operation. For this select the chosen drive identification in the entry field and click the icon **Start**. If you have stored graphics or layouts in the project directories, you can have them transferred with the option -Include graphics- in the same step.

For transferring single **Graphics and layouts** click on the particular icon. In the following file selection menu select the chosen file. The transferred Graphic/Layout is stored at the same place with the same name. The data endings are changing to the following:

for layouts: layout.SHB ---> layout.GLO\
for graphics: graphic.GRF ---> graphic.GGF

***Note:*** *Eventually project links in the graphics of the version 1.x are unlinked, because it is not considered that linked projects are transferred. To avoid this the option -Embed location data- can be activated. Then the location data are embedded into the graphic before the conversion.*

***

## Reference: Converting legacy projects

### Select a source

Standard projects and dBase projects can be selected for conversion into the MS Access (or Client / Server) database format.

By selecting this method, all available drives will be searched for the directory containing the GeoDin projects, normally the directory "GeoDinDB". This directory is specified in the GeoDin.ini by the entry LocalMgrPath=\GeoDinDB\\

The selection list shows all drives where this directory was found (here: C:\GeoDin und E:\GeoDinDB).

If a drive is selected, the project registry is accessed (the table LOCPRMGR in the GeoDin directory) and the number of available projects is displayed.This number includes those projects which are located in other directories, but are registered in "GeoDinDB".

GeoDin standard projects - created by users with older GeoDin versions - can not be registered in GeoDin 6, and are therefore not listed in the LOCPRMGR.DBF. Therefore, they are not found when using the method described above.

When selecting this option, a directory containing the standard projects may be specified. All projects in the file are identified by the GeoDinPR.DBF in the SYS directory and are presented in a list.

The dBase projects are not located in a directory with a fixed name. In a dialogue box, the folder containing the database can be selected. The project registry is accessed and the number of available projects is displayed.

### Select projects

The number of available projects is displayed for the source selected.

If a file-based project is selected, single projects or project groups can be selected. This can be done repeatedly for different target objects to split up the local database.

If a dBase database is selected as source, all projects will be converted. Selection of the converted projects is not possible.

### Select a destination

It is necessary to convert file-based and dBase projects into regular GeoDin databases to provide the full spectrum of GeoDin functions available.

All available databases are displayed in a list. The database system can be anything from MS Access to Oracle.

After selection of the target database and clicking OK, the selected projects are copied into the new database.

Alternatively, a new database can be created. For this, a database container for Access is used. In a dialog box, target directory and file name can be selected. At the selected object, an Access database is created and used as target for the copied projects. The file name selected is used as the name of the database connection in the GeoDin object manager. The name of the database connection can be changed later.

I this option is selected, conversion of the projects is considered complete. The original data are packed (zipped) into an archive and deleted. They are then no longer available for further use.

If file based projects were converted, the contents of those projects are zip-packed before the project is deleted from the GeoDinDB directory and the project registry.

If a dBase database was converted, the entire directory will be zip-compressed. It will be saved in the directory where the database was located.

### Preview

The selected projects are opened. If the project can not be opened, a list of all error messages will be displayed.

All projects opened are checked whether they contain measurement data. As a variety of measurement data structures can be used in projects, the structures used are analysed. A uniform target structure is created. If the target database already contains a measurement data structure, the transferred structure is added.

If all selected projects can be opened without errors, the next step can follow directly. If errors occurred, a system message must be confirmed to proceed to the next step. After conversion, the selected projects can be compressed (zip-packed) and deleted. After this, projects which could not be opened or contained errors are not available for the next steps.

### Possible problems

During the conversion of standard and dBase projects, a series of different steps is performed. Due to special access patterns when reading dBAse tables and due to incorrect entries in the data, diefferent problems can occur during file conversion.

Although a drive contains standard projects, it is not listed. This occurs when using the option "drive-based standard projects" when selecting the data source. The directory containing the GeoDin projects is not identical to the one listed in the GeoDin.INI

each drive will be searched for this file, for example, C:\GeoDinDB or X:\GeoDinDB. If the projects are stored in a directory "DATA" (e.g. D:\DATA\GeoDinDB), the drive will not be displayed.

The solution is either to move the data into the standard directory or to edit the entry in the GeoDin.INI accordingly:

The selected project cannot be opened. The error message says hat the LOCPRMGR.DBF can not be found in the project file. The first step is to verify that the file is contained in the folder. If this is the case, the path to the file can be an error source. File access by ADO is sensitive to long path names and those containing spaces or special characters.

If this may be the case, a possible solution is to copy the project file to place with a short file path (e.g. C:\Temp\\) and to convert it using the method "unregistered projects".

The error message appears: "Error on checking the project code number in the local project manager: LOCPRMGR

This error message means that a project with an identical ID already exists in the target database, for example from an earlier conversion.

During conversion, all objects of the source project are loaded and written into the target database. For processing it is necessary that all object types used in the source projects are installed in GeoDin.

If GeoDin encounters a object where the necessary object type is not installed, the conversion of the current project is cancelled. Install the necessary object type (from the GeoDin DVD) before converting the project again.

The partially converted project should be deleted, because otherwise the project already exists in the target object.

While converting the files, error 9986 can occur. This is the case if the table PRJDEFS in the SYS directory of the project has been created with dBAse level 7. The table contains queries and groups of object types and measurement points created in the project

If available, you can use an older version of GeoDin (starting with Version 3.X). Use the method "Copy project" and select as source the drive-based standard project and as target a database. Using the installed BDE, GeoDin can copy the project without problem.

If you do not necessarily need the queries and groups in the project, the PRJDEFS files in the SYS folder can be deleted.

If both options are not possible or not desired, you can send the data to the GeoDin support team. There, file conversion can be performed.

During the conversion of measurement data an error message is displayed that a query is to complex or that to many fields are defined.

In both cases the reason is that ADO is limited to a table width of 254 columns, while no similar limitation exists when accessing dBase files with the BDE. Therefore, tables with several hundred columns are possible. These tables can not be processed during conversion.

The maximum number of parameters in a data type is 249, as GeoDin needs an additional 5 fields for parameter definition.

In every case, the project data have to be modified before converting the data into a database.

This is only possible using older GeoDin versions (up to version 5.X) and the BDE. If this option is not available, please ask the GeoDin support for help.

Optimize the database structure. This way, empty columns in the tables are removed. In most cases, this will suffice. In the status line of the add/remove parameter dialogue (in the datatype manager), the current number of parameters in the datatype is displayed.

Data types with measurement values can be stored with two different data models, in rows (one sample/one row / SDM) or in columns (one sample = one column / LDM). Convert the data model to LDM before converting the database. Probably, the data model of the target database has to be changed to LDM to manage the broad spectrum of parameters in GeoDin.


# Copying and Transferring Projects

Copying and transferring GeoDin projects - duplicating, exporting, and moving projects between databases.

Projects can be **copied within the same database** (for branching variants or template re-use) or **transferred between databases** (e.g. moving a project from a local Access database to a shared client-server database).

GeoDin offers project-level **Add Objects**, **Copy Project**, and **Publish and Export** methods for these workflows. The exact options depend on whether the destination is in the same database, in a different database of the same connection, or in a different database type entirely.

## Handing over data to state authorities (Landesämter)

When delivering data to a state geological authority (Landesamt), the recommended approach is to use a dedicated transfer database rather than sending your main project database.

**Step-by-step workflow:**

{% stepper %}
{% step %}

#### Step 1: Create the transfer database

Create a dedicated transfer database - this can be either an Access (`.accdb`) file or a PostgreSQL database. Connect it to GeoDin as a separate database connection.

{% hint style="warning" %}
Ensure the transfer database is accessible on the GeoDin server (e.g. a local path such as `C:\Temp\`) and not only on a long UNC network path. Very long UNC paths can cause connection issues with Access files.
{% endhint %}
{% endstep %}

{% step %}

#### Step 2: Create the transfer project

Create a new project inside the transfer database.
{% endstep %}

{% step %}

#### Step 3: Open the production project

In your production database, navigate to the project containing the objects to be transferred.
{% endstep %}

{% step %}

#### Step 4: Add objects to the transfer project

Open the **Add Objects** method on the transfer project and drag-and-drop the selected objects from your production project into the **List of objects** window.
{% endstep %}

{% step %}

#### Step 5: Choose the copy options

In the copy options, choose **Copy** (not **Move**) to keep the objects in the original database. Deselect **with documents** if document files should not be included in the handover.
{% endstep %}

{% step %}

#### Step 6: Confirm the copy

Confirm the copy. The selected objects - with their layer data, well design, and measurement values - are now in the transfer project.
{% endstep %}

{% step %}

#### Step 7: Publish and export the ZIP

Right-click the transfer project and choose **Publish and Export**. GeoDin creates a ZIP archive containing an Access database with the transferred objects. Send this ZIP to the authority.

{% hint style="info" %}
The ZIP produced by **Publish and Export** always contains an Access database internally, regardless of whether your transfer database is PostgreSQL. The recipient imports this Access file into their own system.
{% endhint %}
{% endstep %}
{% endstepper %}

For the comprehensive reference - full syntax, all options, edge cases - see [**Working with Projects**](/workspace-and-data-management/working-with-projects).


# Creating Objects

An object is anything in a GeoDin project that has at least a name and is related to that project - a borehole, monitoring well, cone testing hole, climate measuring station, surface water collection point, and so on. This page covers how objects appear in the Object Manager, how to create them (one at a time, from data sequences, or by import), and the related export, deletion, evaluation and map operations.

## Objects

A project may contain up to 9998 objects or boreholes. Because the number of projects in a database is unlimited, the number of objects in a database is also unlimited.

A object may be defined in the GeoDin system as an object that has at least a name and is related to a project. Objects can be boreholes, monitoring wells, cone testing holes as well as climate measuring stations, surface water collection points etc.

In the GeoDin object manager a project is always subdivided into objects and measurement points. Both categories may be further subdivided depending on what data is to be collected. As a user you cannot alter this arrangement, because each subdivision is automatically generated.

Datenbases

DemoDB

GeoDin Demo

Objects

All objects

General borehole log

Measurement points

## View in Object Manager

A list of objects and measurement points is shown in the GeoDin object manager, either by clicking on the group header name or on the plus <**+**> symbol:

GeoDin Demo Project

Objects

All objects

Standard outcrop SEP compatible

Borehole 01

Borehole 02

Borehole 03

Borehole 04

Cone penetration test

Measurement points

Filter

Samples

B01: (1.4-1.8m)

B01: (2.5-2.9m)

B01: (5.2-5.6m)

The objects are shown with their longname. The measurement point identifier is made up of the shortname of the object, the name of the measurement point and depth (where present).

In addition to these automatically generated views, you may use queries and groups to generate any number of completely different views where both the type and amount of information displayed can be controlled (e.g. the SHORTNAME with the height of ground surface in brackets). Hence the way that objects are displayed can be customized to your way of working.

GeoDin Demo Project

Objects

All objects

Standard outcrop SEP compatible

Borehole 01

Borehole 02

Borehole 03

Borehole 04

Cone penetration test

Short name (height)

B01 (105m)

B02 (107m)

B03 (107m)

B04 (115m)

Both the entries "Borehole 01" and "B01 (105m)" refer to the same object in the database. What you see in the GeoDin object manager is simply a "**view**" of the database. The entry "Borehole 01" is only present once in the database, although it may appear several times in different views. Hence an object (e.g. a borehole) that appears under "All objects" and under the specific object type exists only once in the database but is presented in two different views. Views are the result of queries - in this example GeoDin automatically generates the queries. The chapter **Creation of queries and groups** explains the concepts of queries and groups more detailed.

## Create object

A new object can be accessed when ![Objects](/files/mMa2at0fm8ME0hemDRoG) ***Object***, ***All objects*** or the particular **object type** (in the example "General borehole log") is selected in the GeoDin object manager.

GeoDin Demo Project

Object

All objects

General borehole log

Create a new object with a double-click the method ![New object](/files/2EmjUrWu7AuWdhrmxji3) **New object**:

If the method was selected whilst either ***Object*** or ***All objects*** were selected, a dialogue field appears containing the option to choose, which type of object should be created.

The option of choosing the unit system to be used is only available for certain object types that support this feature.\
\
In the dialogue you can optionally choose that -Data types are created automatically\*\*-\*\*. For this it is required, that the object type has the permission and that a measurement program for data types has been created ([Measurement programs](/workspace-and-data-management/working-with-measurement-data)). If at least one data type for the chosen object type, has not yet been created, then this option can be activated. Upon adding this object the relevant tables for the data type with the parameters of the measurement program will be created.

Objects

All objects

General borehole log

New object

If a specific object type was selected whilst starting the method **"New object"**, then the same type of object will be created.

After creating a object it is automatically inserted into the GeoDin object manager and the [Data management](/workspace-and-data-management/creating-objects/data-management) mask is opened.

If you mistakenly create a new object you can undo this by clicking the **Cancel Edits** button in the data collection:

After a warning you may then delete the object by clicking on **OK**.

Normally however you will want to continue in the **"data management"** mask using one of the five editors: General data, Layer data, Sample data, Well design and Data sequences. Detailed information is available in the following chapters.

Once you are in the data management mask, there is no need to change over to the GeoDin object manager in order to create another objects. Instead just click the button **New object**. This may be repeated as often as you like.

## Create objects from data sequences

Often data sequences are imported into already existing objects. This is described in the chapter [Import data sequence](/importing-data/data-sequences).

A special import is available for data sequences. For each imported ASCII file a object is created automatically. As name for the object the name of the ASCII file is used.

Because in objects, which are automatically filled by the import of ASCII files, the name is entered automatically (with the file name), it is recommended to create general data presets before the import of files. So also additional data fields are filled automatically (for example project, client etc.).

For this do as follows:

{% stepper %}
{% step %}

#### Step 1: Create a placeholder object

Create a object of the type, into which the data sequence should be imported. The editing window of the general data appears.
{% endstep %}

{% step %}

#### Step 2: Switch the general data mode

Change the mode of the general data settings, click the appropriate icon.
{% endstep %}

{% step %}

#### Step 3: Fill the entry fields

Fill the entry fields with content now.
{% endstep %}

{% step %}

#### Step 4: Lock the presetting

Lock the general data presetting (by clicking on the icon **Default general data**)
{% endstep %}

{% step %}

#### Step 5: Delete the placeholder object

Delete the (unused) object. The result is still an empty project (except objects were entered already), but already with general data presets for the data sequences to be imported!
{% endstep %}

{% step %}

#### Step 6: Run Import data sequences

Now chose the method **Import data sequences** on the branch ***Objects*** and you get to the method described above.
{% endstep %}
{% endstepper %}

You can select a certain group of files with the icon **Chosen files** or an entire folder with the icon **Entire folder**. Select also, in which object type the files should be used.

With the automatic reduction factor GeoDin calculates the reduction factor so , that no measurement series contains more than 500 measurement values. With the setting 'fixed' you can define an individual factor, and with the value =1 completely deactivates the data reduction.

## Import general data

The method **"Update general data"** imports or updates general data from the external files into **existing GeoDin objects**.

The method **"Import general data"** creates **new GeoDin objects** based on general data from external files (MS-Access, Excel, text files, CSV files).

For the import of external data the following steps are necessary:

**Data source**

This opens the external file or database containing the data to be imported.

**Object link**

Here the assignment of the data sets to be read in to a GeoDin object is defined.

**Parameter links**

Define here the assignment of the columns to be read in to GeoDin parameters of the selected object type.

[Import](/importing-data/import)

Here further settings for the import are made, see a preview of the importable data and execute the import.

**Save and load configuration**

All settings of an import process can be saved in a configuration file.

This means that subsequent imports with the same or similar data can be carried out much more quickly without having to make all the assignments again. When loading a configuration file, it is also possible to take over only parts of the configuration settings. This is useful, for example, if the parameter assignments of your import files are always identical, but the object assignment must be made anew in each case. To do this, activate the configuration settings to be adopted in the "Adopt configuration settings" dialogue.

**Group of imported objects for "Import general data"**

When importing data as new objects, a group with the name ***New objects created / imported on (date)*** is automatically generated and added to the object manager. This makes it easier to edit the new objects, as you will find them all in one group (and not mixed up with already existing GeoDin objects). In addition, in case of errors during the import (for example, incorrectly assigned data field), you can delete the objects in one step (execute method **"Delete all objects"** on the group) in order to repeat the import.

## Update data sequences

This method allows you to import or update data sequences for existing objects. Simply choose the import files and define the coorelation betweem them and the objects.

You can choose a group or a whole folder by using the **Chosen files** or **Entire folder** options.

The name of the import file must match a data field of the objects. This field can be chosen from the **Object link** window pane. The file extensions are ignored for the files to be imported.

The button **Check object link** will analyse which files to be imported can be linked to existing objects and for which objects there are no files to be imported. The results are recorded in a log; no import is carried out at this stage.

After selecting an import filter, the import can be carried out.

***Note:***

If you have created your own customized import filter(s) these will be shown in the **"Import filter"** list but can only be edited in the data sequence editor.

## Check measurements

By using this method you can check and evaluate measured data sets.

The procedure:

GeoDin graphic documents must be inserted below the object. It is irrelevant if these objects are linked or embedded in a database. The method provides all of the graphics for the currently selected object of the GeoDin Object Manager. If the graphic contains a time series element including a regression series, it is possible to use this graphic for the evaluation of the measured data.

{% stepper %}
{% step %}

#### Step 1

Once you have selected a usable graphic this will be shortly analysed, a report will be displayed summarizing measured quantities as well as the configured influencing factors.

Use these details to identify or validate the underlying objects and regression parameters. The evaluation of the measured data will be executed by clicking the button "continue".
{% endstep %}

{% step %}

#### Step 2

Here you can see the results of the evaluation.

You will get a list of **Event** that have occurred during the calculation.

The different event groups can be switched on and off by using the buttons

.
{% endstep %}

{% step %}

#### Step 3

Clicking the continue button you will be asked if you want to take in the evaluated measuring parameters into the database. Doing so the target fields of the event will be filled with the appropriately configured target values. Only at this point any data will be written into the database.
{% endstep %}
{% endstepper %}

***Note:***

*If both the target field and the measuring parameter, meant for evaluation, are in the same data type, the data set of the measurement will be located and the dataset will be completed with the target value of the target data field. If there already is an evaluation for the data set, the existing information remains, which means that no data fields will be overwritten.*

*If the target field is of another data type, a new dataset will be created in this data type. Therefore the target field is filled with the target value of the event.*

*A separate target data type for events should contain a field with the name LINKSMPID. The SMPID of the triggering data set can be entered into this field during the evaluation of the data. Furthermore the target data type should contain fields for the triggering data type or the triggering parameter. You can choose this option in the data type manager of a certain measurement parameter under Special settings.*

## Map view

The map view shows the location of the marked objects on an OpenStreetMap map, according to the coordinates stored in the general data.

An internet connection is needed for this.

If the object type being used supports the use of the EPSG code field in the general data and this is filled with a valid EPSG code, the object is displayed directly in the selected coordinate system according to the coordinates.

If there is no EPSG code in the general data, GeoDin tries to find the appropriate coordinate system using the existing data. A small preview tile is then created and displayed for each possible solution. For rough orientation, a small world map is displayed in the lower left corner of the tile when the mouse is positioned over one of these tiles. This should make it easier to find the right suggestion from GeoDin and select it with one click.

If GeoDin finds only one valid system, the tile preview is hidden and the main view is maximised directly.

If no valid coordinate system is found, a dialogue window opens in which the coordinate system to be used is requested. The correct display of all marked objects requires that the coordinates of the objects are based on the same coordinate system.

## Delete objects

Alternatively you may choose a group of objects to delete all at once by selecting the appropriate group in the GeoDin object manager

All Objects

Borehole 01

Borehole 02

and selecting the option **"Delete all objects"**.

***WARNING:*** *THIS METHOD CANNOT BE UNDONE!*

***

## Reference: Import and export

The following chapters describe the import and export of data sequences and data of various exchange formats.

[Import data sequence](/importing-data/data-sequences)

[Create objects from data sequences](/importing-data/data-sequences)

[SEP import](/importing-data/sep3-exchange-database)

[SEP1 export](/exporting-data/export)

[Export shape files](/maps/cad-and-gis-exports)

[XML export](/exporting-data/geodinml-export)

### SEP1 export

You export objects in the SEP format with the method **"SEP export"**, within the method **"Publish and export"** which is available at the entry ***All objects*** or in queries and groups.

You can export the boreholes as single files or combined in a file (SEP catalogue).

Optional the entry of vowel mutations is possible in the DOS output.

Note that not all object types can be exported in the SEP format. If for example all boreholes, have been entered in the ÖNORM, the export function for this borehole is not available. The location types, which contain the addition SEP compatible in the name, can always be exported in the SEP format.


# General Data

General data entry for GeoDin objects - identifying information, location metadata, and project association.

**General data** records the identifying and locational information for each object (borehole, sample point, monitoring well). Typical fields include name and short name, coordinates, elevation, project association, and any extended metadata required by the object type.

General data is entered through the **Data Management** method, on the **General Data** tab. The exact fields available depend on the object type - for example, G1 Location, AGS 4, and Geotechnical Investigation EN ISO 22475 each define their own General Data schema.

## Setting default values for new objects (Stammdatenvorgaben)

**Stammdatenvorgaben** (master data presets) allow you to pre-fill fields that are the same for all objects in a session - for example, the coordinate system, height system, client name, or drilling company - so they appear automatically when a new object is created.

**How to activate:**

{% stepper %}
{% step %}
Open the general data editor for any object (or create a temporary new object for the purpose of entering defaults).
{% endstep %}

{% step %}
In the method bar at the top right of the general data mask, click the **Stammdatenvorgaben** (master data defaults) icon to activate preset mode. A yellow indicator appears in the toolbar.
{% endstep %}

{% step %}
Fill in the fields you want to use as defaults.
{% endstep %}

{% step %}
Click the icon again to save and lock the defaults. From this point on, every new object created in this session will inherit these pre-filled values.
{% endstep %}
{% endstepper %}

**Date shortcut:** In any date field within the preset, type `H.E.` and then press **Tab**. GeoDin fills in today's date. This is especially useful for fields like "Date of survey" that always default to today.

{% hint style="info" %}
Stammdatenvorgaben are stored per-user in the database table `GeoDin_ENGINEER_DEF_ENGINEER_S3_STAMM`. They persist between sessions until you change them. To clear all defaults, re-open the preset mode and delete the field values.
{% endhint %}

For the comprehensive object operations workflow - creating, editing, validating, importing, exporting, and reporting object data - see [**Object Operations Reference**](/object-types/object-operations-reference).


# Sample Data

Sample data - recording physical samples taken from objects with depth intervals and identifying details.

**Sample data** records the physical samples taken from an object (borehole or location), including each sample's depth interval, identifier, type, and association with downstream laboratory tests.

Sample data is entered through the **Data Management** method, on the **Sample Data** tab. Each sample is anchored to a depth interval and can be linked to laboratory test results via measurement points (e.g. AGS `(AGS) Samples [AGS]`).

For the comprehensive object operations workflow - creating, editing, validating, importing, exporting, and reporting object data - see [**Object Operations Reference**](/object-types/object-operations-reference).


# Well Design Data

Well design data - casing, screens, backfill, and piezometer installation details for monitoring wells.

**Well design data** records the physical construction of a monitoring well: hole diameter, casing diameters and depths, filter and screen positions, backfill materials, and any special features such as piezometer boxes.

Well design data is entered through the **Data Management** method, on the **Well Design Data** tab. The schema depends on the object type - for example, AGS 4 supports a structured well design with HDIA, FLSH, BKFL, PIPE, and FILT groups; EN ISO 22475 uses E2WDCAS, E2WDFILD, E2WDBCKF and related tables.

Filters created in the well design table also generate measurement points of the type **Filter**, which is how groundwater measurement data attaches to the well - see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data).

## Exporting well design data

Well design data leaves GeoDin as part of the object, not as a separate export. Two routes matter in practice:

* **XML export.** The **XML export** method (under **Publish and Export** at object nodes, queries and groups) writes one XML document per object using a configurable template, so the casing, screen and backfill tables are mapped into the target schema. It can be driven interactively or unattended from an export configuration `.INI` file - see [Object Operations Reference > XML export](/object-types/object-operations-reference#xml-export) for the method and the full `[PARAMS]` parameter reference.
* **Template definition.** Which well design tables and fields appear in the XML output, and under which element names, is decided in the XML export template - see [GeoDinML and XML export templates](/exporting-data/geodinml-export).

For the comprehensive object operations workflow - creating, editing, validating, importing, exporting, and reporting object data - see [**Object Operations Reference**](/object-types/object-operations-reference).


# Data Management

Data Management - the central method for entering general, layer, sample, well design, and sequence data for objects.

The **Data Management** method is the central interface for entering and editing data for an object (borehole, sample point, monitoring well). It presents the available data tabs based on the object type, and is launched by double-clicking the **Data management** method icon on a selected object.

## Reference: Data tabs

Typical tabs include:

* [General Data](/workspace-and-data-management/creating-objects/general-data) - identifying information, coordinates, project association
* Layer Data - geological layer descriptions, stratigraphy, layer-by-layer entry
* [Sample Data](/workspace-and-data-management/creating-objects/sample-data) - physical samples and their depth intervals
* [Well Design Data](/workspace-and-data-management/creating-objects/well-design-data) - casing, screens, backfill, piezometer details
* Data Sequences - continuous depth-indexed measurements (CPT, geophysical logs)

For the comprehensive object operations workflow - creating, editing, validating, importing, exporting, and reporting object data - see [**Object Operations Reference**](/object-types/object-operations-reference).


# Working with Measurement Data

This page is the working reference for the measurement value editor: entering and editing measurement values, the data sheet and additional information, the data model behind the tables, adding and managing data types, importing and exporting, and the time range controller. For the grid's key combinations, see [Keyboard shortcuts](/getting-started/keyboard-shortcuts).

## Measurement data

If an object is selected in the GeoDin Object Manager, for which measurement values can be entered, the method ![Measurement value management](/files/bzuq1qGNm2bN9qPn9ezz) **"Measurement value management"** is available.

The main elements of the measurement value editor are:

A complex **Data sheet**, the **Top tool bar**, the **Right tool bar** and the status bar.

### Data sheet

The database grid shows the available measurement values. Depending on the object type definition and database configuration, one or more data types may be used for an individual measurement point. Each data type has its own database sheet - you can move between them using Ctrl+Tab, or just click the appropriate sheet.

Each data type has **"Measurement program"** and **"View"** settings. At the bottom of the grid there are small tabs with **"Parameter groups"** (containing the individual parameters), **"Diagrams and analysis"** and **"Additional measurement information"**.

The basic use of the data input grid as well as the management of views is described in the chapter [Using the data entry grid](/workspace-and-data-management/working-with-measurement-data).

The parameter of a data type are arranged in so-called parameter groups. This option an be shown as a tab under the data entry grid, where the parameter columns are also displayed in groups. With the option turned off, this ordering is ignored and all data type parameters are shown. The number of displayed parameters can be further restricted by the choice of **"Measurement program"** which are a definable selection of named parameters that can be created for data types in the [Measurement program](/workspace-and-data-management/working-with-measurement-data). In addition to the current measurement program there are the collections **"All parameters"** (no parameter restrictions) and **"Used parameters"** (display of parameters with values in the database). A further way to customize the display in the number and order of parameters is the use of the top left button to select the columns and moving the columns with the mouse.

## Additional measurement information

***ATTENTION:*** *Additional data for a measured value can only be attributed to an existing measured value. If additional information is entered although no measured value is available, it will not be included in the current data set. If an attributed measured value is deleted, its additional information is also removed.*

**Additional information - Measurement value**

By selecting this option additional information to the actual measurement value is available. For each measurement value information about the method of investigation, the used unit and the appropriate detection limits can be stored.

**•** Additional character

Alternative to recording the negative value instead of a measurement value below the detection limit also the additional symbol "<" can be entered. At all places in GeoDin where the values below the detection limit are treated different, both methods of displaying values below the detection limit are considered equally.

In the measurement value editor a record can be visualized by a colored mark of the particular value (**Display options**).

**•** Method

From a list of available examination methods the one the actual parameter was detected with can be chosen ([Investigation method](/object-types/geotechnical-investigation-en-iso-22475)).

**•** Detection limit

The detection limit of the investigation method during the examination of the parameter can be entered.

**Laboratory information**

If the option Additional measurement specifications was activated during the creation of the current data type, any parameter can be added information about the laboratory analysis (**Properties**).

Using this information is sensible mainly for management of the chemical parameters, which require detailed information about the method of analysis. This information should be used for hydrochemical not for hydrodynamic (waterlevels) data.

On this side the laboratory information is stored:

1. Laboratory

Information about the analyzing laboratory ([Investigation method](/object-types/geotechnical-investigation-en-iso-22475))

1. Sample number

Number of the sample in the laboratory

1. Detection limit

Detection limit of the used analyzing method

1. Confidence interval

Confidence interval of the investigated measurement value (+/- most reasonable fluctuation range)

1. Matrix

Matrix used for the sample investigation ([Investigation method](/object-types/geotechnical-investigation-en-iso-22475)).

1. Extraction

Method of extraction

1. Date und time

Time of the measurement in the laboratory

1. Plausibility

Information about the plausibility of the measurement value

The Supplements page manages:

1. Sample preparation

Information about the preparation of the sample for the laboratory analysis

1. Reference to the result

Reference to the result

1. Interpretation

Interpretation of the measured value

### Managing investigation methods

Every measurement value is produced by a particular method, and the same parameter can often be determined in more than one way. Recording which laboratory method produced a value is what makes its accuracy and reasonability judgeable later. The **Investigation methods** list is data-type comprehensive: it is maintained once, on the system page under data types, and is then offered wherever a method has to be chosen during data entry.

Any number of methods can be defined. The list shows them by name, and the buttons to the right of the list manage it:

| Button                       | What it does                                                                             |
| ---------------------------- | ---------------------------------------------------------------------------------------- |
| **Add new element**          | Appends a new entry at the end of the list.                                              |
| **Insert new element**       | Inserts a new entry directly **above** the entry currently marked in the list.           |
| **Delete element**           | Removes the selected entry from the list.                                                |
| **Move selected entry up**   | Moves the selected entry one position up. Drag and drop does the same.                   |
| **Move selected entry down** | Moves the selected entry one position down. Drag and drop does the same.                 |
| **Import...**                | Imports a list of investigation methods from an MS Excel file.                           |
| **Export...**                | Exports all investigation methods with their data to an Excel table (`*.xls`, `*.xlsx`). |

Double-clicking an entry closes the list and opens that method's properties for editing.

{% hint style="danger" %}
**Import overwrites everything.** Importing a list of investigation methods replaces **all** existing entries in GeoDin - it is not a merge. Export the current list first, both as a backup and to see the exact format the import expects.
{% endhint %}

**Properties of an investigation method**

| Field           | Content                                                                                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Method name** | The name of the method. It must be unique and is what users see during data entry - for example `AAS - arsenic - hydride method`. |
| **Number**      | The numeric key stored in the database. It must be unique within the list of investigation methods.                               |
| **DIN-Norm**    | Designation according to DIN, for example `DIN 38 405-D18`.                                                                       |
| **Euro-Norm**   | Designation according to the EU norm, for example `EN ISO 11969 : 1996`.                                                          |
| **ISO-Norm**    | Designation according to the ISO standard, for example `ISO 11969 : 1996`.                                                        |
| **Remark**      | Free text description.                                                                                                            |

One investigation method can carry designations under all three norms at once.

## Location point link

Each data set is internally linked to a measurement point. This classification relationship can be changed in the measurement editor. If opened by clicking the icon, a list of all objects in the current group or query is shown.

After choosing a measurement point and the method (**Move** updates the classification, so that in the original object the measurement values do no longer exist; **Copy** duplicates the measurement values) reclassification is the carried out by clicking **OK**. Reload the object to see this displayed.

If several measurement points are selected when the reclassification is carried out, all these measurement points are reclassified.

## Combine data sets

With many data sets you may encounter identical sample names, dates and times, although the contents (measured values) are different. This can occur when different laboratories have performed different analyses on the same samples and the values were imported into your database separately. In case such data sets belong together they may be combined. Upon starting this function the data sets are analyzed in the measurement value editor and a list is generated for those data sets, which can be combined. There is an option to include the sample name too.

If a data set is to be excluded, then it can be removed from the list by clicking on the icon.

By choosing **OK** the data sets will be combined.

***Attention:*** *If parameters are present in several data sets with different values, then the data sets will not be combined. If the values are identical however then the data sets will be combined.*

## Measurement value editor options

On several tabs there are options to control the way you use the measurement value editor.

### Adding a data set with a code scanner

One of the editor options turns on code-scanner input. With it active, an extra button appears in the measurement value editor that creates a new data record from a scanned barcode or QR code - useful when samples or measuring points already carry printed labels.

**Configuring the option**

* **Target field** - the field within the data type that the scanned code is written into.
* **Focus input field** - where the cursor is placed after the record has been created. By default the new record counts as *not completed*: if no further entry is made, or you press **ESC**, the insertion is undone. Choosing **-Finish dataset-** instead marks the record as complete immediately, which is what you want when formulas already fill every mandatory field and you are scanning many records one after another.
* **Formulas** - any number of formulas can be defined in this branch. They run directly after the new record is created and are used to preset or calculate further data fields in it.

The scanner itself must be configured to send **Enter** or **Tab** as the suffix character; without a suffix GeoDin does not know the code is complete.

**Scanning during data entry**

In the measurement value editor, start the scan request with the scanner button or the **F8** key. Once the code is captured, a new data record is created - in the simplest case containing nothing but the scanned string in the target field.

{% hint style="warning" %}
The code-scanner function is only available when a **single** measuring point is marked in the GeoDin object manager.
{% endhint %}

After the entry is confirmed with **ENTER**, or when you leave the input field, the content is locked and cannot be edited in place. To change it, delete the whole field content with **DELETE (DEL)** first - the input field is emptied completely, and only then can it be filled again.

***

## Reference: Data model and system tables

### Data model

**Registration of an investigation type (INVTYPES)**

Each investigation type is registered in the table INVTYPES with one data set:

As an investigation type the point or interval from which it was measured is considered. Usually these are groundwater-monitoring points (filter), sample intervals (samples) or even objects themselves. Further measurement point types can be defined on the system level. When working in a project only the measurement points known to the system are available for selection.

Data fields

| Field     | Description                                                                            |
| --------- | -------------------------------------------------------------------------------------- |
| INV\_TYPE | Abbreviation (three letters) for a unique identification of the measurement point type |
| INV\_NAME | Long name to describe the measurement point type                                       |
| INV\_OPT  | System options                                                                         |

The definition of the data types occurs in the table DAT\_TYPES. Here each data type occurs only once. Only data types registered in this table can be linked to a measurement point type.

**Registration of a data type (DATTYPES)**

Data fields

| Field     | Description                                                           |
| --------- | --------------------------------------------------------------------- |
| DAT\_TYPE | Abbreviation (three letters) for a unique identification of data type |
| DAT\_NAME | Long name to describe the data type                                   |
| DAT\_OPT  | System options                                                        |

**Linking data types to investigation types (INVTABS)**

For data types measurement and investigation parameters are grouped together according to similarities in the measurement method and the describing contents. Common examples of such data types are water characteristics, hydrological factors and petrographic information. A data type can be constructed from several investigation types. The link giving which data type for which investigation type is available, is defined in the table INVTABS.

Data fields

| Field     | Description                                                                            |
| --------- | -------------------------------------------------------------------------------------- |
| INV\_TYPE | Abbreviation (three letters) for a unique identification of the measurement point type |
| DAT\_TYPE | Abbreviation (three letters) for a unique identification of data type                  |

**Registration of a chemical group (STFGRP)**

There are a variable number of measurement parameters for each data type. These are grouped together using similarity criteria. An example of such a group is a chemical group, which may contain a maximum of 20 parameters. Chemical groups are defined in the table STFGRP.

Data fields

| Field      | Description                                                                    |
| ---------- | ------------------------------------------------------------------------------ |
| DAT\_TYPE  | Abbreviation (three letters) for a unique identification of the data type      |
| FIELD\_GRP | Abbreviation (three letters) for a unique identification of the chemical group |
| GRP\_NAME  | Long name to describe the chemical group                                       |
| GRP\_CNT   | Counter                                                                        |
| GRP\_OPT   | System options                                                                 |
| TAB\_DESC  | Table descriptor, in which the chemical group is physically contained          |

The contents of the field TAB\_DESC must agree with the structure definitions in the table MESSTRS, associated with the chemical group. The contents cannot be longer than 8 characters and must conform to the DOS file naming conventions. Up to 12 Chemical groups can be combined in a database table.

**Structure of the data tables (MESSTRS)**

The structures of the measurement data tables are contained in the table MESSTRS. The structure of this table conforms to the table structure of LOCSTRS (see above).

The contents of the field TAB\_DESC must agree with the structure definitions in the table STFGRP. The contents cannot contain more than 8 characters and must conform to the DOS file naming conventions. The field FIELD\_GRP must show a valid entry from the table STFGRP.

**Pool Object Data**

The pool object data contains the physical data tables of the object descriptions of a project. GeoDin generates the data tables, if the particular object types are used. The description of the data tables is provided by the object type structure information in the system pool of the project. In addition to the data tables registration tables are also organized in the pool object data.

Object registration LOCREG

In this table every object is registered with one data set (independently of the object type).

| Field      | Description                                                                          |
| ---------- | ------------------------------------------------------------------------------------ |
| PRJ\_ID    | Project ID                                                                           |
| LOCID      | Up to 4 digit number (running counter) for each object in the project values: 1-9998 |
| LOCTYPE    | Contains descriptor of the object type                                               |
| INVID      | is an exact 16 character long string with the measurement point number (see below)   |
| OPT\_PARAM | empty                                                                                |
| XCOORD     | X coordinate                                                                         |
| YCOORD     | Y coordinate                                                                         |
| ZCOORDB    | Object absolute height                                                               |
| ZCOORDE    | End depth in meters below ground surface (for depth related objects)                 |
| SHORTNAME  | is the Short name for the object                                                     |
| LONGNAME   | is the Long name for the object                                                      |
| PHYSFILE   | Name of the object file (only in GeoDin standard projects)                           |
| LOCKINFO   | empty                                                                                |

```
          zzzzzzxxxxyyy000

          zzzzzz is the Project ID
          xxxx is the 4 digit LOCID filled up with zeros (e.g. 0025)
          yyy is the ID of the investigation type
          Project ID
```

\
Measurement point registration for developed measurement points FILREG

In this table all developed measurement points of a project are organized (e.g. monitoring wells). A object may contain several measurement points.

| Field   | Description                                                    |
| ------- | -------------------------------------------------------------- |
| LOCID   | ID number of the object                                        |
| RECID   | Counter of developed measurement points per object             |
| INVID   | Measurement point ID number (see below)                        |
| INVZBEG | Top of the measurement point in meters below ground surface    |
| INVZEND | Bottom of the measurement point in meters below ground surface |
| INVNAME | Name of the measurement point                                  |

```
        zzzzzzxxxxyyynnnn

        zzzzzz is the Project ID
        xxxx is the 4 digit LOCID filled up with zeros (e.g. 0025)
        yyy is the ID of the investigation type
        nnnn is xxxx is the 4 digit counter filled up with zeros for developed measurement points per object
```

Measurement point registration for undeveloped measurement points PRBREG

In this table all developed measurement points of a project are organized (for example sediment sampling). A object may contain several measurement points. The structure is identical to the table with the table FILREG.

**Measurement values in SDM (Small Data Model) or LDM (Large Data Model)**

In the GeoDin system version 3 or better a further data model is available for measurement values. In the current Small Data Model (SDM) a sample or measurement in a measurement value table takes up one data set. The table columns correspond to the individual parameters. This form of data organization has the advantage of a great degree of transparency in data distribution. A disadvantage occurs with heterogeneous data distributions and/or with many different parameters. In the first case a table results with lots of empty spaces needing a large amount of space. In the second case of an extensive number of parameters, the table becomes ever broader and consequently slower. A further disadvantage is that a change to the parameters necessitates the creation of a new table. This in turn means that a user must be able to create tables on a database server, which for desktop databases is a time-consuming and complicated process.\
\
To combat the disadvantages mentioned above a second data model was developed in GeoDin, the Large Data Model (LDM). This model organizes the data parameter wise, i.e. in the measurement value table each value is contained in a row. Through this form of effective data organization there are no empty spaces and remains small even with large numbers of parameters. Additional parameters can be added to the table by a simple redefinition as opposed to a restructuring in the SDM. The conversion from one data model to the other is carried out in the data type model and is reversible.\
The actual values are kept in three tables in the Large Data Model, optimized for the particular type of parameter. There individual tables for values, text and dates. The LDM table structure is shown below:

Table of numerical values: \<DATATYPE>VAL01

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_LONG                |
| ----------- | ----------- | ---------- | ---------- | -------------------------- |
| INVID       | C           | 16         |            | Measurement point ID       |
| SMPID       | N           | 9          |            | GeoDin Sample ID           |
| PARAM\_DESC | C           | 8          |            | Parameter ID               |
| MESCHAR     | C           | 1          |            | Additional character       |
| MESVALUE    | N           | 20         | 8          | Measurement value          |
| MESUNIT     | C           | 15         |            | Measurement unit           |
| MESSENSIB   | N           | 20         |            | Detection limit            |
| METHODID    | N           | 9          |            | Investigation method       |
| MESOPT      | N           | 9          |            | Measurement - option       |
| MESSIGNIF   | C           | 10         |            | Measurement - significance |

Table of text values: \<DATATYPE>TXT01

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_LONG                 |
| ----------- | ----------- | ---------- | ---------- | --------------------------- |
| INVID       | C           | 16         |            | GeoDin measurement point ID |
| SMPID       | N           | 9          |            | GeoDin Sample ID            |
| PARAM\_DESC | C           | 8          |            | Parameter ID                |
| MESTEXT     | C           | 254        |            | Text entry                  |
| MESOPT      | N           | 9          |            | Measurement - option        |

Table of text values: \<DATATYPE>DAT01

| FIELD\_NAME | FIELD\_TYPE | FIELD\_LEN | FIELD\_DEC | FIELD\_LONG                 |
| ----------- | ----------- | ---------- | ---------- | --------------------------- |
| INVID       | C           | 16         |            | GeoDin measurement point ID |
| SMPID       | N           | 9          |            | GeoDin Sample ID            |
| PARAM\_DESC | C           | 8          |            | Parameter ID                |
| MESDATE     | D           | 8          |            | Date entry                  |
| MESOPT      | N           | 9          |            | Measurement - option        |

**Object type - Measurement point - Investigation type - Data type - Chemical group - Parameter**

In the definition of a object any investigation type may be defined for every measurement point type. An investigation type is basically a combination of data types. Data types are the sum of the investigation parameters that are individually related by the time/date of the measurement and or the investigation type (chemical laboratory measurement, in-situ measurement, geotechnical measurement). Chemical groups are logical arrangements in a data type (for example anions in the data type groundwater chemistry). Parameters of individual chemical groups are shown in GeoDin in various masks as "views".

Fig.1: Relation between general data and the measurement values

Fig 2: Relationship between object type - measurement point type and investigation type - data type general data\
\
\
**Measurement points and investigation types**

GeoDin recognizes different types of measurement points and investigation types. These may be defined for individual object types and can contain varying parameters. Basically anything can be a measurement point as long as measurement values are measurable.

The GeoDin object points are geographically definable. For example a object can be a weather station, a borehole, a monitoring well or a surface water collection point. Each object has its own distinct properties and each object can be a measurement point. Optionally a measurement point may include depth related information. In the following list these would be boreholes and wells.

In GeoDin there are three types of measurement points:

**Object**

A relationship between measurement values and objects is necessary (or makes good sense) when the measurement object has no vertical depth property, where the depth information for the measurement values is unknown, or where the depth related information has been averaged or combined (for example a mixture of water from different depths in a water-works well). This kind of measurement point can only exist once per GeoDin object and is defined by its coordinates.

**Undeveloped measurement point**

An undeveloped measurement point is usually defined by an upper and lower boundary. The most common example is a sample collected during drilling, where no permanent construction exists and where the investigations are carried out only once or at most episodically. Additional information on the composition of the sample may also be noted. GeoDin allows up to 99 undeveloped measurement points per object.

**Developed measurement point**

When measurements are to be collected at a defined depth range at regular intervals some sort of permanent construction normally exists to guarantee access (for example a filter in a piezometer for groundwater sampling). Additionally details on the measurement point construction may be recorded. A single object may contain up to 9 developed measurement points.

The individual investigation types, based on the three types of measurement point can have entirely different definitions and configurations. During the design of the data model the main decision is on which type of measurement point is the investigation type to be based.

Both undeveloped and developed measurement points are related via their depth information to a object. In the following example three types of measurement points are shown in the graph of a borehole and water well.

There are

1\. the measurement point type "Object"

The relation in this case is a borehole. All measurement values, which are related to the borehole and have no depth values, are related here. This can be mixed water from the pipes or measurement values of the place, where the borehole is brought down (plants etc.).

2\. the measurement point type "Undeveloped measurement point"

It is measured related to a filter pipe, which is again representing a certain aquifer. Also related to the filter is the information about its construction. Normally in time intervals samples are taken.

3\. the measurement point type "Developed measurement point"

During the boring samples are taken and investigation results were achieved. The samples are only taken once but examined several times. The sample is sufficiently described by the depth, from which it is taken. Additional information is given about the sample material.

\
**Relationship between investigation types and data types**

Data types are groups of measurable parameters. The composition of each group may be freely defined, but usually reflects the type of measurement point and/or investigation. Data types are assigned to one or more investigation types.

**Example:**

The data types groundwater chemistry and groundwater dynamics are assigned to the investigation type GWBR-Filter, although both may also be assigned in another combination to another investigation type (e.g.: groundwater chemistry, groundwater dynamics and groundwater dynamics to the investigation type Water Supply Well).

## Adding data set records

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

The method ![Add data set records](/files/fMvT6DRiTwv7gJRe0TmU) **Add data set records** is available for measurement points or groups thereof.

This method is used to add data sets using a date or date list.

The method is especially useful for creating empty data sets for a monitoring program, either on a certain day or over a specified time period, after which the data are to be added in one import to the GeoDin database.

**Attention:** Decisive for the processing of the method is the level, at which it is called up. Is it a single measurement point, only this is edited, is it a measurement point group, the data set is added on every measurement point of the group.

* **Data type**

Choice of data type for the measurement objects.

* **Measurement presets**

Useful for defining defaults (e.g. detection limit, investigation method) for each parameter of the data type

* **Date list**

Default value is the current date, but a list of dates may be created, saved and loaded.

* **Time**

It may be useful to specify the same time for a number of measurement points or monitoring stages.

### Add several data sets

This method is used to add data sets, which follow certain time intervals. An example can be pumping tests.

First load a time interval file (text format). In this time intervals in minutes and their names (sample names) are declared.

105;105 min

120;120 min

150;150 min

180;3 hours

240;4 hours

300;5 hours

360;6 hours

By entering the starting time the start of the measurement series is defined. The appropriate time steps of the measurements in the data sets are calculated from the minute values of the time interval file and the start time.

Optional the parameters of the target type values can be defined for a presetting.

## Datatype Manager

The method **"Data Type Manager"** is available at the database level. It is the most important tool for defining and configuring options for measurement data collection. In particular you may define here which data types (thematic groups of measurement parameters) and which measurement parameters are to be used in the current database.

Method symbol of the Data Type Manager

Since data types are related to specific objects and measurement points, they can first be configured once an object has been created in the database.

The Data Type Manager gives an overview of the data types available in the current database. The following functions are available:

[Add data type](/concepts/data-types)

This function allows you to add a data type to your database. This is described in more detail in Chapter [Add data type](/concepts/data-types).

**Remove data type**

This function will remove any data records belonging to the data type selected, as well as the database tables and definitions. ***Attention:*** *Deleting measurement value data records cannot be undone! GeoDin calculates how many data records will be deleted and displays this as a warning message. This is the last point at which you may still cancel.*

![Determine number of records](/files/aNs6z5Iw9m7TkV0pSk6o) **Determine number of records**

Function calculates the number of data records present for each data type in the database and shows an overview.

**Add data type to the system configuration**

Editing individual parameters of a data type is only possible when the data type is part of the current system configuration. Normally this is the case with GeoDin databases, but sometimes you may receive a database from another user with data types that are not defined in your system configuration. With this function you can then add the definition from the database to your system configuration. Please note that when using dictionaries in data fields of the data type that these will not be present. Please ask the user from whom you have received the database to export the user-defined data type from his system configuration, for you to then import. Hence you should use the method "Add data type to the system configuration" only when no possibility exists to obtain the data type as a configuration file.

**Search data type**

Enter a search string for the data type search in the data type overview. The entries in the overview are reduced to fit the search entry. With a double-click you can then edit the properties of the selected data type.

**Search parameter**

Enter a search string for the parameter search in the data type overview. The parameter will be searched for in all the data types in the database (or in the restricted list as defined by your search parameter). Parameters found will be listed underneath the relevant data type. Double-clicking on the parameter takes you to the edit modus (Adding / Deleting/ Properties) for the chosen parameter.

**Delete parameters**

This function can delete parameters that do not contain any measurement values in the database. All parameters without measurement values are displayed in a dialogue window, where it is possible to edit the parameter list again. All selected parameters will be deleted from the database. If this then causes empty data types, they will be removed from the database too.

[Add data type](/concepts/data-types)

### Add data type

This function allows you to add a data type to your database. During this process new tables will be added to your database and as will new information to the system tables of the database. In Client/Server databases you will need the appropriate rights - please contact your database administrator if necessary.

First select your data type from the overview and click on the **Proceed** button or double-click directly on the data type entry to get to the parameter choice.

The available parameters are ordered in groups of elements. Make your parameter selection by checking the appropriate boxes. You can also check whole groups or all parameters of a data type by checking the relevant node. The number of already chosen parameters is shown over the parameter overview.

Existing measurement programs (combinations of parameters) can be accessed via the drop-down list in **"Measurement programs"**. Here you can quickly chose or remove them from the selected measurement program.

A particular parameter can be found by using the search field *"Search"*. Only parameters that meet the search criteria are shown (parameter and data field names).

Independently of the measurement program or search criteria restrictions, chosen parameters are shown in the overview, so that you always have an overview of the already chosen parameters.

***Note:*** *parameters can also be added to or removed from the database at a later date by starting the data type manager and editing the required data type.*

[Data model](/concepts/data-types)

The data type tables can be created in two different variations: the "Small Data Model" (SDM) and the "Large Data Model"(LDM). The SDM is suitable for data types with a small or medium numbers of parameters. In this case tables are created with columns headed by parameters and one data record contains the measured values for all the parameters analysed. The LDM is especially suited for data types with a high number of parameters. In this case tables are created in which rows contain only a single measurement value that is related via the parameter-ID to the measurement parameter. This can be useful since the number of table columns may be limited by the database to 254 parameters. For example it is not possible to use all the parameters from the data type groundwater chemistry as a SDM, since it contains more than 254 parameters. Further information can be found in the chapter [Data model](/concepts/data-types)

The default data model setting for a data type is shown in the system configuration. You have the option of choosing the other model.

By clicking the **Create** button the data type will be added to the database. This completes this function.

### First-time setup: adding a data type to a database

Before measurement values can be entered, the relevant data type must be added to the specific database. This is a one-time setup step per database.

{% stepper %}
{% step %}

#### Select the database

In the GeoDin Object Manager, select the database entry (not a project).
{% endstep %}

{% step %}

#### Open the Data Type Manager

Open the **Data Type Manager** method (available at the database level).
{% endstep %}

{% step %}

#### Choose a data type

In the Data Type Manager, click the blue **+** button (right-hand side) to select a data type from the system configuration - for example, *Groundwater Chemistry*.
{% endstep %}

{% step %}

#### Select parameters

In the parameter selection screen, tick the parameters required (or select a saved **Measurement Program** from the drop-down).
{% endstep %}

{% step %}

#### Create the tables

Click **Create** (German: *Erstellen*). GeoDin writes the required database tables and registers the data type. The data type is now available for all objects in this database.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
If the data type does not appear in the system configuration list, use **Add data type to the system configuration** to import its definition from the database first.
{% endhint %}

### Small Data Model vs. Large Data Model

When adding a data type you can choose between two storage models:

**Small Data Model (SDM)** - 2 tables. One row per measurement record; each parameter is a column. Simple and transparent, but limited to a maximum of 254 parameters per data type. Suitable for most standard data types.

**Large Data Model (LDM)** - 3 tables (values, text, dates). Each parameter value occupies one row, linked via a parameter ID. More efficient for data types with many parameters or sparse data distributions. Mandatory if a data type exceeds 254 parameters (e.g. full groundwater chemistry suites).

The default model for each data type is set in the system configuration, but can be overridden at the time of creation or converted later via **Data Type Settings > Convert data model**.

### Measurement Programs (Messprogramme)

A **Measurement Program** is a named, saved selection of parameters within a data type. It allows users to quickly apply the same parameter set when adding a data type to a new database, without manually re-selecting parameters each time.

Measurement Programs are created and managed in the system configuration (System > Data Types > edit the data type group). Once saved, they appear in the **Measurement programs** drop-down in the **Add data type** dialog and in the measurement value editor for filtering the displayed parameters.

There is no limit to the number of measurement programs that can be defined for one data type, and two programs may contain similar or completely different parameter sets. In the measurement value editor, the selected program filters the parameters shown in the input table; the option **Show chemical groups** can be switched on or off independently.

**Buttons in the measurement program editor**

| Button     | What it does                                                                                                                          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Add**    | Adds a new, empty measurement program to the data type.                                                                               |
| **Copy**   | Copies the selected measurement program including all of its parameters - the quickest way to build a variant of an existing program. |
| **Delete** | Deletes the selected measurement program.                                                                                             |
| **Sort**   | Moves the selected measurement program within the list, which controls the order the programs are offered in.                         |
| **Export** | Writes **all** measurement programs of the data type to a text file.                                                                  |
| **Import** | Adds all measurement programs contained in a text file to the data type.                                                              |

Export and Import always work on the complete set of programs, so they are the practical way to carry a data type's measurement programs from one GeoDin installation to another: export on the source system, import on the target.

### Data type settings

Here you can edit the data type properties of a database.

Data mode**l**

With the help of the function **"Convert data model"** you can change the way that measurement values are stored for a data type in a database. This is achieved by making structural changes to the database tables, which may take some time , depending on the number of measurement values for the data type. This process may be canceled at any time without losing any data (aready available measurements will be completely converted to the other structure). Further information on the data model can be found in the Chapters [Add data type](/concepts/data-types) and [Data model](/concepts/data-types)

During the conversion process new tables are created in the database, hence the user needs the database rights to create and delete tables. Please contact your database administrator as required.

**Properties**

Define which columns are to be hidden during the data collection. The defaults settings show the sample name, date and time, which can be entered for every data record. For data types where a separate naming of the measurement data record or the entry of time information meaningless is, these columns can be hidden.

without sample name: the column sample name is hidden.

without date/time: The columns date and time are hidden.

without time: column time is hidden (date column remains visible).

**Association with measurement point types**

The association of a data type to measurement point types controls the availability of the data type for data collection and analysis for actual measurement point types in the database. The system configuration already contains useful data type - measurement point type associations, which can be expanded. Typically the data type "sediment chemistry" is associated with the measurement point type "sample", whilst the data type "groundwater chemistry" is associated with the measurement point type "filter". When a sample is selected in the GeoDin Object Manager (GOM), the **Measurement data** a data entry grid for measurement values of sediment chemistry is shown, whereas when a filter is chosen the measurement parameters for groundwater chemistry are offered. Further information to measurement point types can also be found in Chapter [Measurement values](/workspace-and-data-management/working-with-measurement-data)

The correlation between data types to a measurement point type can be set by selecting the relevant row. The name of the associated measurement point type can be edited by double-clicking on the column name, which defines the GOM measurement point type labelling

Object; A measurement point of this type is generated when an object is created in a GeoDin database..

Sample; A measurement point of this type is generated when a data record for an object is created in the sample table.

Filter; A measurement point of this type is generated when a filter is created in the well design table of an object.

#### Data type properties on the system page

The **Properties** method on the system page edits the properties of a data type that exists in the system. These properties act as a **template**: they are applied when a data type is newly created in a project or database.

{% hint style="warning" %}
Settings made on the system page have no effect on data types that are already in use in a database or project. They take effect only the next time the data type is created.
{% endhint %}

* **Data type** - the data type name. It can be edited but must be unique within GeoDin.
* **Short name** - the identification property. It cannot be changed.
* **Shortcut** - a key assignment used in the Measurement Editor to switch quickly between data types. Give the data types you work with side by side distinct shortcuts.

**Identification fields.** Besides the *without sample name*, *without date* and *without time* options described above, a data type can be managed with a **Timestamp** - a combined date and time value accurate to one second. The timestamp is stored in the `SMPDATE` field, and `SMPTIME` is left empty in this case.

{% hint style="danger" %}
The identification-field options must be chosen **before** the data type is created or registered in a database. They cannot be changed afterwards - a data type already present in a database keeps the identification model it was created with.
{% endhint %}

{% hint style="info" %}
Timestamps in PostgreSQL and MySQL databases are only possible over **FireDAC** connections. OLE-DB does not support the time portion in these databases, so a timestamp data type cannot be used there.
{% endhint %}

## Import

Use the method ![import measurement values](/files/HwXA4uuDjHh6Owf9L6Jj) **"import measurement values"**

to import measurement values from external data sources into your GeoDin database.

Follow the following steps:

**Data source**

Open the external file or database that contains the data to be imported and select the format options.

**Measurement point assignment**

Map the data sets to a GeoDin measurement point. Skip this step if you start the method at a single measurement point in the GeoDin object manager. The program will map the data sets to the selected measurement point automatically.

**Parameter links**

Assign import columns to GeoDin parameters of the selected data type.

[Import](/importing-data/import)

Select further import options, preview the import data and execute the import.

**Save and load a configuration**

All import settings can be saved in a configuration file to quickly select and import data with a similar data structure.

You can also load only parts of the settings stored in the configuration file, for example if your parameter mapping is always the same while the mapping for measurement points varies. To do this, select the desired configuration settings in the dialog 'Assign configuration settings'.

### Data source

Open a file or database that contains the import data. The program supports the following file formats:

* MS Excel
* MS Access
* dBASE
* Text-files
* CSV-files

After selecting a file or database, choose a tab sheet (Excel), table (Access, dBase) or a column separator (CSV, text file). You can preview the import data. For MS Excel or text files you can define whether the first line contains column headers, which is common. In addition, you can define the date format used in the import data. GeoDin uses this setting for later date conversion.

In the preview you can select and delete data sets that should not be imported. They will only be removed from the preview. Your import source will not be modified.

With the button [Format options](/workspace-and-data-management/working-with-measurement-data/data-sequences-and-cpt) you can preformat your import data. For more information see chapter [Format options](/workspace-and-data-management/working-with-measurement-data/data-sequences-and-cpt).

**Importing MS Excel files (\*.xls, \*.xlsx)**

GeoDin uses a Microsoft OLEDB database connection to access the MS Excel file. This driver (not GeoDin!) interprets the first few lines of a table to identify the field format of the column. If the the format is number, the column content will be formated as numbers and any text content will be ignored. In this case you can define the column format in MS Excel as text BEFORE importing the file with GeoDin so that the data will be visible in the preview. Still GeoDin will generate an error if you try to import cells with text into a numeric field of the GeoDin database since this is not permitted.

MS Excel internally stores time data as real numbers for both date and time. Due to compatibility issues GeoDin holds date (type date) and time (type text with length of 5) separated. Such information must therefore be separated in the import data as well. Separating date and time in two columns in Excel will still render the date 0 (which is 31.12.1899) in the time format. This means the first 5 characters of the time field will be '31.12'. To avoid this, you can either define the time column in MS Excel as text or export the Excel sheet into a CSV file and import this file into GeoDin.

### Measurement point assignment

In this step you can link the data records of your import file to a measurement point in GeoDin. The GeoDin measurement points of the current query or group are listed in the table "Measurement points:". Select from the drop-down list **"Data source:"** the column of your import table that contains the name or id number of the measurement point, to use to create the link with the GeoDin measurement point. The contents available from this column are displayed in the table "Data source:".

To create a link between data records to be imported and the measurement points in GeoDin, select and pair the entries of the lists "Data source:" and "Measurement points:" by drag and drop on one another. The direction that this is carried out does not matter (i.e. Data source dropped onto Measurement points or vice-versa). The links created are displayed in the table "Links:" and the already linked entries of the columns are removed from the lists of origin. In this manner only entries, which are not yet linked, remain in the lists "Measurement points:" and "Data source:".

If the import table contains names that match the names of the measurement points in GeoDin or even the GeoDin ID of the measurement point (INVID) you can use the button **Automatically link** to create a link for the corresponding entries.

The input fields are to reduce the amount of the displayed fields or columns. Only entries, which contain the search string, will be displayed. Please clear the input field to see all entries.

If you have saved a configuration and links for an import in a former GeoDin version as a configuration file (file extension .ini) it is possible to load this using the button **Import**. These configuration files had the following structure:

\[Import measure links]

MEAS\_PT\_ID=

'B 01 : (4 - 5m)'=U9SYT40001FIL001

'B 02 : (6 - 7m)'=U9SYT40002FIL001

...

The first row in the paragraph \[Import measure links] contains the column name of the import table. After that follows one row for each link: First an entry (name) from the column of the import file then the equals sign and next the GeoDin ID of the measurement point.

Invalid links will be highlighted in pink. Those links can occur if you change the data source or choose another data type after the parameters were linked. You can remove these invalid links by using the button .

## Export

You will find this method within the method collection **"Publish and export"**.

This method exports measurement values for a data type in various formats. In addition the measurement point name and object name is also exported.

Choose a data type and select the export format. further settings may be available

**Column headers**

Choice of different header types

**Export ID fields**

In addition to values and general of the measurement point, internal GeoDin fields like LOCID, INVID etc. are exported.

**General data**

In addition to values, general data like coordinates and depth information are exported.

## Time range controller

For data types with measurement values with a time component an optional time range controller can be used to navigate data. This is useful for quickly getting an overview for particular time periods, by only loading the necessary data sets. Additionally, the user has feedback on the amount, distribution, storage requirements and loading time.

**Information on data sets and distribution**

In the top part of the window information is shown on the available data sets. This includes the start and end points of the time range, the total number of data sets and their distribution, shown by different blue coloured areas (white areas have no data, dark blue the most concentrated). Detailed information is also shown by hovering the mouse over these areas. When opening a data type in the measurement editor, the information for the time range is read from the database and the areas where data has not yet been read coloured orange. The final colouring of all areas is carried out once all the values have been loaded.

Querying the information from the database takes a few seconds. The most current data sets are loaded, and you can navigate in the data grid already. When using the time range controller, only a specified maximum number of data records is loaded into the data grid. This number of data records can be set in the configuration of the data type and is preset to 5000 data records. If the number of data records is less than the set maximum value, all data of the data type are loaded into the data grid as before.

The system configuration of a data type for the use of the time domain controller is done at

**Editor options**. User-specific settings for the use of the time domain controller can be made in the [Time range controller](/visualization-layouts-and-reporting/time-series-charts).

[Time range controller](/visualization-layouts-and-reporting/time-series-charts)

Which data sets to load can be configured in several ways:

On the left and right there are time icons , to pick direct calendar entries. Clicking a month or a year zooms the pop-up calendars out for more choice. The current date can also be selected.

The left and right arrows and move the defined time range forward or backward in time. Each step represents the selected time range.

It is simplest to choose a time range with the slider controls. The time range set can also be slid horizontally left and right (i.e. forwards and backwards) keeping the range intact. Moving one oft he two sliders leaves the other start or end date intact.

Above the time range controller several useful pieces information are displayed. The time range is shown (date/time from-to) and below this the number of data sets, memory usage and the time to load the data sets. When using the controller these values are estimated, so that the user receives feedback before a selection is made (this may depend upon other factors). After defining a time interval (i.e. after making a selection with the mouse and releasing) the values shown are calculated. Two small vertical lines also show the currently selected time range.

## Import measurement data

This button can be used to import measurement values to a parent dataset.

The button is not available on groups or queries for several measuring points, but only if you have selected a single measuring point in the GeoDin Object Manager.

Detailed information on the settings in the import dialogue can be found in the chapter [Import](/importing-data/import).

{% hint style="info" %}
Imported measurement values are matched to their samples via a composite identifier: borehole, sample reference, and start/end depth together. If values do not attach to the expected samples, build that combined identifier column in your import file (for example in Excel) so it matches the samples exactly before importing.
{% endhint %}

***

## Reference: Project and measurement-value tables

### Data model (moved from Databases pages)

Any number of projects can be created in GeoDin. The type of storage of the project data depends on the type of database in which the project was created. This database can be a desktop or a client/server database. In GeoDin, different physical database types can be addressed in a mixed way. For example, part of the projects can be in an MS Access database and another part in a client/server database on an ORACLE server.

Project databases contain the Local Project Manager in the physical database format of the respective database in the form of a table named LOCPRMGR.

The structure of the tables in the project manager are as follows:

| FIELD\_NAME | FIELD\_TYPE | FIELD\_DEC | Explanation                       | Comment                                                                                                                                                                                                                                                            |
| ----------- | ----------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| PRJ\_ID     | C           | 0          | Project ID                        | must be unique in GeoDin                                                                                                                                                                                                                                           |
| PRJ\_NAME   | C           | 0          | Project name                      | mandatory                                                                                                                                                                                                                                                          |
| PRJ\_ALIAS  | C           | 0          | Alias name (2nd name for project) | optional                                                                                                                                                                                                                                                           |
| PRJ\_TYPE   | C           | 0          | Project type                      | Reserved for system                                                                                                                                                                                                                                                |
| PRJ\_OPT    | N           | 0          | Optional parameter                | always 0                                                                                                                                                                                                                                                           |
| PRJ\_USER   | C           | 0          | Author name                       |                                                                                                                                                                                                                                                                    |
| PRJ\_DATE   | D           | 0          | Creation date                     |                                                                                                                                                                                                                                                                    |
| PRJ\_PATH   | C           | 0          | Path or database alias            | contains for a GeoDin drive database the path to the drive database (normally LW:\GeoDinDB\\, where LW stands for the drive letter, the trailing backslash is required!), for all other databases the field contains the database alias name (e.g. GeoDin\_DBASE). |
| GeoDinGUID  | C           | 0          | GeoDin GUID                       | unique project ID                                                                                                                                                                                                                                                  |

The registration of a project is done with a record in the Local Project Manager of the database.

The database can be divided into 3 main areas (system tables (SYS), object types (LOC) and master data specifications (DEF)) and 3 optional areas (document, measurement data and layer queries).

### Measurement values (moved from Databases pages)

| Field      | Description                                                                          |
| ---------- | ------------------------------------------------------------------------------------ |
| PRJ\_ID    | Project ID                                                                           |
| LOCID      | Up to 4 digit number (running counter) for each object in the project values: 1-9998 |
| LOCTYPE    | Contains descriptor of the object type                                               |
| INVID      | 16-character measuring-point string (format below)                                   |
| OPT\_PARAM | empty                                                                                |
| XCOORD     | X coordinate                                                                         |
| YCOORD     | Y coordinate                                                                         |
| ZCOORDB    | Object absolute height                                                               |
| ZCOORDE    | End depth in meters below ground surface (for depth related objects)                 |
| SHORTNAME  | is the Short name for the object                                                     |
| LONGNAME   | is the Long name for the object                                                      |
| PHYSFILE   | Name of the object file (only in GeoDin standard projects)                           |
| LOCKINFO   | empty                                                                                |

The reference in this case is a borehole. All measured values that refer to the borehole itself and have no depth information are assigned here. These could be, for example, mixed water from the pipes or measured values from the location where the borehole was drilled (vegetation, etc.).

Measurements are taken with respect to a filter pipe, which in turn represents a specific aquifer. The filter also includes information on its design. Generally, a sample is taken at regular intervals.

Samples are taken during the drilling process and test results are obtained from them. The samples are taken only once, but then examined several times. The sample is sufficiently described by the depth from which it was taken. Additional information is given about the sample material.

Data types are compilations of measurable parameters. This compilation is ultimately free, but is usually oriented towards the object or type of investigation. These data types can be assigned to the study types in any combination. For example, the data types groundwater chemistry and groundwater dynamics are assigned to the GWBR filter investigation type. However, both can also be used in other combinations in other investigation types.

| Field      | Description                                                                          |
| ---------- | ------------------------------------------------------------------------------------ |
| PRJ\_ID    | Project ID                                                                           |
| LOCID      | Up to 4 digit number (running counter) for each object in the project values: 1-9998 |
| LOCTYPE    | Contains descriptor of the object type                                               |
| INVID      | is an exact 16 character long string with the measurement point number:              |
| OPT\_PARAM | empty                                                                                |
| XCOORD     | X coordinate                                                                         |
| YCOORD     | Y coordinate                                                                         |
| ZCOORDB    | Object absolute height                                                               |
| ZCOORDE    | End depth in meters below ground surface (for depth related objects)                 |
| SHORTNAME  | is the Short name for the object                                                     |
| LONGNAME   | is the Long name for the object                                                      |
| PHYSFILE   | Name of the object file (only in GeoDin standard projects)                           |
| LOCKINFO   | empty                                                                                |

*Additional variant rows recovered from the former Databases-page copy of "Measurement values":*

\| INVID | Measurement point ID number (format below) | | INVID | Measurement point ID number |

## Display options

Using these options you may control how measurement values are displayed to reflect their contents.

**Frames**

-Detection limit-

By activating this option all cells containing values below the detection limit (negative values for concentration) are displayed with a blue frame.

**Type**

Green, blue and red are available for use with a logical expression (short parameter name and comparison). The comparison can be "<", "=" or ">". The compared value must be a number. You may also influence the font style by using the "@" character with one (or a combination of) of the following four letters:

B bold

U underlined

I italics

S strike-through

The letters can be combined. For example the term "NO3>20\@BI" in the color red results that all values for nitrate that exceed the value 20 are displayed in red, bold and serif.

An expression may contain more than one command if a semi-colon ";" is used to separate them (for example: "CL>50; NO3>10\@BI"). Hence it is relatively simple for a user to set up a color scheme for use during data entry.

## Input options

To support the data entry two options are available.

**Quick entry**

One activates this function by setting the start date and the time interval. As long as this option is active for each new data set the time interval of the starting date will be added incrementally.

**Datensatz-Vorgaben"no settings"**

A new empty data record is created.

**"Standard settings"**

This option allows presets for every parameter to be defined in a mask.

**"Use last data record"**

This option takes values from the last data record for the new one, where the parameter option \<Use last value> is available. See **Edit parameter**

**"Use last data record (same sample)"**

In addition to copying the same parameter contents, the new data set will be assigned to the same sample as the last data record.

## Related topics

* Shared measurement/data-type reference content now lives in [Formulas in Measurement Values](/data-analysis/formulas-in-measurement-values)


# Data Sequences and CPT

Data sequences are the measurement-value series held against a data type in GeoDin - the per-row records the measurement editor reads and writes. This page is the reference for the data-sequence operations and the data-type structure dialogs you work with around them: inserting and removing rows, resolving data-type creation errors, comparing data-type structures across databases, and the parameter overview and parameter-property editors.

For the measurement-data editor itself, see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data).

***

## Reference: Insert line

An empty data set is inserted above the current row. After entering data and reloading the view the data set is sorted in the correct row position.

## Reference: Remove line

The current row will be deleted from the database after confirming a query. *WARNING:*\*\* *This action cannot be undone! You may delete several data sets using the keyborad shortcut Ctrl+Del.*

## Reference: Error creating the datatype

The table could not be created because of a syntax error in the definition of the table structure.

These syntax errors are reported by the database. The behaviour can vary - a definition can work in one database and fail in another.

The most common syntax errors are

a) wrong field names

b) too many data fields

c) wrong field types

### Wrong field names

For data types (measurement values) structures can be defined. Beside the field type also a long and a short name are entered for a parameter. If the datamodel is SDM the short parameter names are also used to describe the table columns. In the LDM (large data model) this is not the case because the structure always remains the same.

If a command to create a table in the database is executed it is possible that the database does not accept a column name. Which column names are affected depends on the specific database and its version. Hence, a comprehensive documentation is not available. Generally names which are part of SQL commands can not be used.

Known names which can not be used as field names:

AS

DATE

EXTRACT

IN

INTERVAL

KEY

MATCH

POSITION

TAG

TEXT

TIME

### Too many data fields

The number of data fields (columns) in a database table is usually limited and depends on the type of datbase. If this error occurs it my be better to choose the LDM format, because for each measured value a row in the table is created and the number of columns is small (see also [Data model](/concepts/data-types))

### Incorrect Field types

Some types of data fields are realised differently in different database systems. This is especially true for Blob and Memo fields.

In the GeoDin database configuration, the appropriate settings can be made. If the configuration for the database is incorrect (e.g. not known to the database system), the database cannot create the table and will display an error dialogue.

Example for an Oracle database:

DDL\_BLOB=IMAGE

DDL\_MEMO=MEMO

(see also **Configuration**)

## Reference: Datatype comparison

When tranfering objects into another database, e.g., using the methodes **"Add objects"** or **"Copy project"**, a comparison of the structures of the data types is made. This is done to ensure a complete and correct transfer of the data, which is particularly important for measurement data.

Differences detected are first displayed in a table for information purposes. Missing data types and parameters will be added to the target database by default. However other differences may not allow copying of the data (e.g. differences in measurement units or field formats, which would cause an incorrect data transfer).

The following differences in the structure of the data types will be displayed:

**The data type/parameter is missing in the target database**

This message is informative. The missing data type will be automatically added into the target database. GeoDin uses the measurement parameters as they are defined in the source database. If it is not wished to add the missing data types or parameters, you can easily disable this function by removing the checkmark option. In this case existing measurement values of that data types or parameters will NOT be transferred into the target database. With the additional option 'Skip data types without measurement values' you can define whether a missing data type will only be added to the target database if measurement values for this data type are present.

**The long name of parameters vary**

This difference will be displayed if varying long names exist for identical parameters (by data field name). For example, if there is a data field REMARKS, which in one of the databases the long description is "Comment" and in the other is "Comments". In such cases please check if it is really the same parameter, which in this example is highly likely. Data transfer is not be prevented if the parameter names vary, when the data field name is identical.

**Measurement units of the parameter vary**

The properties of the measurement units or field formats in both databases vary. It is not possible to copy the data from one database into another database because there will be no conversion of the measurement values during transfer. For instance, if a parameter was recorded in grams one database and in kilograms in the other, the values of one database must be converted before copying the data into the other database. Furthermore, the specification of the units must be matched up. The [Calculation](/data-analysis/data-checks-and-validations) can be executed with the utilisation of formulae within the measurement editor of GeoDin.

The transfer of the same parameters but with differing field formats (date, character, numeric)is also not possible. In addition the field length will be checked. For instance there could be a parameter REMARKS with a field length of 30 characters in \[database\_1] and the same parameter with a field length of 40 in \[database\_2]. Before it is possible to copy values of this parameter from \[database\_2] into \[database\_1] you must expand the field length in \[database\_1] up to 40. Otherwise there is a risk that text entries with more than 30 characters will be truncated.

## Reference: Parameters

The parameter overview for a data type shows all the available parameter for a data type. Here you can choose which parameters are to be available in the current database, set their order and edit their properties. In addition there is information on the measurement values in the database.

Following tools are available:

\*\*'\*\*Open all nodes'

Opens the complete node structure to display the parameters.

\*\* 'Close all nodes'

Closes the displayed node parameter structure completely.

\*\* 'Determine number of measured values'

Calculates the number of measurement values in the database per parameter. This information is displayed in the column "Number of Values".

\*\* 'Edit parameter properties'

Opens a window to [Edit parameter properties](/workspace-and-data-management/working-with-measurement-data/data-sequences-and-cpt) This function is only available for parameters that are in use in the current database.

\*\*'Display order'

This function allows you to set the display orderof chemical groups and parameters in the method [Measurement data](/workspace-and-data-management/working-with-measurement-data) Choose the data type branch in the first line to edit the display order of the chemical groups. To edit the parameter order in the data collection grid, choose the branch of the chemical group for which you wish to edit the display order.

***Note:*** *To make quickly finding parameters easier you can sort them according to your own criteria. The structured display of the parameters in the Data Type Manager overview always shows the original order of chemical groups and parameters from the system configuration. The display order for subsequent data collection is only viewable in the Data Type Manager using this function.*

**Filtering the displayed parameters**

To quickly find parameters you can use the following filter:

[Measurement program](/workspace-and-data-management/working-with-measurement-data)

Where measurement programs (parameter combinations) for the data type exist in the system configuration, these can be used to reduce the number of parameters displayed.

**Filter**

A collection of filters which reduce the displayed number of parameters that have certain properties. For instance the filter "parameters used without measurement values" allows you to quickly remove unwanted parameters from the database. Many other filters are available.

**Search**

Reduces the parameters displayed to those whose parameter or data field name matches the search term.

**Adding and removing parameters**

Parameters can be added to the database by marking the appropriate check boxes. By removing these check mark the parameters are also deleted from the database. This can be done for several parameters at once by choosing the parent check box. By default the affected parameters are shown in an overview when such a selection change is made. Here the addition and removal of parameters can be checked before proceeding and if need be canceled. If you wish to speed up this process, there is the option to activate **Add or remove individual parameters without confirmation** so that one or several parameters can be edited in succession. Activating this causes the action chosen to be carried out immediately without requiring a further confirmation. An exception is the deleting of parameters where measurement values are present - since these would be removed from the database a confirmation is always required before proceeding.

Important note: The parameters with the symbol are in the current database but NOT in the system configuration. If such a parameter is deleted from the database it cannot be subsequently added again, because only parameters known to the system configuration can be added. It is however possible to add such parameters to the system configuration by double-clicking the parameter or clicking the button . Here you have the possibility to add parameters to the system configuration.

**Differences in parameter properties to the system configuration**

The parameters shown with the symbol properties that differ from those in the system configuration. This is not cause for concern since parameter properties are independent of the database. For instance the default value entered automatically for every data record could be =10 in the system configuration and =15 in the current database. Hence these differences are perfectly legitimate. However differences in the data filed type are more critical (e.g. in the system configuration type = Text and in the database = Number). These differences may cause problems when data are to be subsequently transferred from one database to another, where the same parameter has different data field types. Such a data transfer is not possible and will be refused. You can edit the [Edit parameter properties](/workspace-and-data-management/working-with-measurement-data/data-sequences-and-cpt) to alleviate these differences.

## Reference: Edit parameter properties

The overview displays the properties of a parameter in the current database and in the system configuration.

Where the parameter property has the symbol there is a discrepancy. You may transfer the parameter property from the system configuration to the current database by selecting with the mouse and dragging and dropping from the system configuration column to the database column.

Changes that affect the data field type of the parameter cause a structural change in the relevant data type table, as long as the data type is in the **S**mall-**D**ata-**M**odel (SDM) structure. GeoDin makes these changes as long as no measurement values exist for this parameter. If measurement values are present, then the length of a text field may be increased but not decreased. If a structural change is not possible a message will appear. The syntax of the SQL-command to change a table column differs between database types. GeoDin tries to automatically recognize the database format and use the appropriate syntax. If the automatic recognition is not possible and the SQL command fails (shown by an error message), the syntax of the SQL command can also be configured. Further information is available in the chapter **Configuration**

In addition to transferring the parameter properties from the system configuration to the current database, you may also edit the parameter properties of the system configuration. To do so just double-click the required property. Please note that changes made to parameter properties will be the new default settings when adding parameters to future databases.

A detailed description of parameter properties can be found in the Chapter **Edit parameter**

## Related topics

* Shared measurement/data-type reference content now lives in the measurement-data editor reference ([Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data))


# Test Plans

Configure test plans to split lab work into two roles - one user orders sample analyses, the other performs them and may edit only the ordered parameters.

The **Configure test plan** method supports concurrent editing of a GeoDin database by two users: one orders analyses of samples, the other performs the analyses and enters the results. The second user can only edit the parameters defined by the first, so both the registration of a lab order and the completion of an analysis happen inside GeoDin.

{% hint style="warning" %}
This method is not normally available in GeoDin. It is added to the application through a special user-rights configuration - contact your GeoDin administrator.
{% endhint %}

## Requirements

* The method enabled through the user-rights configuration (see above).
* The data type entered in the sample management - a sample is always analysed within the frame of one data type.

## Creating a test plan

### Step 1: Select the data type and samples

When a data type is selected, the samples for which this data type was entered in the sample management are displayed with sample name and sample date. Samples can be processed individually or marked as a group.

### Step 2: Add samples (optional)

Any number of samples can be created with **Add samples**:

* **Data type** - fixed to the pre-selected data type; it cannot be changed here.
* **Use parameter of the selected sample** - applies the parameters defined for the selected sample to all newly created samples, so a frequently used parameter combination only has to be created once.
* **Sample collection** - fixed values for sample date and sample collection; the current date is the default.
* **Laboratory** - general data for the new samples: the date of receipt (default: current date), the number of samples to create (default: 10), and a macro for the sample names, where the variable `$SMPNUMBER$` is replaced by a consecutive number starting at the given start number.

### Step 3: Add the parameters to analyse

For the selected sample, the registered parameters are displayed. If no analysis plan was edited yet, the list is empty; registered-and-analysed parameters appear with their measured value, registered-but-not-analysed parameters with the value 0. Parameters not analysed so far (value 0) can be selected and removed.

**Add Parameter** lists the available parameters for the data type:

* **All parameters** - every available parameter in alphabetical order.
* A dropdown of the data type's **parameter groups** limits the list to one group.
* An input field filters the list to parameters containing the search string.
* Alternatively, **measurement programs** for the data type can be used as a selection.

For the added parameters a due date is entered; the default is the current date + 3 days.

### Step 4: Apply

When the configuration is complete, **Apply** adds the data sets to the database. The lab user can then enter results for exactly these parameters.

{% hint style="danger" %}
Changing the data type discards the current settings - a security warning is shown first.
{% endhint %}

***

For entering the analysis results, see [Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data).


# Managing Documents

GeoDin document management lets you attach any type of file - photos, Microsoft Word texts, Microsoft Excel tables, videos, and GeoDin graphics - to a database, project, object, or measurement point, store it in the database or as a link, and view, edit, save, or print it from GeoDin. This page is the canonical, comprehensive reference for the document management module: the orientation and walkthroughs come first, then the working detail, then the full configuration, table, and import-format reference. For a short conceptual overview see [**Document Organization**](/workspace-and-data-management/managing-documents/document-organization).

## Documents

GeoDin document management is an integral part of GeoDin. Any type of document can be integrated within a GeoDin database (Photos, Microsoft Word texts, Microsoft Excel tables, Videos and of course GeoDin graphics).

Documents may be:

1. any files
2. links to websites
3. empty documents

\
The document data can (optionally compressed) either be stored in the database itself (BLOB) or as a link to the documents and viewed within GeoDin (additional software may be required e.g. Microsoft Office) and edited, saved or printed from GeoDin.

Documents are saved:

1. in the database (either in the original format or Zip-compressed)
2. as a link to a file or web page

\
It is also possible to display the documents in GeoDin graphics. Using the graphic element, images may be directly scaled whereas other documents are shown as a symbol and can be viewed in a separate window. The integration and display of documents within a GeoDin graphic is done using **Data source**. This allows templates containing such elements to automatically show the database contents.

The following file formats are displayed directly in GeoDin graphics:

**Bitmaps:** JPEG, BMP, PNG, TIFF, ICO, PCX

**Vector images:** WMF, EMF

**GeoDin formats:** GGF, GLO

Other file formats (e.g. DOC, MPEG, PDF etc.) rely on the appropriate Windows software applications and use Microsoft Internet Explorer for the display.

Documents can be linked to a GeoDin-object i.e. they have a defined relationship to an object in the GeoDin database e.g. borehole or measurement point. However, documents can also be stored in the database without reference to a specific object and then have a reference to a GeoDin node, i.e. to a project or to the GeoDin database itself.

\
The following relationships of documents may be defined:

1. database
2. project
3. object
4. measurement point

Documents that are linked to projects, objects or measuring points and are saved in the GeoDin database only exist in the database as long as the object itself still exists. If, for example, an object with associated documents is deleted, these documents are also deleted from the database. In these cases, a separate confirmation prompt is issued. If only the reference to a file is stored in the GeoDin database for a document, the file is not deleted when the GeoDin object is deleted.

Documents are not only stored in the GeoDin database with their name and, if applicable, the document data, but are also provided with a supplementary description that optionally explains the content or other properties of the document in more detail. GeoDin provides various document description types (with different characteristics) so that, for example, different characteristics can be entered for images than for reports that are available in text form.

## Requirements

The use of document management within GeoDin requires the following

**1. Database**

The document management is available in Microsoft Access databases and in all "real" SQL-databases (ORACLE, Microsoft SQL-Server etc.). In file-based projects (on drives) and in dBase databases the document management cannot be used.

\
**2. Database structure**

The document management is only available in so-called OneTableSet databases (this is the standard database setting in GeoDin). Hence if you have not made specialized changes to the GeoDin configuration file, this requirement is always met. If the OneTableSet parameter string for the database is set to zero (= 0) the document management cannot be used.

\
**3. Document description**

To add documents to a GeoDin database the appropriate document descriptions must be installed. If they are not already available you may install these from the GeoDin-DVD via the system tab using the Method [Install](/installation-and-licensing/express-installation). If the international document description types, where the data entry language can be chosen between English, French, German, Russian or Spanish, choose the types with the (DOC) abbreviation.

\
4\. Document management configuration inGeoDin

The use of document management in GeoDin can be configured for entire systems or for special databases. For example, it is possible to define in detail which types of documents can be included in the document management system and how they must be saved..

The configuration is either done directly in the GeoDin.ini or in special configuration files for specific databases. A detailed description can be found in the chapter [Configuration of the document management](/workspace-and-data-management/managing-documents/document-organization).

## Document management

Documents that have been linked to a database, a project, an object or a measurement point are shown in the GeoDin object manager (GOM). Object and measurement points with linked documents are shown with a special symbol. The documents branch can be fully expanded on the object. If databases or projects contain documents, the corresponding branch is automatically displayed.

The following methods are available for documents:

![Documents](/files/6mT0aarvxnHnUmcb7FM1) **Manage documents**

This method starts the document management for the selected object.

**Preview**

Opens a preview window for the chosen object. Images and GeoDin graphics are shown in a preview window, which may remain open and is automatically updated when another object is selected.

**Edit graphic**

If the document is a GeoDin-Graphic or -layout, the method **"Edit graphic"** becomes available.

The **"Manage documents"** method is the central entry point for document management in GeoDin. The method is available for the following objects (unless restricted by special configurations):

1. Database
2. Project
3. Object
4. Measurement point

In addition this method is available at every document or folder (as long as the extended view is activated in the GeoDin object manager).

Selecting the desired object in the GeoDin object manager and starting the **"Manage documents"** method also defines the assignment of the new documents to be inserted to a GeoDin object. For example, if you want to add core photos to a borehole, it makes sense to link them to the corresponding borehole. Therefore, select the corresponding borehole in the GeoDin object manager and then start the method. A project report, on the other hand, is not related to an individual borehole, but is better linked to the project itself. Therefore, first select the desired project entry in the GeoDin object manager and then start the method. Assignments of documents to GeoDin objects can also be changed later, so it is not necessary to delete the document and add it again (to the correct object).

Each document that is to be included in the GeoDin database must be provided with a document description. This contains additional information about the document, e.g. author, direction of the photo, notes on the expertise, i.e. information that goes beyond the name and date of the document. Depending on the current configuration of the GeoDin system, different types of document descriptions may be possible. For example, for core photos it is useful to specify the top and bottom edges of the photo, whereas for reports this information is irrelevant.

Document description types are installed like [Install](/installation-and-licensing/express-installation). You may need to contact your GeoDin support agent for more help.

Document description types should not be confused with document types, which refer to the file type as used by Windows Explorer (e.g. \*.doc: Microsoft Word text; \*.jpg: photo; \*.pdf: document etc.). There are many more different file types than document description types so that several document types may share the same description type.

When the **"Manage documents"** method is called up for the first time in a database, you are asked to register the document description types you want to use. This allows you to specify which types of document descriptions you want to use for the specific database. You can add to this selection at any time.

The **"Manage documents"** method displays the name of the current GeoDin object in the title bar. This object is also the main branch of the document folder structure. The first folder 'Documents' is always present and cannot be deleted. However, it is possible to rename this folder. Documents that are inserted in this folder or in folders below it are linked to the current GeoDin object.

The documents of an object can be stored in any folder structure. This is comparable to a folder structure on a hard drive. Any folder can be created, deleted (except the top folder) and (re)named. The folder structure can be manipulated and documents moved to other folders using drag & drop. To do this, click on the desired entry and drag the mouse pointer to the desired location while holding down the left mouse button. Now release the left mouse button to drop the entry at this location.

## Creating and organizing folders

New folders can be added beneath existing ones by selecting an existing folder and clicking the ![New](/files/ZDf70NlDm10mUE7878no) **New folder** button:

Borehole 01

Documents

New folder

Enter a name and press the **Return** key.

Borehole 01

Documents

Core fotos

To rename a folder left click the name and wait a moment for the selection box before typing. Alternatively use the **F2** key.

**Folder Structure**

You may structure several folders by creating them in the chosen place or afterwards by dragging and dropping them into position. Assumed you have already created the following folders and now you want to distribute the documents into the correspondence with the client and the report. Here is the initial structure:

Borehole 01

Documents

Core fotos

GeoDin grafics

Tender & contact

Invoices & time sheets

First create the folder "Correspondence with client" below the folder Documents.

Borehole 01

Documents

Core fotos

GeoDin grafics

Tender & contact

Invoices & time sheets

Correspondence with clients

Then the "Tender & contract" folder is dragged onto the folder "Correspondence with client" using the left mouse button. After releasing the left mouse button the "Tender & contract" folder is added below the folder "Correspondence with client":

Borehole 01

Documents

Core fotos

GeoDin grafics

Invoices & time sheets

Correspondence with clients

Tender & contact

After adding the folder "Report" and moving the particular folders with the described method, the structure could look like this:

Borehole 01

Documents

Correspondence with clients

Invoices & time sheets

Tender & contract

Report

Core fotos

GeoDin grafics

The order of folders within a branch can also be changed by drag & drop. To move the folder "Core photos" to the second drag the entry "GeoDin grafics" below the folder "Report".

Borehole 01

Documents

Correspondence with clients

Invoices & time sheets

Tender & contract

Report

GeoDin grafics

Core fotos

***Note:*** *If you move a folder to another folder that is not the immediate parent folder, you are not changing the order, but the structure of the folders, because in this case the moved folder becomes a subfolder of the target folder.*

Upon selecting an object information relevant to the folder or document is shown on the ***Folder / Document*** tab:

***

Name Typ Größe (KB) Datum More pictures Folder Picture 1 Portable Networks Graphics 78 11.07.2009 13:58 Picture 2 Portable Networks Graphics 79 11.07.2009 14:02 Picture 3 Portable Networks Graphics 83 11.07.2009 14:05

***

By clicking a column the contents can be sorted in either ascending or descending order. A subsequent click reverses the order.

By using drag and drop documents and folders can be moved from the folder overview on the right, into the general overview on the left.

## Add document

To import more than one document to several objects use the method [Import documents](/workspace-and-data-management/managing-documents).

{% stepper %}
{% step %}

#### Step 1

Choose what type of document you want to add; the following options are available:

**File**

With this option you may add a file that is saved on your hard / network drive or other mounted media.

**Current graphic**

Use this option to add the graphic that is currently displayed in the **"Print and edit graphics"** method as a document. If this method is not currently open, this option is not available.

**Address**

This option adds an Internet address (URL) as a document.

[Without document](/workspace-and-data-management/managing-documents/document-organization)

This option can be used to save a placeholder for a document yet to be added to the database , but where a (provisional) description can already be entered.

\#GeoDinHelpLink: [Create document](/workspace-and-data-management/managing-documents)5922#

With this option you create a new object directly in the GeoDin database.

After adding the document click **Next** to move to Step 2
{% endstep %}

{% step %}

#### Step 2

In the list above the type of document description can be chosen. This determines what kind of additional information can be stored about the document. All the registered document types for the database are shown.

After choosing a type you continue with
{% endstep %}

{% step %}

#### Step 3

Here document details may be entered (in some cases there are required entries). The contents of the document description may be edited at a later stage. The document type however cannot be changed once Step 3 has been completed by pressing the **Ready** button. Hence if changes to the description type are made, all entries in step 3 will be lost. On pressing the **Ready** button the document description is saved in the document structure and is automatically the current document.
{% endstep %}
{% endstepper %}

Renaming a document in the folder structure can be done with the **F2** key or with a click on the entry itself (as in renaming a folder). Similarly moving a document can be done by using drag & drop .

## Deleting documents and folders

To delete documents or folders, select an object and choose **Delete**.

If the object selected is a document the following message appears:

*"Do you really want to delete the document 'Drilling Rig 01' ?"*

If the selected object is a folder, then not only the folder but also all documents contained within will be deleted. In this case the following message appears:

"Do you really want to delete the folder 'Core photos' ?

The folder contains 3 document(s) !

These documents will be lost if you delete this folder.

There is no undo of this command !

Proceed ?"

When you delete a document the contents are removed from the GeoDin database. This means that if you do not have a copy of a selected document saved in another object the contents are no longer recoverable after deletion.

If the document is an alias (i.e. a link to a file stored elsewhere) then after document deletion the file is on the drive and you have to delete it "per hand", if you want to remove it.

## Display of document information

Upon selecting an object information relevant to the folder or document is shown on the ***Folder**\\* *Document*\*\* tab and the following functions are available:

\
**Function "Show document"**

Use the function **Show document** for documents, whose contents cannot be displayed directly on the **Preview** tab (e.g. Microsoft Word files).

You do not need this function for image files and GeoDin graphics, which are shown automatically,

This function uses Microsoft Internet Explorer to display documents. In case this is not installed or the file type is not supported, no preview will appear. In all other cases the document is shown in a separate window:

\
**Function "Start linked programs"**

This function displays the document with the program that your Windows installation uses to open files of this type. This is analogous to double-clicking a file in Windows Explorer. If the file is a Microsoft Word document, then a text editing window is opened.

If the document is stored in the GeoDin database and you edit the document in the linked program, you will be asked before saving to confirm that these changes are stored also in GeoDin-database.\
\
\&#xNAN;***Attention:*** *If you choose the option "No" then all edits are lost!*

**Function "Edit graphic"**

If the document is a GeoDin graphic, a GeoDin layout or a GeoDin layout list, then instead of the function **"Start linked program"** the function "**Edit graphic"** opens for editing.

This function opens the document in the **Edit Graphic** window, allowing you to edit the graphic as usual.

***Note:*** *The document management window is automatically closed and the graphic window becomes the current window.*

The graphic is marked with a special icon on the tab because it is stored in the database and does not exist as a file. Any changes you make to the graphic will be automatically transferred to the database when using the save function, so you don't need to worry about the specific type of storage.

**Function "Save document under"**

This function allows you to save the current document as a file under a new name. This is particularly useful for documents that are stored within the GeoDin database and do not exist as individual files. Using this method these documents can be stored as files.

**Function "Replace document data"**

This function allows you to replace the document in an existing document entry. The current document description will be retained, but it can also be modified if necessary. You can use this function if, for example, you accidentally added the wrong image and now want to replace it with the correct one.

Use this function as well to attach a "real" document to an entry that was previously inserted as an "empty document."

By clicking the button, you access the **"Replace Document Data"** function, which has the same structure and operation as the [Add document](/workspace-and-data-management/managing-documents) function.

## Document preview

The **Preview** tab provides a direct preview for a variety of document types. These include, in particular, image documents (raster and vector formats) as well as GeoDin graphics and layouts.

When the -Refresh Preview- option is enabled, the document data is automatically loaded as soon as the corresponding entry in the folder overview is selected. You can prevent this automatic loading of document data (which may take some time depending on the size of the document and the speed of the database connection) by disabling this option. In this case, a preview of the document will not be displayed.

If a direct display of the document in the preview is not possible, a corresponding message will appear, and the document can be viewed using the [Display of document information](/workspace-and-data-management/managing-documents/document-organization).

## Document description

The **Document description** tab can be used to provide extra information about the file just added. This can be subsequently edited.

After correcting or adding to the entries, they can be saved with the **Apply** button. If you leave the document entry (e.g., in the left document structure) without having saved the changes with the **Apply** button, a prompt will appear asking if you would like to save the changes now.

## Show enclosed objects

After launching the document management for a selected object in the GeoDin Object Manager, this object automatically becomes the main entry in the right overview of folders and documents. Only the documents directly linked to this object are displayed below. To get an overview of all documents, for example, of a project, it is not necessary to select each individual object in the Object Manager and then start the document management. With the option - Display Subordinate Objects -, all objects with documents can be displayed in one step.

Suppose the document management is started on a project entry ("Section 1") in the GeoDin Object Manager, and no documents are assigned to the project itself. By checking the option - Display Subordinate Objects -, you will access the displayed dialog.

In the upper part of the dialog, you define up to which branching depth objects should be examined. In the example where the project is the main object, the - Objects - option is automatically preset, as objects are the next branching depth (a project contains objects). However, you can specify whether the measurement points belonging to an object should also be examined.

Below is an explanation of the GeoDin object hierarchy:

GeoDin database (contains projects)

GeoDin project (contains objects)

GeoDin objects (contains measurement points)

GeoDin measurement points (no further subdivision)

If the document management is started at the GeoDin database level, all projects, objects, measurement points can be searched and the documents be displayed in one operation.

In the lower half of the dialog, you specify which objects should be included in the display. If you only want to include objects that have documents assigned to them, select this option. The option -All Subordinate Objects- includes all GeoDin objects in the display. Use this option if you want to move an already linked document to another GeoDin object that does not yet have any documents. Please note that this option may include many objects in the display, which can take a while depending on the number of subordinate objects.

For all operations described below, use the document management in GeoDin.

For the example of the project "Section 1", displaying the subordinate objects results in the following representation:

Project 1

Documents

Borehole 1

Documents

Correspondence with client

Tender and contract

[www.client.com](http://www.client.com)

Tender

Report

GeoDin graphics

Core photos

Since only "Drilling 01" currently has documents assigned to it, only this will be displayed in the overview if the option -Only Objects with Assigned Document Data- was selected.

When selecting the option -All Subordinate Objects-, the following representation appears:

Project 1

Documents

Borehole 1

Documents

MP1

MP2

MP3

MP4

Borehole 2

Documents

P

Borehole 3

Borehole 4

Borehole 5

In addition to "Drilling 01" (which contains documents), all other drillings of the project are also included in the display. Furthermore, all measurement points of the drillings are shown, as the -Measurement Points- option was enabled. If you turn this option off, the measurement points will be hidden:

Project 1

Documents

Borehole 1

Documents

Correspondence with client

Tender and contract

[www.client.com](http://www.client.com)

Tender

Report

GeoDin graphics

Core photos

524\_550

550\_577

577\_603

Section 2

Borehole 2

Documents

Borehole 3

In addition to displaying the document hierarchy, you may also move documents or folders containing documents from one object to another.

For example the photo "524\_550" belongs to Borehole 2, but has been linked to Borehole 1 by mistake. First create the folder for Borehole 2:

Project 1

Documents

Borehole 1

Documents

Correspondence with client

Tender and contract

[www.client.com](http://www.client.com)

Tender

Report

GeoDin graphics

Core photos

524\_550

550\_577

577\_603

Section 2

Borehole 2

Documents

Report

Core photos

Borehole 3

Borehole 4

Then simply drag & drop the document from the original folder to the one just created:

A warning message appears because the link will be changed by this action:

*"Do you really want to change the link to the chosen document from object: "Borehole 1"*

*to object: "Borehole 2" ?"*

After clicking **Yes** the document is moved:

Project 1

Documents

Borehole 1

Documents

Correspondence with client

Tender and contract

[www.client.com](http://www.client.com)

Tender

Report

GeoDin graphics

Core photos

550\_577

577\_603

Section 2

Borehole 2

Documents

Report

Core photos

524\_550

Borehole 3

Borehole 4

Adding documents may also be carried out, without selecting each object individually.

## Register document descriptions

**"Register Document Descriptions"** can be done at any branch of the database, as this registration applies to the entire database.

**Available Document Descriptions:**

This list displays the document descriptions available in your GeoDin installation.

Select the desired entry here and then click the **Register** button. The entry will now also appear in the lower list, and you can use this type of document description in the current database.

If you do not find the entry you need in the list of available document descriptions, you can add additional document description types (= object types) to your GeoDin installation. Use the [Install](/installation-and-licensing/express-installation). This allows you to add additional types from the GeoDin DVD or the GeoDin homepage.

**Registered Document Descriptions:**

This list shows the document descriptions that are already registered in the current database.

If all the document descriptions you need in the current database are displayed in the lower list of registered document descriptions, exit this dialog with **\<Exit>.**

## Using aliases

If you add documents to your database as references because you do not want the document data to be stored in the GeoDin database, or the documents (e.g., videos) are too large to be stored in the database, the reference initially contains a full path to the actual document.

In step 1 of the **File** function, you can see the reference that will be stored in the database (for example, C:\Photos\Cores\550\_577.jpg).

If you want to share the GeoDin database with another user, you must also provide the photo files; otherwise, the other user will not be able to view the photos. However, this user would need to recreate the same directory structure on their hard drive for the files to be found. This may not be possible, for instance, if you are referring to photos on network drives. Furthermore, you might want to change the structure of your directories, or you may have so many photos that you want to move them to another storage medium.

In all these cases, using alias references is the appropriate solution. With these references, you replace specific path names with freely invented identifiers and can change the path names later.

You can access the editing of references with the **Edit link** button.

The buttons on the right allow you to add or remove references. For the first entry, you do not need to use the **Add** button; you can write directly in the input grid.

**Example:**

For instance a folder C:\Photos\Cores\ should be replaced by the words "Drilling".

**Name folder name to replace**

Drilling C:\Photos\Cores\\

After editing and confirming with **OK** you can observe the changes resulting of the alias link in Step 1 of the function **File**.

Saved link: $Drilling$Core 01.jpg

In the GeoDin database the link to the photo is saved as $Drilling$Core 01.jpg and has no device or folder information.

If the folder "Photos" is moved to drive D: into a subfolder "Projects", it is sufficient to change the alias information in the GeoDin database to access the file 'Core 01.jpg' again:

**Name folder name to replace**

Drilling D:\Projects\Photos\Cores\\

Although the saved link remains the same ($Drilling$Core 01.jpg) the image is now searched for in the folder ***D:**\\**Projects**\\**Photos**\\**Cores**\\*

Aliases are valid for the entire database and not object specific. Once defined they apply to various objects added to this folder. GeoDin automatically recognizes, whether documents added to a database belong to a folder with an alias link and replaces the particular connection string automatically. Just notice the display "Saved link" in Step 1 of the function <**Add / Replace document data**>.

## GeoDin graphics as documents

GeoDin graphics can be added to a GeoDin database just like any other document, either as a **File** or as the **Current graphic**.

GeoDin graphics files can however contain links to objects (e.g. boreholes). Because of this there are certain points to bear in mind, when copying projects or objects with linked documents. The following notes only apply to documents of the type GeoDin graphic, which contain links to boreholes. This is the case, the option -Link borehole data- for **Data source** is chosen. The object frame contains a link to the borehole displayed, with the database name, project ID and object ID, which becomes part of the document data when the current graphic is added using the document management method.

When a borehole is copied to another project and/or database a related graphic is also copied, if the option to copy documents was not deactivated.

The link in the graphic would address furthermore a borehole 01 in the source project. GeoDin automatically adjusts these parts of the link information enabling the document to be shown correctly in its new object.

As a result of this automatic correction, when you access this graphic in the target project, the data from Drilling 01 of the target project (i.e., the copy) is correctly loaded and displayed.

The automatic exchange of references within a GeoDin graphic is performed under the following conditions:

1. The GeoDin graphic is a document stored in the database. GeoDin graphics that are merely referenced in the document management are not changed. In this case, both objects (original and copy) share the reference to the GeoDin graphic file. Therefore, avoid references to GeoDin graphics with links to drillings and store them in the database instead.
2. The reference in the GeoDin graphic must match the object being copied. If a graphic contains a reference to an object other than the one being copied, the reference will not be changed or only partially changed. This would be the case, for example, if Drilling 01 contains a graphic that displays Drilling 02. When copying Drilling 01 to another project, the project ID of the reference will be corrected, but since it is unknown whether Drilling 02 will also be copied to the other project, the object ID of this reference cannot be corrected. In practice, this means that the graphic in the copy will either display no drilling or, in the worst case, a different drilling. Therefore, if a GeoDin graphic contains a reference to an object, always add this graphic to the document management of that object and avoid adding it to other objects.

Which of the two methods, linking or embedding drilling data in a graphic, is used depends greatly on the goal of the work. A link is always useful if changes in the drilling data should automatically lead to an updated graphic. Embedded data does not offer this advantage; the graphic is thus a "snapshot" at the time of creation. However, the project and the drilling itself are no longer necessary for displaying the graphic.

The following approach is generally recommended:

1. If the graphic contains the representation of an object (e.g., drilling), a link is appropriate. Always add such a GeoDin graphic to the document management of the represented drilling (and not other objects) and store it in the GeoDin database instead of as a file reference.
2. If the graphic contains the representation of multiple objects (e.g., profile section), embedding the drilling data is more suitable. It is better to add such a GeoDin graphic to the document management of the project rather than a single drilling and store it in the GeoDin database.

## Reference: Configuration of the document management

The configurations for document management are done either in the GeoDin configuration file GeoDin.ini or in the configuration file of the desired database connection.

If a standalone configuration file is used for a specific database connection, all sections relevant to or desired for the configuration of the document management must be created in this configuration file.

Sections of GeoDin.ini that pertain to document management will be ignored for this database connection, and the default settings listed below will be used. This makes the configuration parameters more manageable, as they are not mixed from multiple configuration files.

The following items and settings are available:

**Section \[Documents] optionalParameter Enabled**

Status optional

Standard true

**Explanation**

To disable document management set this parameter to =false.

**Parameter MaxDBDocSize**

Status optional

Standard 2048

**Explanation**

Maximum size of documents in KB that can be saved directly in the database. If ZIP-compression is used a comparison is made between the compressed and the original size.

**Example:**

To store 8 MB documents in the database, please add the following line in the \[Documents] section of the GeoDin.INI file:

MaxDBDocSize=8192

**Parameter SmallCompression**

Status optional

Standard 5

**Explanation**

Since compression is not beneficial for all file types (such as formats that already contain compressed data), the percentage reduction of the data is determined after compression is performed. If this reduction is smaller than the specified percentage, a prompt will ask whether the data should actually be stored compressed in the database or in uncompressed form. Since compression requires computation time, uncompressed storage may be more efficient. This is even more applicable to ZIP files, as recompressing them can actually increase the data size.

**Parameter RegisterDocDesc**

Status optional

Standard true

**Explanation**

To disable document type registration set this parameter to =false.

**Parameter EditAliasNames**

Status optional

Standard true

**Explanation**

To disable renaming aliases set this parameter to =false.

**Parameter EditDocument**

Status optional

Standard true

**Explanation**

To disable editing documents via OLE (linked program) or in GeoDin Graph set this parameter to =false.

**Parameter FolderStructureReadOnly**

Status optional

Standard false

**Explanation**

Set this parameter to =true, to prevent changes to folder structure under the document node. This also means that new documents can be added, moved or deleted. Editing exosting documents and their descriptions is possible though.

**Parameter AutoFolderStructure**

Status optional

Standard true

**Explanation**

By missing or defective entries **STRUCDEF** in the table ADC\_STRUC GeoDin tries to create the the necessary file system folders based on the linked documents. This can be prevented by setting this parameter to =false .

**Parameter RootFolderName**

Status optional

Standard empty

**Explanation**

The standard GeoDin setting titles the first folder of a document node depending upon the user interface language (e.g. German "Dokumente", English "Documents"). By using this option a standard name can be defined independently of the chosen language.

**Section \[DocumentLinks] optional**

This section allows the relationships of documents to GeoDin objects to be optimized.

**Parameter Link1 to Linkn**

Status optional

Standard not defined

**Explanation**

List of objects to which documents can be linked:

\
Database\
Project\
Location\
Measurement point\
\
If this section is missing then document management is allowed for all 4 objects. A limitation has the following syntax:

\
\[DocumentLinks]

Link1=Location\
\
In this example documents can only be linked to location points.

**Section \[DocumentTypes] optional**

This section allows the optimal limitation of document types and/or special file type configuration.

**Parameter DocumentType1bis DocumentTypen**

Status optional

Standard Section not defined

**Explanation**

List of files types that may be used - if this section is missing then all file types are available, links to websites and empty documents.

Example:

\[DocumentTypes]\
DocumentType1=JPG\
DocumentType2=PNG\
DocumentType3=DOC

Only the document types listed above may be used.

The following key words define documents that do not exist locally as files:

URL - Placeholder for links to websites

NULL - Placeholder for empty documents

\* - Placeholder for all unlisted file types.

Example:

\[DocumentTypes]

DocumentType1=JPG

DocumentType2=PNG

DocumentType3=DOC

DocumentType4=\*

allows the availability of all document types AND a special configuration of the file types JPG, PNG, DOC und \* (all other file types that are not JPG, PNG or DOC) in separate sections.

**Section \[xxxx] optional**

*xxxx stands for a file or document type, defined in section \[DocumentTypes].*

Example: \[DOC]

This section is for the optimal restriction of document types that can be used and/or special configuration of data types.

**Parameter Compression**

Status optional

Standard empty

**Explanation**

Compression= (empty or not specified)

User chooses whether files are to be compressed before saving in the database.

Compression=true

Files of this type are always saved compressed to the database.

Compression=false

Files of this type are always saved without compression to the database.

**Parameter MaxDBDocSize**

Status optional

Standard Setting in Section\[Documents]

**Explanation**

Sets the maximum size of documents in KB of this type that can be saved directly in the database. Overrides the setting in Section \[Documents]

**Parameter Description**

Status optional

Standard \*

**Explanation**

List of available document type descriptions for the document type. For example this option can be used to prevent Word documents being given an images description type.

\
Example:

Note: the possible items that appear after Description= depend upon the installed document types. These are shown in square brackets for each document type in the document type registration window.

Description=ED\_PHOTO,ED\_GEN

Only document descriptions with the codes listed above can be used for this document type.

Description=\*

All installed descriptions (i.e. document types) may be used.

**Parameter StoreInDB**

Status optional

Standard true

**Explanation**

By setting this parameter to =false the saving of specific document types may be prevented.

**Parameter LinkToFile**

Status optional

Standard true

**Explanation**

By setting this parameter to =false the saving of a document type as link may be prevented i.e. the document can only be saved in the database.

By setting the options StoreDB=true and StoreLink=true the user may choose between both options.

**Parameter EditDocument**

Status optional

Standard If a setting in the \[Documents] Section is present, then this is the standard value; otherwise Standard=true

**Explanation**

Setting this parameter to =false prevents editing documents via OLE (linked program) or in the graphic editor.

**Section on folder structure for document management**

This option allows a predefined folder structure to automatically be generated when documents are added to a specified geo-object. Folder creation, deletion or renaming is then blocked in the document management.

A separate section covers each object type:

\[DataBase\_DocumentTree]

\[Project\_DocumentTree]

\[Location\_DocumentTree]

\[Measurementpoint\_DocumentTree]

If for example documents are only to be added at locations the following section:

\[DocumentLinks]

Link1=Location

requires only the section \[Location\_DocumentTree], to predefine the folder structure.

Section example:

\[Location\_DocumentTree]

Node1=0=Documents

Node2=1=Correspondence with client

Node3=2=Tender & contract

Node4=2=Invoices & time sheets

Node5=1=Report

Node6=5=Core photos

Node7=5=GeoDin graphics

Borehole 10

Documents

Correspondence with client

Tender & contract

Invoices & time sheets

Report

Core photos

GeoDin graphics

The entries for folders are defined with Node1 to NodeN. The counter must be continuous and start with 1. It also serves to identify an entry. After the equal sign, the identifier of the parent folder is specified. This identifier must refer to a valid node number, with the only exception being Node1=0 as the main folder, which does not have a parent folder. After the second equal sign, you can specify the folder name.

Optionally, a physical location can be specified for the folders. To do this, add another equal = - sign, followed by a full path to a physical location. Example:

Node3=2=Core Photos=C:\GeoDin\Core Photos

If a physical location is specified, only a file from the specified location can be added to the document management via a link.

## Reference: Database tables of the document management

Documents, their structure and links of a database are stored in the following tables:

ADC\_ADCDATA : documents and document data

ADC\_ADCLINK : document links to objects

ADC\_ADCSTRUC : folder structure and object documents

ADC\_ADCALIAS : Aliases

ADC\_xxxxxxxx : Document descriptions

**Table ADC\_ADCDATAADC\_ID**

Identification number of the document

**ADC\_TYPE**

File type of the document

**ADC\_DESC**

Variable of the document description type; the document descriptions are stored in the table ADC\_xxxxxxxx, hence xxxxxxxx has to be replaced by the variable entered here.

**ADC\_OPT**

LONGINT- direction parameter; Bit 0 = document data are stored compressed in the database Bit 1 = document is writing protected Bit 2 = editing per OLE locked

**ADC\_NAME**

Name of the document

**ADC\_FILE**

File name or address of the document; empty, if the document is stored in the database

**ADC\_TIME**

Last change (Time) of the document; only for documents, which are stored in the database, empty for links

**ADC\_SIZE**

Size (in Byte) of the document data; only for documents, which are stored in the database, empty for links

**ADC\_DATA**

Document data as long binary data (Original copy of the file, eventually compressed)

**Table ADC\_ADCLINKADC\_ID**

Document ID number

**PRJ\_ID**

Document link to: database = fixed entry "DBDEF" project = Project ID object = Project ID measurement point = Project ID

Link of the document to: Database = fix entry "DBDEF" Project = Project identification Object = Project identification Measurement point = Project identification

**INVID**

Link of the document to: Database = fix entry "DATABASE" Project = fix entry "PROJECT" Object = INVID of the object Measurement point = INVID of the measurement point

The tables ADCDATA and ADC\_LINK are linked by ADC\_ID. Although the table structure allows it the GeoDin document management permits that a document is linked to several objects.

**Table ADC\_ADCSTRUCPRJ\_ID**

Link of the document to: Database = fix entry "DBDEF" Project = Project identification Object = Project identification Measurement point = Project identification

**INVID**

Link of the document to: Database = fix entry "DATABASE" Project = fix entry "PROJECT" Object = INVID of the Object Measurement point = INVID of the measurement point

**STRUCDEF**

Long binary data of the tree structure

***Note:*** *For each dataset in the table ADC\_ADCLINK there is a dataset with identical PRJ\_ID and INVID in the table ADC\_ADCSTRUC.*

**Table ADC\_ADCALIASALIAS\_ID**

Alias ID

**ALIAS\_NAME**

Alias name

**ALIAS\_TEXT**

Folder name to replace

**Table ADC\_xxxxxxxx**

xxxxxxx stands for the variable ADC\_DESC from the table ADCDATA

**ADC\_ID**

Document ID number

**Field1**

Description data field 1

....

**Fieldn**

Description data field n

The tables ADCDATA and ADC\_xxxxxxxx are linked via ADC\_ID.

The definition of the document descriptions table can be studied in the SYS\_LOCSTRS table (because the document description is registered like a object type in the SYS-tables).

## Reference: Document add types

The **Add document** walkthrough above lets you choose what kind of document to add. Each type behaves as described below.

### File

First choose the file to be stored via the folder icon **File open**. In the *"Name:"* field you may either leave the default setting (file name) or enter any other name. This is initially predefined with the name of the file and can also be changed again at a later date.

***Note:*** *You can add several files in one step. Therefore mark in the dialogue* ***Open*** *the chosen files. Use the key* ***Ctrl*** *to select several single files or the* ***Caps lock*** *to select entire groups of files. Only select files of the same type (for example several photos of the type .jpg or several Word documents of the type .doc). The document description that you can adjust later on (and the entered content) is used for all added files and can afterwards be changed for single documents. Also the type of storage (in the database type of compression or storage as a link) is performed for equally for all selected files. By choosing several files of a different type an error message is displayed.*

In the central part of the dialogue window you may set how the document is to be stored in the database. There are two options:

Storing documents in aGeoDindatabase

By choosing this option the document is copied and stored in a GeoDin database. For instance in a Microsoft Access database the contents of a JPEG are stored in the particular \*.mdb file. In case of an ORACLE database the image would be copied to the database server.

Further use of the document within GeoDin (e.g. preview) uses the copy stored in the database and does not therefore affect the original file. If the database is given to a third party, the documents from the database are useable, without having the original file.

Linking to document data in aGeoDindatabase

By choosing this option a link to the document location is stored in the database and not the data itself. For using the document further within GeoDin opening the file from this location is necessary (e.g. C:\eDemo\Drilling Photos\Drilling rig 01). If the file is deleted, moved or renamed then an appropriate error message is generated in GeoDin and the document cannot be displayed. Similarly if the GeoDin database is given to a third party, the document is only useable, if the original file is also present and in the same location (folder structure).

How you can uses aliases to flexibly store links (without having the folder structure on your hard drive), is described in chapter [Using aliases](/workspace-and-data-management/managing-documents/document-organization).

**Data compression**

The two variations have strongly differing storage requirements in the GeoDin database. An alias takes up only a few bytes whereas saving a document in the database itself takes up as much space as the original file. This variant therefore offers the option of storing the document data in compressed form in the GeoDin database. To do this, choose the option -Save document compressed in the database-.

The compression option allows major space saving possibilities for texts, tables and graphics in the GeoDin database. Other document types (e.g. JPG-Images, Videosequences) already exist in a compressed format so that a further compression may even result the file size being increased. GeoDin provides an efficiency guide for this feature. When the compression rate is slight the following message appears:

"The compressed data is only xx percent smaller than the original. Do you still want to save the data in compressed form?"

Choosing **Yes** saves the document in compressed form; otherwise the original size is used.

### Current graphic

This option is only available when the GeoDin Graph window \<Edit graphic> is open and is in use, for example, to save the graphic representation of an object or any other graphic as a document. By starting the method **"Manage documents"** parallel to the graphic window and choosing **New document**, the current graphic option is available. The currently displayed graphic can now be added as a document. The selection of the type of storage is the same as adding a **File**.

### Address

This option adds an URL (Intranet or Internet link) as a document. Enter the address in the field *"Name:"*, for example:

[www.GeoDin.com](http://www.GeoDin.com)

The type of storage cannot be selected for this option, because GeoDin anyway stores a link on a document. The address must always refer to a valid target to be displayed.

### Without document

Using this option you add a document entry including a document description, without specifying the document. Later, when the document is available you can add it using the function **"Replace document data"**. In the entry field *"Name:"* the document name can be entered, for example:

Store invoice here

It is not possible to select the type of storage of the document here, as the document is only inserted later.

### Create document

With this option you add a new document entry including document and document description.

After clicking the icon [Create document](/workspace-and-data-management/managing-documents) you select the type of document to be created.

## Import documents

Use this method to import documents for objects or measuring points.

The documents can be saved either as a link or directly in the database.

***Attention:*** *If the documents are stored in the database, enormous amounts of data can be generated. Make sure that the database is able to store these amounts of data.*

*Depending on the size and number of documents to be imported, the time required for the import varies.*

By default the maximum [Configuration of the document management](/workspace-and-data-management/managing-documents/document-organization) is set to 2 MB.

For general document management information, see [Documents](/workspace-and-data-management/managing-documents).

**How it works:**

The documents (files) are referenced and included using their file names with the entries of a master data field of the objects or the display name of the query.

{% stepper %}
{% step %}
**Step 1Files:**

Select the folder that contains the documents you want to import and specify the file types of the document files.

The search in subfolders can be activated optionally. The number of documents found is always displayed.

***Several documents per object:***

To assign several documents to one object, a [Import formats](/importing-data/import) is required. With an import format, the object name for the object assignment and the suffix for the addition in the document name are extracted from the file name.

With the switch you can define the import formats yourself. They are stored in the file CoreRegEx.cfg in the CONFIG directory.

With the info button you can display the results of the selected import format. With this overview you can check which documents are imported where before the actual import.

***Drill core photo import:***

This function offers the possibility to import image files including depth information to display them graphically with the **Data source**. Several documents per object can be imported.

The prerequisite for the automatic transfer of depth information is the installation of the document description type "Depth-oriented image" or "Image with depth information".

After the import, the document name consists of the specified "Document name (if empty \<ObjectName>)\_depth from\_depth to".
{% endstep %}

{% step %}
**Step 2Measuring point assignment:*****Master data:***

\[user-defined]

From the list of master data fields, you must select a field whose data field content corresponds to the file name and can therefore be used as a unique assignment criterion.

***Automatically:***

The assignment is made using the display name of the query.
{% endstep %}

{% step %}
**Step 3Document Properties:*****Document description type:***

Here you can select to which document description type the documents to be imported are to be assigned. If no document description types are yet registered in your system, you receive a message. You can make up the registration by clicking the button **Register document descriptions**.

In the next step, decide whether you want to save the document in the database or only the reference to its storage location.

***Document name:***

The name of the inserted documents can be entered in the corresponding input field. If the field remains empty, the document is given the file name.

***Document folder:***

Furthermore, the document can be inserted into an existing or extended folder structure. To do this, enter the folders in the usual Windows notation.

At least one folder level must be specified in order to execute the import.

Example: ***Subfolder1**\\**Subfolder2**\\**Subfolder3***

Once all necessary entries have been made, the **OK** switch becomes active and the import can be started.

At the end of execution, a log is displayed listing all actions performed for all objects. The log can be saved.
{% endstep %}
{% endstepper %}

## Reference: Import formats

The import formats are made up of:

*Name* : \*\*Display name in the selection field during document import

*Regular expression* : \*\*Expression for evaluating the file

*Example file* : \*\*Example file name to test the regular expression

*Standard* : This format will be chosen when the core-photo import is activated.

The following information must be contained in the file name.

There is a difference between general documents and depth related documents:

General documents:

*Object name* : \*\*Reference to the general data field

*Suffix* : \*\*Addition to the document name

Depth related documents:

*Object name* : \*\*Reference to the general data field

*Depth from* : \*\*Depth information for the document description

*Depth to* : \*\*Depth information for the document description

To extract this information from the file name a regular expression is needed that defines the file name structure. The following group names are required: **ObjectName**\*,\* **DepthFrom**\*,\* **DepthTo**. Detailed information about the syntax and function of regular expressions can be found here: **<http://www.regular-expressions.info/reference.html**_**Example>:**\_

You have the following files:

Borehole 1\_1.00-2.00 - expected result of the regular expression: ObjectName=Borehole 1 DepthFrom=1.00 DepthTo=2.00

Borehole 1\_2.00-4.00 - expectedd result of the regular expression: ObjectName=Borehole 1 DepthFrom=2.00 DepthTo=4.00

Borehole 1\_4.00-5.00 - expecte result of the regular expression: ObjectName=Borehole 1 DepthFrom=4.00 DepthTo=5.00

An expression that meets this requirement is:

^(?<**ObjectName**>\[^\_]+)\_(?<**DepthFrom**>\d+\\.\*\d\*)-(?<**DepthTo**>\d+\\.\*\d\*)$

The resulting document names are:

Borehole 1\_1.00-2.00

Borehole 1\_2.00-4.00

Borehole 1\_4.00-5.00

The button allows you to preview the effect of using the regular expression on the example file, to check for the expected result.

## RTF texts as documents

RTF text (Rich Text Format) can be edited and printed from GeoDin. In contrast to simple text files, RTF can contain formatting such as fonts, colours etc. The editor in GeoDin offers similar functions to programs such as WordPad from Microsoft®.

You can add a RTF text to the document management either as a **File** or create directly as a [Create document](/workspace-and-data-management/managing-documents). Choose the method **"Edit document"** in the GeoDin object manager to edit the text. The editor can open and edit multiple documents that are shown in separate tabs. Highlight text to apply edits from the upper tool bar.

## Reference: Document description table definition

The definition of the document description table can be taken from the SYS\_LOCSTRS table from the **System**. The documents are registered like an object type in SYS tables.

A more detailed description of the definition can be found in chapter [Database tables of the document management](/workspace-and-data-management/managing-documents/document-organization).


# Document Organization

Document organization in GeoDin - how documents are stored, named, and grouped within projects and objects.

Documents in GeoDin are attached to **projects** and **objects** (boreholes, locations). Each document has a description, a category, and can carry depth-oriented metadata when relevant (e.g. core photos with depth intervals).

Documents can be organized into **folders** within a project's Documents node. Supported file types include PDFs, images, CAD files, GeoDin graphics, and any external file referenced by path.

For the comprehensive reference - full syntax, all options, edge cases - see [**Managing Documents**](/workspace-and-data-management/managing-documents).


# Overview

Querying, filtering, formulas, and the calculation engine - finding and deriving value from the data you collected.

## Queries

Filter and retrieve objects, measurement points, and layer descriptions by condition.

* [Creating Queries](/data-analysis/creating-queries) - filter objects and measurement points by conditions.
* [Parameterized Queries](/data-analysis/creating-queries/parameterized-queries) - queries with placeholders that prompt for values at execution time.
* [SQL and Advanced Options](/data-analysis/creating-queries/sql-and-advanced-options) - direct SQL entry for logic the visual builder cannot express.
* [Query Builder Reference](/data-analysis/query-builder-reference) - reference for the Query Builder, including the subquery table list and schema handling.
* [Conditions and Operators](/data-analysis/query-builder-reference/conditions-and-operators) - comparison and logical operators used to filter a result set.
* [Layer Queries](/data-analysis/layer-queries) - query coded layer descriptions such as soil and rock attributes.
* [Complex Layer Queries](/data-analysis/layer-queries/complex-layer-queries) - advanced layer-query cases building on Layer Queries.

## Formulas

Compute and store derived values from data already in the dataset.

* [Formula Basics](/data-analysis/formula-basics) - compute derived values with GeoDin's formula syntax.
* [Formulas in Measurement Values](/data-analysis/formulas-in-measurement-values) - apply formulas to measurement-value series.
* [Object Type Formulas](/data-analysis/object-type-formulas) - define formulas on a data type's fields.

## Calculation engine

Automated checks, geotechnical analyses, and curve-fitting applied to your data.

* [Data Checks and Validations](/data-analysis/data-checks-and-validations) - automated checks and rules applied at data entry.
* [Geotechnical Analyses](/data-analysis/geotechnical-analyses) - hydrogeochemical and grain-size analysis methods and their diagrams.
* [Regression and Curve Fitting](/data-analysis/regression-and-curve-fitting) - time-series and measurement-value series properties for regression and curve-fitting work.


# Creating Queries

A query filters the objects and measurement points shown in the GeoDin object manager by one or more conditions. This page covers what queries are and how they are scoped, the AND/OR logic of the query wizard, the end-to-end walkthrough for creating your own query, and the full reference for query templates, operators and date formats, display fields, the alternative SQL command, and parameterized queries. It also covers object **groups** (manual and import-based collections) and the **field mapping** that attaches structure information to user-defined SQL.

## Queries

All objects shown in the GeoDin object manager are the result of a query to the GeoDin database. Queries can be made on individual projects or in a database (i.e. project independent). In addition to queries that result from a (set of) condition(s) being met, it is also possible to create a mixed group of objects together.

GeoDin automatically makes a number of queries and displays them in the GeoDin object manager when a project or database is opened. All the objects in a database including different types of objects and measurement points are listed:

Objects

All objects

Geotechnical borehole

BH 01

BH 02

BH 03

BH 04

CPT

Measurement point

BH

Filter

B01: (4-6m)

B01: (7.5-9.5m)

Samples

B01: (1.4-1.8m)

B01: (2.5-2.9m)

B01: (5.2-5.6m)

In addition to the predefined standard queries of GeoDin you can create your user-specified queries using the query assistant. The results are also displayed in the GeoDin object manager - you may create as many queries as you like, the definitions are being stored in the project or database. The query definitions remain available until they are deleted from the project or database.\
\
Depending upon, for which object in the GeoDin object manager a query was defined for, the results will be project specific or database wide.

For instance a query on an **Object** or **Measurement point** within a project can only produce results of objects from the project, in which it is contained.

DemoDB\
Projekt 1\
Objekte\
Alle Objekte\
Standardaufschluß SEP kompatibel\
Bohrung 1\
Bohrung 2\
Bohrung 3\
Meine Abfrage\
Messpunkte\
Objekte\
Messpunkte

On the other hand using either the **Objects** or **Measurementpoints** node of a database (i.e. below all projects of that database), a query will act on all projects of that database.

Datenbanken\
DemoDB\
Projekt 1\
Objekte\
Alle Objekte\
Standardaufschluß SEP kompatibel\
Messpunkte\
Objekte\
Meine datenbankweite Abfrage\
Messpunkte

\
\
**Visibilities**

This can be controlled via the advanced settings and the user management.

{% hint style="warning" %}
**Default visibility changed:** In earlier versions of GeoDin, newly created queries were private by default (visible only to the user who created them). This behaviour has been reversed - queries and maps created now are **visible to all users** of the same database by default. If a query should be restricted to the creating user, open the query's **Advanced** settings tab and configure the visibility accordingly. The same default applies to maps.
{% endhint %}

## AND vs. OR condition logic

When building conditions in the query wizard, the placement of a condition determines whether it is combined with AND or OR logic:

* **OR logic:** drag a field onto the top-level **Conditions** node. Each condition dropped at this level creates an independent OR branch - the query returns objects that match any one of the conditions.
* **AND logic:** drag a field onto an **existing condition entry** (nested under the "If" node). This adds the condition as an additional AND requirement within that branch - the query returns objects that match all nested conditions simultaneously.

**Example:** To find all objects deeper than 9 m AND on map sheet JD1234, drop the depth condition on the Conditions node first, then drop the map sheet condition onto the depth condition entry. Both must be satisfied.

{% hint style="info" %}
Queries on the **Measurement Points** branch of a project return measurement points rather than objects. You can create queries under either the **Objects** or the **Measurement Points** node in the Object Manager tree.
{% endhint %}

## Creating a query

To define your own queries (e.g. "boreholes deeper than 9 m") a query wizard is available.

The query wizard is able to create queries up to a certain degree of complexity. For highly complex queries it is possible to enter [Alternative SQL-Command](/data-analysis/creating-queries/sql-and-advanced-options) in the query wizard or to create [system queries](/data-analysis/query-builder-reference#working-with-system-queries) on the system side of GeoDin.

**User query or system query?** A query built with the wizard as described below is a **user query**: its definition is stored in the project or database it was created in, and it exists only there. A **system query** is stored as a separate `.GSQ` file in the installation's `QUERYDEF` folder instead, so it appears automatically in every database and project and can be handed to other users as a file. Choose a system query when the same query is needed across databases, when you want to change the structure of the object manager itself, or when you are preparing a ready-made template for colleagues who should not have to know the GeoDin table structure. See [Query Builder Reference > Working with system queries](/data-analysis/query-builder-reference#working-with-system-queries) for what system queries can do, how the `QUERYDEF` folder is organized into sub-folders, and how to refresh the object manager after changing it.

A query is made up of an unlimited number of sub-queries. When an object fulfils a sub-query condition it is included in the query result.

**Example:**

You would like to select all objects that a colleague has inputted from a database. The author name for particular object or measurement point is stored in the Table A in the Data Field A1, for other objects (e.g. water-works wells) in another Table B in the Data Field B1.

In this case create two sub-queries: One that queries data field A1 in Table A and the second that queries data field B1 in Table B. Together they produce a list of all the objects from colleague X in the GeoDin object manager.

Each sub-query has its own sorting, whose results can be changed individually with the help of the option -Sorting the sub/partial results-. Usually however, just one sub-query is enough to choose the required objects.

{% stepper %}
{% step %}

#### Step 1: Start the query wizard

The query wizard is started by using the method ![New Query](/files/GhFqigwEpGdcM8Bn8dNF) **"New Query"**.

This is available when either **Objects** or **Measurement points** are selected in the GeoDin object manager.
{% endstep %}

{% step %}

#### Step 2: Name the query and organize sub-queries

In the first step of the query assistant you set the query name, which will be displayed in the GeoDin object manager. You may also organize the sub-queries.
{% endstep %}

{% step %}

#### Step 3: Create a sub-query and choose a template

Create a sub-query using the **New** button that takes you to the selection of the template to be used for creating the subquery. Here you define, whether the query is limited to selected objects in the database. Select one of the query templates and you will get more detailed explanations in the lower part of the dialog window. The templates on offer are listed in **Reference: Query templates** below.

When you click a query type explanatory help is shown in the lower half of the dialogue window. The relevant tables and data fields for the query are shown in the window.
{% endstep %}

{% step %}

#### Step 4: Define conditions and display fields

After selecting the desired template, the **Next** button takes you to the definition of the conditions and display fields (see **Reference: Define settings** and **Reference: Set display fields** below).
{% endstep %}
{% endstepper %}

***

## Reference: Query templates

When you create a sub-query, the **New** button opens the selection of the template to be used. Following templates are offered:

\
**All objects** - Query registration of GeoDin- Objects

***Note:*** *This option is only available under the object nodes, i.e. not under the measure point node in the GeoDin object manager!*

With this template, the available data fields for conditions and display fields are strongly limited (only search by name, coordinates, starting depth and final depth of objects).\
\
**Specific object type** - Query on objects of certain object types

Is limited to a specific set of GeoDin tables (based on their predefined links) and hence limits are the results produced by the query.\
\
**User defined table links** - Query with links of any tables

The complete set of GeoDin tables, which requires knowledge of the GeoDin database structure and linking possibilities.

Access to all tables with descriptions of master data, sample data, well design data, etc.

\
[Alternative SQL-Command](/data-analysis/creating-queries/sql-and-advanced-options) - SQL query

This choice requires SQL expertise and knowledge of the GeoDin database table structure.

**User defined query definitions** - Queries based on user-defined templates

\
Templates can be created by you or your GeoDin supervisor on the GeoDin system page.

## Reference: Define settings

Depending on the chosen query type the window shows a list of the relevant database tables. To open a table field list click on the plus- symbol (+) before the table name.

Almost all operations in this dialogue are carried out by drag and drop. This means clicking on a table entry, keeping the mouse button pressed down and dragging onto the ![Condition](/files/iBj3VD06lWzJjF4gHCYE) ***Condition*** branch of the tree structure in the lower window.\
\
As soon as the first data field entry is dropped onto a condition, the sub-level "IF" appears. If more than one requirement is to be met, then perform the drag and drop action again, dropping onto the "IF" node. This will be automatically extended with "AND" (Note: the field dropped need not be a different one e.g. limiting values for a particular variable).\
\
If either one or another condition is to be met, a table entry from the top field should be dropped onto the condition, whereby the node "Or" will appear automatically.

In the following example the query for all objects that were drilled deeper than 9m and that lie on the maps numbers JD1234 or JD1235 was set.

```
Bedingung

Wenn

SSGKRZT1.TK25=JD1234

SSGKRZT1.ZCOORDE>9

Oder

SSGKRZT1.TK25=JD1234

SSGKRZT1.ZCOORDE>9
```

***Note:*** *In order to simplify the visual query display it is not possible to define OR conditions from within an AND condition. This keeps the query logic clear for the user and through the definition of unlimited OR conditions virtually any query can be defined.*

If we want to summarize the query shown in the above example as follows:

(ZCOORDE>9) AND ((ORDNSURV='JD1234') OR (ORDNSURV='JD1235'))

GeoDin also allows you to formulate a query as text - further details are given in [Alternative SQL-Command](/data-analysis/creating-queries/sql-and-advanced-options).

**Valid comparisom operators:**

| Operator       | Meaning                                                                                                                                                             |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| =              |                                                                                                                                                                     |
| >              |                                                                                                                                                                     |
| >=             |                                                                                                                                                                     |
| <              |                                                                                                                                                                     |
| <=             |                                                                                                                                                                     |
| <>             | (not equal to)                                                                                                                                                      |
| is null        | (Data field is empty)                                                                                                                                               |
| is not null    | (Data field is not empty)                                                                                                                                           |
| like 'A%'      | (Data field contents in high commas, Placeholders: % for unlimited characters and \_ exactly one character)                                                         |
| in ('T1','T2') | (Value list in round brackets, values separated by commas, values in high commas for text fields, for nummerical values a decimal delimiter and not in high commas) |

**For conditions, that query adateplease note the following data formats for databases**:

The standard values are:

| Database        | Format        |
| --------------- | ------------- |
| Access database | #mm/dd/yyyy#  |
| Oracle database | 'dd-mmm-yyyy' |
| dBase database  | 'dd.mm.yyyy'  |

**For conditions, that query a time-stampplease use the following standard formats**

| Database                   | Format                                                    |
| -------------------------- | --------------------------------------------------------- |
| Access:                    | #MM/DD/YYYY HH:MM:SS#                                     |
| Oracle:                    | TO\_DATE('*31.05.2015 12:24:36'*,'dd.mm.yyyy hh24:mi:ss') |
| MySQL, MS SQL, PostgreSQL: | 'DD.MM.YYYY HH:MM:SS'                                     |

To remove a condition click on the **Delete condition** icon.

With the same button you may also delete the display or whole branches of the condition.\
\
**Data field display and content in the condition**\
\
Often you may not know, which values to expect for the objects to meet the condition you wish to define. By clicking **Show values** you may display these manually. By checking the box **Automatic** they will be displayed for whichever field you select. This automatic option should be left unchecked when working with large databases to avoid possible delays when navigating between the data fields.

You may drag an entry from the value list into the **Restriction** field. This is a great help when these contain a lot of characters. GeoDin automatically recognizes the format of the database field and sets text strings in high commas ("Text string") in the condition.

**Testing a query**

By clicking on the button **Test query** the conditions are checked for syntax errors and the number of objects meeting the query conditions are displayed. Up to 50 values are displayed in the list.

## Reference: Set display fields

The result of a query is always at least the GeoDin database field LOCID - a unique GeoDin object identification number. When no display fields are defined, the results of the query are shown using the LOCID in the GeoDin object manager. Of course this LOCID may not be all that helpful.

![Display Fields](/files/cDUPnmVYWDhMRba9Rp5e) **Display fields**

With the display fields you define the labeling of the objects in the GeoDin object manager. You can combine as many display fields as you like (e.g. name of borehole and final depth). To do this, drag the desired data fields onto the Display fields entry in the lower part of the window. The contents of all display fields will be linked to a text and displayed in the GeoDin object manager.

**Extension/Extra text**

To separate individual display contents (data fields) from each other, a text can be defined for each display field, which is appended to the respective data field content.

**Example:**

View fields

SSGKRZT1.LONGNAME (bis

SSGKRZT1.ZCOORDE m)

In order to form the total text in the form **Long Name (to Xm)** for each found borehole, the extension text **(*****bis*** or \[english] ***to*** and for the display field ZCOORDE the extension text ***m*****)** is defined for the display field LONGNAME. As a result, each borehole in the GeoDin object manager is labeled with name and final depth:

Location deeper than 9m

Brg 01 (to depth 11m)

Brg 02 (to depth 10.5m)

Brg 03 (to depth 12m)

Brg 04 (to depth 9.5m)

You can change the order of the display fields by dragging and dropping an entry to a different position within the **Display Fields** section.

With the display fields you also define the sorting order of the found objects in the GeoDin object manager.

In front of each display field, an arrow indicates the set sort order. You can change the sort order by double-clicking the entry. The sort order can have the following states: Ascending, Descending, Unsorted. The current sort order is displayed in front of the display field. The objects found are always sorted in the order of the display fields, i.e. in the above example first by name and then by final depth if the name is the same.

To sort the objects by final depth without changing the order of the display fields, double-click the LONGNAME display field until sorting is turned off for that field. The result set will now be sorted by final depth only, and the definition of the display field order will be retained. As a result, the following list is now displayed in the GeoDin- Object- Manager:

Location deeper than 9m

Brg 04 (to depth 9.5m)

Brg 02 (to depth 10.5m)

Brg 01 (to depth 11m)

Brg 03 (to depth 12m)

**Formatting and retranslation of labels in the object manager**

If the section "Display fields" is marked, you can further adjust the display fields via the lower input field **Labeling instruction - Query:**. Beside numerous [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports) By entering a macro, you can specify that the long name of the field entry (i.e. the reverse translation) is displayed in the object manager.

The macros entered must be available in the "Display fields" section. They cannot replace the display fields, but serve to supplement them.

***TIP:*** *Switch to the SQL preview and copy the desired entries from there.*

**Example:**\
If you have defined GeoDin\_LOC\_S3STAMM.LONGNAME and GeoDin\_LOC\_S3STAMM.BART as display fields and want the long description of the bore type (BART), i.e. the back translation of the key, to be displayed in the GeoDin object manager, the following entry must be written in the input field **Labeling statement - query:**

$GeoDin\_LOC\_S3STAMM.LONGNAME$ ($GeoDin\_LOC\_S3STAMM.BART$)

The object manager now shows the following:

Holes (digestion type)\
SEP3 Hole 1 (general)\
SEP3 Hole 2 (digestion, filled)\
SEP3 hole 3 (oblique hole)\
SEP3 Hole 4 (general)

If a labeling instruction is used, an additional macro must be defined in the input field **Labeling instruction - Refresh:**. As a rule, the macro consists of the field references above it in the input field, minus the table names.

The macro is used when updating the display in the object manager due to changes made in the master data editor.

(Background: At the time of the update, the loaded object is used to resolve the macro. The initial query or the data record that led to the entry in the object manager is not cached, since this is not necessary and would only occupy memory. The macro for the update must therefore be created with the field references as they are also used in layouts for the loaded object.)

The following field references are therefore entered for the above example:

$LONGNAME$ ($BART$)

**Select sorting fields**

Beside the view fields (which can also be used for sorting the results as described above) also the data fields, which are not used in the displayed results in the GeoDin object manager, can be used for sorting. For this drag the chosen sorting fields from the upper list onto the entry **Sorting fields** per drag and drop. To change the sorting order double-click the particular entry. The arrow shows the current sorting order.

**Select result fields**

Additionally to the view and sorting fields the result fields can be selected, which are used neither for the display nor for the sorting. However, if the query results are to be exported, e.g. for GIS, use the result fields to determine which data fields are to be transferred from GeoDin to the attribute table of the generated layer. Drag the desired fields as usual to the node Result fields (Export). If you want to transfer all fields of a GeoDin table, simply drag the desired table to the node Result Fields (Export).

## Reference: Alternative SQL-Command

As well as visually constructing queries you may define your own SQL-commands by using the SQL-Preview window.

The option <[Alternative SQL-Command](/data-analysis/creating-queries/sql-and-advanced-options)> allows you to define an SQL-SELECT-command for your query:

1. The command must return an amount (database cursor). An SQL-Command without SELECT-instruction at the beginning of a command will not be executed.
2. The first row of the result returned must contain a valid GeoDin-Location-ID (LOCID) or a GeoDin-Measurementpoint-ID (INVID) (depending on the desired result set). The queries are not checked for their validity, but a formal check that the first row of the result contains numbers that can be converted to integers. Where the result does not return a valid ID, the object cannot be selected later.

Because no further conditions are set for the SQL-Command, it is possible to integrate other database tables in the query that are not part of the GeoDin system structure. Of course such a query only makes sense when other such tables are related to a GeoDin-Table, so that the result returned gives valid ID's.

The alternative SQL-Command shows all the parameters visually defined in the query (order, additional text etc) as long as the data field names correspond.

## Reference: Parameterized query

In the example above a condition was set in the query that the end depth must be greater than 9 m. At another time you may want to choose all boreholes that are deeper than 20 m. To do this you could change the value from (>9m) to (>20m) in the existing query or define a new query, which differs from the first one only in the depth value.

GeoDin offers another more efficient method to define queries, which have similar conditions, while leaving the main parameter free to assume different values. The same query can then be used to make various selections of GeoDin objects.

To do this use the type ":?" in the limiting field instead of a number (depth) - see below:

```
Condition

If

SSGKRZT1.ZCOORDE>:?

Display Fields

SSGKRZT1.LONGNAME (to

SSGKRZT1.ZCOORDE m)
```

The used query condition is >:?

To characterize a parameterized query, an appropriate name can be chosen, e.g. "boreholes deeper than ?m", to mark the query is variable in the GeoDin Object Manager. Once the query is opened for the first time, an input dialogue is shown, asking for the input of the parameter.

Enter the desired depth value and confirm by clicking **OK**. As result, all boreholes deeper than the given value are displayed in the GeoDin Object Manager. The displayed boreholes can then be used for further analysis.

If you define a condition with a variable parameter in a query, you can select whether the parameter is a necessary input (-parameter required-). If this option is disabled, the input field can be left empty in the input dialogue. This condition is left empty when executing the database query and the characteristic is not used to limit the data sets in the resulting selection.

In addition, a standard value can be defined, which is entered automatically in the dialogue. If the query is started, the value is already entered in the input field and can be changed if desired. This makes filling in the parameters even easier. Depending on the field format, standard values for conditions have to be in the following format:

String of characters: Standard value can be any string of characters

Numerical value: The standard value has to be a number, the decimal separator is a point (.).

Date: The standard value must be a complete date in the dd.mm.yyy (day-month-year) form

**Use interval**

If a query is parameterized, it is possible to use an interval instead of an upper and lower boundary. An example for this is the search for objects in an area around a specific point. This is possible with a parameterized query and the parameters:

(X >= X\_value1) and (X <= X\_value2) and (Y >= Y\_value1) and (Y <= Y\_value2)

If coordinates values have multiple digits, entering the 4 necessary parameters is lengthy. For these cases, the option -Use interval- offers an easier possibility. To use it, define only two conditions:

X = :?

and

Y = :?

and switch on the option -Use interval-. A default value for the interval can also be given.

From the condition ( X =X\_value) and ( Y= Y\_value), GeoDin will automatically generate the following SQL statement:

((X >= X\_value - Xinterval) and (X <= X\_value + Xinterval)) and ((Y >= Y\_value - Yinterval) and (Y <= Y\_value + Yinterval))

As parameters, only the coordinates of the center and the interval need to be entered.

Using intervals is only possible for parameterized queries, but can be used for any numeric data field (for example end depth).

**Using the $%SYSDATE$ parameter**

You can use the $%SYSDATE$ placeholder as the default value of a date parameter to set the current date as the default value. Also, mathematical statements are possible with the $%SYSDATE$ macro, e.g. $%SYSDATE$ - 7 to get a default date for the day before a week.

**Change Parameters**

To change a defined value, use the method ![Change parameter](/files/1j0T8yMru9jZEwrPakoF) **Change parameter** at the query object:

In a query, any number of parameters can be defined.

**Example:**

```
Condition

If

LOCREG.XCOORD>=:?

LOCREG.XCOORD<=:?

LOCREG.YCOORD>=:?

LOCREG.YCOORD<=:?

Display Fields

SSGKRZT1.LONGNAME
```

In the example above, four parameters are defined to build a rectangle of co-ordinates. The first of each of the X and Y values defines the starting coordinates - the second value in each pair defines the extent of the area to be searched. The query dialogue for this query is shown below:

## Update query

In a multi-user environment it may often be necessary to update a query to reflect changes in the data itself. GeoDin automatically checks for changes to objects that are used for the display (e.g. an object name that is shown in the GeoDin object manager). However if a parameter for the condition is changed (e.g. "End depth") the query is not automatically updated because this would interfere with the workflow with large data sets. Similarly if another user changes the end depth this is not automatically updated in the query.

There is a simple way for you to quickly update your query results to incorporate data changes (e.g. end depth values). Right click with the mouse on the query in the GeoDin object manager and choose **Refresh** from the pop-up menu. The object list will be rebuilt.

## Duplicate query

With the method **"Duplicate query"** you may copy a query made in one project to use in another. To copy a query to all projects, select the **All** button. The query will be copied to all selected projects in the database. If you have used the project identifier (PRJ\_ID data field) in your query in the condition, display or alternative SQL command, it will be automatically adjusted to the other project identifier when copying the query, so the duplicated query does not need to be corrected in the target project.

## Delete query

This method deletes the query definition. You **do not** delete the objects contained in the query results, only the condition producing these results.

***

## Working with object groups

### Group objects

In some situations the objects of a database cannot be properly queried. This may be due to incomplete or missing database entries, or that other criteria, not stored in the database, are important.

For such cases GeoDin offers the possibility to create **Groups** of objects that do not conform to any specific conditions.

The method **"New Group"** is available at the objects and measurement points nodes.

Enter a name for the group that will be used in the GeoDin object manager for identification.

After creating a group, the list is at first empty. To fill the list, select an object in the GeoDin object manager, keep the left-hand mouse button pressed, drag and drop it onto the open dialogue window. You may select individual objects or groups in the GeoDin object manager. You may delete and change the order of objects in a group by using the appropriate buttons in the <**Group**> dialogue window.

Objects are inserted into the list with the designation they have at the time of insertion. This text cannot be changed later and will not be updated even if the data situation changes. In contrast, for queries, the label texts are updated and objects that no longer meet the condition are removed from the list when the query is updated. Therefore, there may be objects in a group whose labels are no longer correct after a change in the object's data. This example shows that groups have a number of disadvantages compared to queries and should therefore only be used if a query is really not possible for the reasons mentioned at the beginning or if you expect that the data of these objects will no longer change.

Queries and groups are shown with different colored pyramids in the GeoDin object manager - yellow for queries and blue for groups.

Visibility can be controlled for users and groups in advanced settings in user management.

### Delete object group

This method deletes the group definition, **not** the objects contained within the group.

### Import groups

Use the **"Import Group"** method to search for GeoDin objects in a GeoDin database based on external data ("import file") and group the found objects together.

Depending on the node at which the method is started, GeoDin objects are searched in the entire database ("Objects" node one level below the database) or only in one project ("Objects" node one level below the project).

The following steps are required:

**Data source**

Here you open the file (e.g. Excel file, database) that contains the information on the GeoDin objects that are to be searched for (and later grouped) in the database.

**Object link**

Here you assign the GeoDin objects of the database to the specifications in the data source. This step initiates the selection of the objects to be grouped.

[Import](/importing-data/import)

Make the settings for comparison control here. The preview shows which GeoDin objects are found in the database using the information in the import file and which GeoDin objects are not mentioned in the import file. Start the group creation here.

**Save and load configuration**

All group import settings can be saved in a configuration file. The configuration file allows a quick re-execution of a group creation at a later time, if the data basis is similar or equal.

### Data source

Open the file that contains the information about the GeoDin objects to be searched (and later grouped) in the database. The following file formats are supported:

1. MS Excel
2. MS Access
3. dBASE
4. Text files
5. CSV files

After selecting the file, specify the data source and select a spreadsheet (Excel), a table (Access, dBase) or a column separator (CSV, text file).

The search data is displayed in the preview. For MS Excel or text files, you can also specify whether the first row contains column captions. The date format used in these files can also be specified. GeoDin takes this setting into account when later converting dates.

Use this button to remove selected records from the preview if you do not want them to be included in the search (the records will only be removed in this preview, the source file remains unchanged).

### Object link

In this step, you assign the data records in your import file to the GeoDin objects in your database. The assignment is based on matching contents between selected master data of GeoDin objects and the data records in the import file.

**Example**

The import file contains a column with a selection of drill hole names. These boreholes are to be grouped in GeoDin. For the assignment, you must assign the column from the import file to the LONGNAME field of the GeoDin master data table. The search for the GeoDin objects to be grouped is now performed by comparing the drill hole names. If you specify several contents for the object assignment (e.g. the drill hole name, the drill hole location, etc.), only those GeoDin objects in the database for which all fields match are selected for grouping.

**Tables**:

Select the master data table from the database that is to serve as the basis for a master data comparison between the import file and GeoDin objects.

To assign the fields to be referenced, drag and drop the individual entries from the "Tables:" and "Data source:" lists to the corresponding field on the other list. Alternatively, you can select the two fields and double-click on one of them to make the assignment. In the case of column names in the import file that are identical to the column names in the master data table of the database, you can assign these matching entries automatically using the switch \<Automatic assignment>.

The assignments made are transferred to the table "Assignments:". At the same time, the assigned entries are removed from the "Tables:" and "Data source:" lists so that only those entries remain that have not yet been assigned.

With the two input fields below the lists the contents of the lists can be filtered. If a term is entered, only those entries are displayed in the lists which contain this term. If you empty the input field, all entries are displayed again.

Invalid assignments are highlighted in color in the table. These occur when you change the data source after you have made the assignment. Remove these entries using the button\
.

### Import

Make the last settings for the group creation and see a preview of the status of the assignments. Then start creating a new group.

**Comparison options**\
If you check the box *\[Case sensitive]*, column names of the import file and those of the master data table will only be assigned if the spellings also match with regard to case sensitivity.

**Preview**\
The preview window provides an overview of the assignments performed. There are three types of results:

*A GeoDin object was found*

Exactly one GeoDin object could be found in the database for the entry to be searched for.

*Several GeoDin objects were found*

Several GeoDin objects were found in the database for the entry to be searched for. This means that the contents of your import file are not unique. You may need to include more data fields in the comparison to find the correct GeoDin objects.

*No GeoDin object was found*

There is no GeoDin object in the database with information that matches the search term. Check the assignment of the data fields and the contents of the import file.

**Filter for the preview**\
You can filter and sort the assignments displayed in the preview. To do this, click on the column header in the required column.\
"**Use the Filter for preview:"** drop-down box to display only one of the three types of results (see above) in the preview window.

**Execute import**\
With a mouse click on the button \*\* Execute Import\*\* all successfully assigned GeoDin objects are combined in a new group in the GeoDin Object Manager. Under the heading "Execution" you can define a name for the new group in the editing window. By default, the name of the import file is pre-entered here.\
After execution, a log is displayed which you can save using the corresponding button. If you want to create further groups, switch back to **Data Source**.

## User management

The visibility/usability of various methods and functions can be restricted via the user administration.

By default, the option *"All"* is activated - i.e. no restriction.

Via the option User groups, the functionality can be explicitly released for certain *groups or individual users*.

This is used, for example, for methods, system databases or queries.

The creation of users and groups is described in the chapter on **User settings**.

## Reference: Field mapping

Structure information can be attached to user-defined SQL. Number fields can then be given decimal-place formatting or unit conversions, and text fields dictionary translations.

For the field mapping, a result field is assigned to a field from the GeoDin structure.

**Example:**

select $Schema$GeoDin\_LOC\_LOCE2LAYER.\* from $Schema$GeoDin\_LOC\_LOCE2LAYER

Mapping:

Database - table structure

GeoDin\_LOC\_LOC\_E2LAYER.SECSTYPE E2LAYER.SECSTYPE


# Parameterized Queries

Parameterized queries - queries with placeholders that prompt for values at execution time.

**Parameterized queries** use placeholder variables that GeoDin prompts for when the query runs. They let one query template serve many specific filters (e.g. "find objects in project ?ProjectID with depth > ?MinDepth").

Parameters are defined in the Query Builder with a name, type, and optional default value. At runtime, GeoDin shows a dialog listing each parameter and capturing the user's input before executing the query.

## Using result fields for Shape export

The **Result fields (Export)** node in the query wizard determines which data fields are included in the attribute table when the query result is exported as a Shape file.

To enable Shape export of measurement values (e.g. chloride concentrations):

{% stepper %}
{% step %}

#### Step 1: Open the display fields step

In the query wizard, go to the **Set display fields** step.
{% endstep %}

{% step %}

#### Step 2: Add the parameter fields

Drag the desired parameter fields (e.g. `GWC.CHLORIDE`) onto the **Result fields (Export)** node.
{% endstep %}

{% step %}

#### Step 3: Save the query

Save the query. In the Maps module, the query layer will now expose these fields for labelling, interpolation, and Shape export.
{% endstep %}
{% endstepper %}

Without result fields, the Shape export contains only geometry and the object ID. Adding measurement parameters here is the prerequisite for generating interpolation maps or contour layers from query results.

{% hint style="info" %}
Queries on the **Measurement Points** branch work the same way - result fields defined there are exported alongside the measurement point geometry.
{% endhint %}

For the comprehensive reference - full syntax, all options, edge cases - see [**Creating Queries**](/data-analysis/creating-queries) (long-form) and [**Query Builder Reference**](/data-analysis/query-builder-reference).


# SQL and Advanced Options

Raw SQL and advanced query options - direct SQL entry, schema-aware table lists, and database-specific syntax.

The Query Builder supports **direct SQL** entry for cases where the visual builder cannot express the required logic - joins to external tables, database-specific functions, or complex subqueries.

When using raw SQL, the **table list** declares which identifiers in the FROM clause should be schema-extended at execution time, so the query works portably across database connections with different schema configurations.

For the comprehensive reference - full syntax, all options, edge cases - see [**Creating Queries**](/data-analysis/creating-queries) (long-form) and [**Query Builder Reference**](/data-analysis/query-builder-reference).


# Query Builder Reference

Query Builder Reference - every node of a GeoDin sub-query and system query, from the table list and FROM clause to requirements, display conditions and caching.

The Query Builder defines a GeoDin sub-query as a set of individual node definitions - table list, FROM clause, conditions, result and display fields - which GeoDin combines into a full SQL statement. This page is the reference for each node in that definition: what it configures and the syntax it accepts. Use it when you are building or editing a query and need to know what a specific node does. It also covers system queries - what they are, the QUERYDEF folder, and the system-query nodes (requirements, display conditions, display and presentation options).

***

## Working with system queries

System queries hold the definitions for database queries and are stored in their own files with the extension `.GSQ` (GeoDin System Query). A query definition is normally not specific to one database system, so it can be passed on to other users. Unlike user queries, which belong to a single database or project, system queries are automatically available to all users in every database and project - they never have to be re-created per database.

Three things are typically achieved with them:

* **Define a query once and have it everywhere.** If several databases are regularly asked for similar results, the query does not have to be rebuilt for each one. Defined as a system query, it is added automatically to every database as a new branch in the GeoDin object manager, and the conditions on the query adapt where and how it appears.
* **Extend or restructure the object manager.** The standard object manager structure is defined by GeoDin: objects in one branch, measurement points in another. A system query can change that - for example by showing the samples belonging to a borehole directly beneath that borehole, instead of only in the separate **Measurement points** branch.
* **Provide query templates for less experienced users.** Very complex queries often join many GeoDin tables through link fields such as `PRJ_ID`, `LOCID` and `INVID`, which takes good knowledge of the table structure. The query assistant offers the most common joins, but not every possible one. A system query closes that gap by supplying the join as a ready-made template, so the user only has to supply conditions and display fields.

### The QUERYDEF folder

System queries are stored in the `QUERYDEF` folder of the GeoDin installation, one file per query. The method **New query** creates a new file there under the name you enter.

If a folder structure is created inside `QUERYDEF`, the same structure appears in the GeoDin object manager, which is how a larger collection of queries is given a logical order. GeoDin itself has no method for creating those sub-folders - use Windows Explorer. Query files that are no longer needed are deleted the same way.

After restructuring the folder in Windows Explorer, right-click the **Queries** branch on the System tab and choose **Refresh** to update the object manager view. Restarting GeoDin is not necessary to pick up a new folder structure or new query files.

## Reference: Query Builder nodes

Each subsection below documents one node of the sub-query definition, in the order they appear in the builder.

### Tables

The table list of a subquery contains all the identifiers of tables or views used in the query. These are the names of tables/views in the database that are referenced in the FROM statement. The purpose of this list is to make any necessary schema additions to these names before the SQL statement is executed. As the FROM statement can contain any SQL syntax (including database-specific syntax), GeoDin will not evaluate this string to determine which table names are to be extended with a schema name. Instead, the table list defined here tells GeoDin which names to include in the FROM statement and from the other parts of the query configuration. All names specified here are automatically extended with the schema name from the GeoDin database configuration.

**Example:**

All GeoDin tables are created by the dbo user (database owner) of the database. Therefore, all tables can only be accessed by other users if the schema is listed and the full table name is used:

dbo.GeoDin\_LOC\_LOCREG

To avoid having to specify the schema replacement for each table, it is possible to store the schema of the GeoDin tables in the database connection configuration **Configuration** for user databases.

***Note:*** *Alias names given in the FROM statement (for example for sub-queries) may not be included here. Otherwise, the schema extension will be added to the alias and the statement will fail.*

### Project-level system queries (GeoDin 10 and later)

Since the GeoDin 10 project-structure change, a system query that is to be displayed at project level must include the object registration table `GEODIN_LOC_LOCREG` - add it to the table list and to the FROM clause of the query.

{% hint style="warning" %}
If the object registration table is omitted from a project-level system query, running the query returns one of the following errors, depending on the database system:

* Microsoft Access database: `[FireDAC][...] Too few parameters. Expected 1.`
* Client/server database: `[FireDAC][...] Invalid column name 'ProjectGUID'.`
  {% endhint %}

### Configuration

In the configuration the settings for the query are made, based on the data basis used for the query.

The configuration covers:

1. the FROM statement at the [Link (FROM)](/data-analysis/query-builder-reference/conditions-and-operators) node for the SQL command
2. and other criteria [Restricting fields](/data-analysis/query-builder-reference/conditions-and-operators) for the automatic restriction (WHERE) of the query, depending on the position of the query in the GeoDin object manager
3. Definition of the information required for processing the query result [Result fields](/data-analysis/query-builder-reference/conditions-and-operators)

At the entry ***Sub-queries*** it is possible to view the query by clicking on "SQL Preview" at the desired sub-query.

***Note:*** *The SQL statement displayed in the preview can be tested directly in the database after replacing the Project ID ($PRJID), the Location-ID ($LOCID) or the INVID ($INVID)*

**Additonal options:**

1. \*-\*DISTINCT by query execution in the GeoDin Object Manager-

Define if a SELECT DISTINCT ... command should be executed in the query or only a SELECT command. In both cases GeoDin displays an object that is available more than once in a query only once in the object manager. This is done by a check of the object ID's. A general DISTINCT is not used as default, because the usage of that command depends on the query design. If you are sure your SQL command allows a distinct, this option can accelerate the query significantly.

1. -Ignore error-

If the query leads to an error as default an error message is displayed. You can hide the error message by using this option. If executing the query leads to an error this way the error is ignored and the query is not inserted in the object manager. You can use this option, if you want to create a query, which can not be used in any type of database and you want to ignore this error. Recommended is that instead of using this option the configuration of the **Requirements** are used for a query, because it is always faster to control the requirements than to run into an error in a query.

1. -Use DISTINCT for shape export-

If the query is used to create a shape file, you can select here if a SELECT DISTINCT or a "simple" SELECT command should be used for the shape export.

### Condition

This section of the definition of system queries can be used optional to limit the results of the query. This section is comparable to the WHERE statement of a SQL query and is added automatically to the database query. Add in the list one or more entries to edit.

### Or

**¯¯¯**

This section of system queries can be used to narrow down the results of the query. It is equivalent to the WHERE restriction of an SQL query and will be added automatically to the database query. Possible logical operators are AND and OR relations which can be ordered in two levels. On the first level, connected sub-queries are linked with an OR. The first condition appears with the keyword IF and marks the beginn of the conditions.

In the first step it is therefore defined:

<\<Condition 1>> OR <\<Condition 2>> OR <\<Condition 3>> ...

At the second level, the single conditions are the "true" criteria of the query, where AND operators can be used.

**Examples for Conditions**

Example using the coordinates of a measurement point (OR operator):

The query shall find all measurement points where either the X-coordinate (XCOORD) is higher than 100 or the Y-coordinate is higher than 50. The conditions would be:

```
 IF

 XCOORD \> 100

 OR

 YCOORD \> 50
```

The example can be extended to demonstrate the search of objects whith their coordinates (OR and AND-Relation). The query finds all measurement points with X-coordinates higher than 100 and less than 200 or with Y-coordinates higher than 50 and less than 100:

```
 IF

 XCOORD \> 100

 XCOORD \< 200

 OR

 XCOORD \> 50

 YCOORD \< 100
```

If the conditions for both the X-Coordinates and the Y-Coordinates must match, the conditions are entered in the second level (AND) of the query:

```
 IF

 XCOORD \> 100

 XCOORD \< 200

 YCOORD \> 50

 YCOORD \< 100
```

### And

At the level of conditions, different search conditions have to be defined. Here, the conditions are defined either as single conditions, or as a combination with logical AND. It is possible to combine groups of conditions with each other by a logical [Or](/data-analysis/query-builder-reference/conditions-and-operators).

**Configuring the Conditions**

In the field DATABASE FIELD NAME, the field name of the data field has to be defined which shall be used for the query.

The field name is given in the format \<table\_name>.\<field\_name>.

In the "condition" field, the desired condition can either be defined directly, or a parameterized condition can be used. If defined directly, the CONDITION is expressed as a logical expression with a relational operator and a value.

Possible relational operators:

\> greater than

\=> greater than or equal to

< less than

<= less than or equal

\= equal to

<> not equal to

is null data field is empty

is not null data field is not empty

like 'A%' Contents in high commas using wildcards in the character string: \_ one character or % several characters

in ('T1','T2') list of values in round brackets, values separated by commas, textfields have values in high commas,

numerical field have values using decimal point (not a comma) and not in high commas

**Conditions** that query a **date** : please check your database for the correct formatting:

The following standard formats are available:

Access #MM/DD/YYYY#

Oracle 'DD-MM-YYYY'

MySQL, MS SQL, PostgreSQL 'DD.MM.YYYY'

**Conditions** that query a **timestamp(Date/Time)**: please use the following standard formats:

Access: #MM/DD/YYYY HH:MM:SS#

Oracle: TO\_DATE('*31.05.2015 12:24:36'*,'dd.mm.yyyy hh24:mi:ss')

MySQL, MS SQL, PostgreSQL: 'DD.MM.YYYY HH:MM:SS'

If a parameterized query is used, a window is opened when the query is executed for the first time. All Conditions marked as parameterized can be entered and changed in this window.

***Note:*** *The use of a paramaterized condition is indicated by the characters ":?". Optionally, a comparison operator can be specified before this character string. In this case, this operator is pre-filled when the parameters are queried.*

If a parameterized query is used, the different settings neccessary become available.

The parameter can be marked as required - if it is not required, the parameter will be ignored when empty.

It is also possible to enter a default value and to use an intervall.

The option -Use interval- produces a special type of condition. If you want to select objects in a defined area around a selected coordinate, the following condition is possible:

1. Data field name: GeoDin\_LOC\_LOCREG.XCOORD
2. Condition: >=:?
3. x use interval
4. 100

When the query is executed an input window is displayed showing the selected X coordinate (Easting), the distance (default 100) to be entered. The following WHERE condition is added automatically to the SQL statement:

... (GeoDin\_LOC\_LOCREG.XCOORD >= C*oordinate*-100) and (GeoDin\_LOC\_LOCREG.XCOORD <= C\*oordinate+\*100)

If you select a second condition for the data field GeoDin\_LOC\_LOCREG.YCOORD (Northing), objects can be selected from a given rectangle around the selected location by entering 3 numbers instead of entering the corners of the rectangle.

**Using the parameter $%SYSDATE$**

You can use $%SYSDATE$ as placeholder for the date parameter, to select the current date as default value. Also mathematical terms with the macro $%SYSDATE$ are possible, e.g. $%SYSDATE$-7 to select the same day one week ago.

### View fields

The display fields define which database fields from an object are to be shown in the GeoDin Object Manager (GOM).

The objects and the contents that are displayed are actually the results of a query - usually this is the name of an object or "LONGNAME".

However it is possible to combine fields for a more detailed display, such as name and type of borehole.

You can organize which and how many fields are to be displayed [Display field](/data-analysis/query-builder-reference/conditions-and-operators).

There are optional formatting instructions to display the text.

In the entry field you can define the macro that is applied to the results of the SQL query.

If no macro is defined, the data records will be shown as they exist in the database.

This means for instance that codes will not be re-translated back to full text, but shown as codes.

The macro can only contain references to defined display fields. Hence the macro does not replace display fields but complements and formats them.

SELECT DISTINCT GeoDin\_LOC\_LOCREG.LOCID, GeoDin\_LOC\_ZMGENINF.SHORTNAME, GeoDin\_LOC\_ ZMGENINF.PURPOSE ....

The text macros are implemented in exactly the same way as in a template, hence the range of formatting options available.

**Example:**

$GeoDin\_LOC\_ ZMGENINF. SHORTNAME $ ($GeoDin\_LOC\_ZMGENINF.PURPOSE $)

When using a text macro an additional macro must be defined that is used when the macro is refreshed in the GOM. This occurs whenever general data is edited and saved. At this time the object loaded is used to resolve the macro. The initial query nor the data record that provides the entry in the GOM, since this is not necessary and would only unnecessarily use memory. The macro for the update must be created as in a template with field references to the object. Usually the preceeding table names are omitted.

### Sorting fields

Here additional data fields can be selected as additional sorting criteria for the query results (i.e. independent from the displayed fields). A sorting field is defined by using \<tablename>.\<columnname>. An ORDER BY command is automatically added to the SQL statement when using the sorting fields. Additionally you can define, if the sorting is used for execution in the object manager or in a layout.

### Result fields

Result fields are added to the data field list of the SELECT statement and define the structure of the result data. A result field is defined by \<tablename>.\<columname>.

**What the result fields have to contain**

Which identifiers and coordinates GeoDin needs from the result depends on what the query is used for. The same query is executed differently when

1. its result node is added to the object manager,
2. it is used for a shape export or in the ArcGIS extension, or
3. it supplies data for a report.

For the first case the result fields only have to carry the GeoDin object IDs; the coordinates are not relevant. Many GIS operations, by contrast, use the data fields for the X and Y coordinate (`XCOORD` and `YCOORD`) together with a data field holding a unique object ID - usually the `INVID` of an object. Because a query may address any table in the database, including non-GeoDin tables, that object ID can come from another table and does not have to be the `INVID`.

Which identifier fields are expected also depends on the type of result object, which is selected in the system query:

| Result object type       | Expected identifier fields                                                      |
| ------------------------ | ------------------------------------------------------------------------------- |
| Object (red)             | a field with the project ID (`PRJ_ID`) and a field with the object ID (`LOCID`) |
| Measurement point (blue) | a field with the measurement point ID (`INVID`)                                 |

The original columns can carry different names. As with the other identification columns, they are given in the format `<tablename>.<fieldname>` and have to be available as a column in the result of the query.

{% hint style="success" %}
Where possible, fill in all the fields. A result definition that carries both the identifiers and the coordinates lets the same query serve every purpose - object manager, shape and ArcGIS export, and reports - instead of only one.
{% endhint %}

### Sub-query

A sub-query is a independent query on the database (a SQL statement), which gives a quantity of results. The SQL statement is not defined as a full statement, but through a number of single definitions. In separate input fields, certain fragments of the query are defined, which are combined to a full SQL-statement by GeoDin. The reason for this is a number of variable parts of the SQL-statement, for example the field list in SELECT, which will be created in GeoDin according to the designated usage. This is the only way to achieve an optimised (purpose-oriented) query in the database, which differs greatly, for example, when executing the query in the GeoDin object manager from executing the same query for data retrieval in a layout.

**Name**

Here, a name for the sub-query can be entered.

**Template description**

Enter here a short description of the query. The description is shown in the query assistant, if the query is defined as a template for user queries (see [Working with system queries](#working-with-system-queries))

**Combine conditions with Or/And**

This option controls the combination of single conditions of the query. Depending on the query with several conditions the *"Or"* connection in the main node

(Condition 1 and Condition 2) or (Condition 1 and Condition 3)

can better be replaced by an *"And"* connection in the main node

(Condition 1) and (Condition 2 or Condition 3).

**SQL-Preview**

Here, the SQL command is displayed based on the current configuration of the query.

**Query type of an object frame query**

When editing an [object frame query](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames#object-frame-queries) you can choose between defining a structured template or an entire SQL statement. A SQL statement allows all possibilities of data selection (e.g. SELECT COUNT(Datafield) AS GCCOUNT FROM table), but is probably not executable in all database types. Generally a structured template is preferrable.

### Link (FROM)

The Link is the FROM clause of an SQL statement. The information can be collected from one table or from a set of tables as defined in the FROM condition. If only one table is selected, only the table name has to be entered here. For more complex expressions, the syntax of the FROM clause has to follow the SQL specifications of the used database system.

The definition or structure of the FROM clause may vary between different database systems due to the specifications of the specific SQL syntax.

***Hint:*** *It may be helpful to create the query first in a database program using a graphical query editor. Then, the FROM clause of the statement can be copied here (Example: The query editor in MS Access)*

### Restricting fields

The restriction fields are used to define data fields which GeoDin automatically adds to the WHERE condition of the query depending on the position of the query in the object manager in order to restrict the result set according to the object manager structure.

The base are the [Display conditions](/data-analysis/query-builder-reference/conditions-and-operators) of the query.

**Database, Database queries**

The queries are not further restricted. The restricting fields can remain empty.

**Project, Project queries**

The queries are restricted using the project ID. The restricting field PRJ\_ID has to be filled.

**Object**

The query is restricted by using the project ID and the object ID. The restricting fields PRJ\_ID and LOCID have to be filled.

**Measurement point**

The query is restricted by using the measurement point ID. The restricting field INVID has to be filled.

The columns have to be selected in the format \<tablename>.\<columnname> and have to be part of the result of the query.

### Display field

The display fields define which database fields are used for naming the query results in the GeoDin object manager. This way, the name can be put together from several fields. One commonly used database field is the object name LONGNAME. But you can also use combined names like name and depth.

```
 Database

 DemoDB

 GeoDin Demo

 Objects

 Measurement points

 Project

 Borehole 1

 Borehole 2

 Project 2

 Project 3

 Objects

 Measurement points

 Database
```

**Data field name**

In this field, the data field to be displayed is defined in the form \<table name>.\<column name>.

**Extension text**

The characters entered here are appended to the content of the data field as "extension text". For example, the content of a display field such as GeoDin\_LOC\_LOCREG.ZCOORDE (final depth) can be supplemented with the unit of measurement e.g.: " m" or with longer versions, such as "in m below ground level".

**Sort criteria**

Select the sorting sequence for this data field. An ORDER BY statement is automatically added to the SQL statement.

### Portal properties

The **Portal properties** node holds the settings a query needs when its layout is used as a portal layout. A portal layout is a GeoDin layout that contains at least one element with a portal link, that is, an instruction to call another GeoDin layout. Layouts that call each other build up a whole network of presentations and reports - a portal. Portal layouts can be created and used in any GeoDin module combination; in a GeoDin Portal Server installation they are the linked front end through which the reader navigates the presentations and data in a browser.

A standard graphic offers no portal function, so it has to be prepared first. In edit mode, select the object tree of the graphic - if in doubt, click the white area next to the object frames - open **Extended properties** in the object properties of the graphic and switch on the option **Activate portal function**. A new **Portal properties** branch then appears below the extended properties, and the elements **Variable text** and **Variable image** gain the option of setting up portal links. Setting up the links themselves is described under [Creating site plans](/visualization-layouts-and-reporting/creating-site-plans).

Switching **Activate portal function** off again on an existing portal layout removes the portal properties from all affected elements of the graphic. The settings are not lost, however - not even when the graphic is saved - and can be reactivated later.

**How a called query receives the object ID**

A called layout restricts itself to objects by default. The calling layout (source layout) determines which object ID is passed; the called layout (target layout) resolves it through the [result fields](#result-fields) of its frame query, which declare which column of the result table holds `PRJ_ID`, `LOCID` or `INVID`. `PRJ_ID` and `LOCID` are enough for objects; measurement points require `INVID`. If those assignments are missing, the query cannot be executed and an error message is issued. Defining all of the fields when only some are needed causes no problem.

Internally, passing an object ID always appends a restriction to the statement of the called layout, built from the entries in the result fields. If the statement already has a WHERE clause, the restriction is appended as an AND construct. Beyond the object identifiers, further parameters can be passed to the query in the target layout; they take effect only where matching conditions are defined on that query, and parameters passed without an evaluating condition have no consequence.

A multi-frame layout receives no object IDs at all - there, the first frame query supplies the object identifiers.

If the frame query uses an individual SQL statement instead of a structured query, only `PRJ_ID`, `LOCID` and `INVID` can be passed, and the statement must contain the matching placeholder for the value to be evaluated:

| Placeholder | Passes                                     |
| ----------- | ------------------------------------------ |
| `%INVID`    | the `INVID` (measurement point identifier) |
| `%PRJID`    | the `PRJ_ID` (project identifier)          |
| `%LOCID`    | the `LOCID` (object number)                |

### Website properties

Here you set the resolution, the refresh interval, and a background colour for the website. You can also select an HTML template for the website.

**Keep layout in cache:** when this box is ticked, the layout is kept in the cache for a set time. Depending on the layout, this can noticeably shorten the server's response time.

### Cache settings

Here you set the number of minutes for which the layout is kept in the cache.

If the data for monitoring layouts is refreshed every five minutes, for example, it makes sense to keep the layout in the cache for five minutes as well. After this time it is removed automatically and reconnected with fresh data on the next request.

## Reference: System query nodes

A system query carries a second group of nodes alongside the sub-query definition above. They do not shape the SQL statement - they decide whether the query runs against a given database at all, where its results appear in the GeoDin object manager, and how those results are displayed.

### Requirements

The **Requirements** node defines the basic conditions under which the system query is executed in a database and added to the object manager. Because a query uses specific database tables, those tables may not exist everywhere: one database may use the object type "General Borehole Log - British Standard" while another uses different object types, so a query on the table `GEODIN_LOC_BSSRCLAS` created for the General Borehole Log leads to an error in the second database.

Enter one condition per line. Each line must be fulfilled (AND); if a single requirement is not matched, the query is ignored for that database. The exceptions are `Username=` and `WorkstationLogin=` lines, which are combined with OR so they may be entered for several different users. Within one line, comma-separated values are alternatives (OR).

| Condition                   | Checks                                                             |
| --------------------------- | ------------------------------------------------------------------ |
| `LOCTYPE=<short name>`      | The named object type is installed in the current database         |
| `DATTYPE=<short name>`      | The named data type is set up in the current database              |
| `ADOConnectionHas=<string>` | The database connection string contains the given character string |
| `Username=<login>`          | The database login name of the current user matches                |
| `WorkstationLogin=<login>`  | The Windows login name of the current user matches                 |

**Restrict to a specific object type**

The installed object types are checked with the variable `LOCTYPE=`. In the following example, the query is only shown if the object type "General Borehole Log" is used in the current database:

```
LOCTYPE=BSBORLOG
```

The short name of the object type is displayed when the method **New object** is used - take a note of that name to use it here.

If several short names are given separated by commas, GeoDin checks whether at least one of the object types exists (OR):

```
LOCTYPE=LOCTYPE1,LOCTYPE2
```

If two or more lines starting with `LOCTYPE=` are given, GeoDin checks whether all of the object types are present (AND):

```
LOCTYPE=LOCTYPE1
LOCTYPE=LOCTYPE2
```

**Restrict to a specific data type**

The data types set up in the database are checked with the variable `DATTYPE=`. In the following example the query is only displayed if the data type "groundwater chemistry" exists:

```
DATTYPE=WAS
```

The short names of the data types are shown in the properties of a data type on the System tab.

**Restrict to a particular database system**

The variable `ADOConnectionHas=` restricts the query to a specific database system, which is useful for queries that use SQL syntax available only there, such as Oracle syntax. Because a database connection is created from a connection string, the restriction is expressed as a fragment of that string:

```
ADOConnectionHas=MSAcc
```

Here the connection string has to contain the character string `MSAcc`, which is true for a Microsoft Access database with a connection string such as `DriverID=MSAcc;Database=C:\My Data\GeoDin\DB\Access_DB.accdb`, so the query is only shown for Microsoft Access databases.

The same comma and line semantics apply as for `LOCTYPE=`. Several character strings separated by commas are combined with OR:

```
ADOConnectionHas=MSAcc,MSSQL
```

Two or more `ADOConnectionHas=` lines are combined with AND, so all of the strings must be present:

```
ADOConnectionHas=MSAcc
ADOConnectionHas=MSSQL
```

**Restrict to specific users**

System queries can be restricted to named users of the database. `Username=` checks the login name of the user in the database, so a query can be made accessible only to certain people:

```
Username=Smith
```

Because this checks the database login, it is not available for Microsoft Access databases. `Username` conditions are combined with OR, so several users can be listed.

`WorkstationLogin=` checks the Windows login name of the current user instead, and is likewise combined with OR. The query below is only shown when the current Windows user is "Smith" or "Jones":

```
WorkstationLogin=Smith
WorkstationLogin=Jones
```

{% hint style="info" %}
Always declare what a query depends on. For a system query on objects, name an object type that exists in the database; if the query uses the tables of a data type, name that data type as well. Checking the requirements is faster than running into an error, so this is the recommended alternative to the **Ignore error** option in the [Configuration](#configuration) node.
{% endhint %}

### Display conditions

The **Display conditions** node defines where in the GeoDin object manager the query is displayed, and under which conditions it is shown at all.

**Query beneath the object type**

These settings control at which level the query appears:

| Level                 | Where the query appears                                                                                                                                                                                                       |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Database**          | At the main branch of the database, at the same level as a project                                                                                                                                                            |
| **Database query**    | Within the **Objects** or **Measurement points** branch that sits at the same level as the projects, depending on the result object type of the query. These branches may already contain user-specific cross-project queries |
| **Project**           | In the main branch of a project, at the same level as the branches **Objects** and **Measurement points**                                                                                                                     |
| **Project queries**   | Within the **Objects** or **Measurement points** branch of a project, depending on the result object type - the same place as **All objects** and the branches of the installed object types                                  |
| **Object**            | As a sub-branch of a single object (red), usually representing a dependency on other objects                                                                                                                                  |
| **Measurement point** | As a sub-branch of a single measurement point (blue), likewise representing a dependency structurally                                                                                                                         |

**Object type limitations**

For queries that are inserted as new branches below an object or measurement point, this field limits the object types the branch may be inserted under. Suppose a query is to list all samples of a borehole below that borehole. The [Requirements](#requirements) already state that the query is only for databases containing "General Borehole Log" boreholes (`LOCTYPE=BSBORLOG`). If the database also holds other objects - which have no General Borehole Log sample table and would return nothing - the query branch should still not be offered on them. Entering

```
LOCTYPE=BSBORLOG
```

restricts the query to objects of that type, so it is only shown at the "General Borehole Log" branch. The multi-line input field can hold several `LOCTYPE=` entries; the query is then valid for all of the object types listed.

**Insert query only when results are present**

This option controls whether the query is always visible in the object manager or only when it returns a result. The query is executed first, and if the result set is empty the query branch (yellow pyramid) is not added. This avoids empty branches in the object manager.

{% hint style="warning" %}
Switch this option on only after the query has been checked for syntax errors and runs without error in the object manager. A query that contains an error returns no results, so with this option active it disappears from the object manager even though its display conditions are met - which makes the error hard to find.
{% endhint %}

**Sorting order in GeoDin object manager**

Queries are displayed in alphabetical order by default. Entering a number here sets an explicit position; use different numbers on different system queries to order them relative to each other.

### Display options

The **Display options** node sets how the query results are displayed and which methods are available on them in the GeoDin object manager.

**Allow expanding of result child nodes in the GeoDin Object Manager**

This option controls whether another existing system query is added as a new child node on a result object. Consider two object types with a relation between them, "Employee" and "Borehole": one system query lists all boreholes an employee has worked on, and a second system query below the borehole displays the employee who worked on it. With the option active, expanding the result would produce an endless structure - employee, borehole, employee, borehole, and so on. With the option deactivated the structure ends at the boreholes.

**Extended object view for result child nodes**

With this option the results of the query are tested for measurement values and linked documents, which leads to a particular type of display. On very large or slow databases that test takes time, so the option can be deactivated there.

**Available methods**

Here you define which methods are available on the node of the query itself or on the result nodes (object or measurement point). An empty field means GeoDin allows all standard methods on the node. Entering a comma-separated list of method IDs limits the node to those methods; each GeoDin method has a unique ID, and the available numbers are listed in the ExecuteMethod section of the [COM API method reference](/integrations-and-plug-ins/overview-1/method-reference).

For example, entering `2,6` shows only **Edit graphic** and **Site plan** on the node and suppresses methods such as **Cross-section**, which may not be possible for these objects.

### Presentation options

A query can be used as a layer in the embedded GIS - see [Adding layers](/maps/adding-layers). The **Presentation options** node determines how the result of the query is displayed there. This makes it possible to define a system query that not only tests conditions and supplies results, but already carries its colors, fill patterns and legend settings with it.

{% hint style="info" %}
These settings can become very complex. It is usually easier to build them first in the embedded GIS with the integrated assistant, and then copy them as a text block from the layer properties into the system queries branch.
{% endhint %}


# Conditions and Operators

Conditions and operators in GeoDin queries - WHERE clause syntax, comparison and logical operators.

Query **conditions** filter the result set using comparison operators (`=`, `<>`, `<`, `>`, `<=`, `>=`, `LIKE`) and logical operators (`AND`, `OR`, `NOT`).

Conditions can be combined into complex expressions, including subqueries and parameter substitution. GeoDin translates the Query Builder's visual rules into standard SQL that runs against the underlying database.

For the comprehensive reference - full syntax, all options, edge cases - see [**Query Builder Reference**](/data-analysis/query-builder-reference).


# Layer Queries

Reference for GeoDin layer queries - single conditions, codes and wildcards, GLQ definitions, layer classification syntax, sequences, and processing options.

Layer queries search the coded layer descriptions of boreholes - soil and rock attributes recorded as strings of codes - which a plain SQL query on the database cannot reliably match. This page covers what layer queries are, the simple single-condition walkthrough for finding all boreholes with a given layer property, and the full reference for the multi-characteristic layer-query workflow (GLQ definition files, the layer query manager, definitions, results tables) plus additional query options such as code-hierarchy search and multiclassification export.

## What layer queries are

Layer queries are queries on attributes of the layer description. These can usually not be queried with an SQL query on the database, because the description usually consists of a string of codes.

Even if an attribute is only described by one code, a query with direct comparison of a string like WHERE SOILNAME = 'fS' is possible, but will in practice not lead to the desired result, because all layers, in which more codes than the code fS was entered, would not fulfil the condition.

Even a partial string query with operators like LIKE would not lead to the desired result, because for example the capital letter C is in a series of codes. Finding the letter C does not mean that the layer contains clay.

The layer query tool solves these problems and allows also an investigation on the relations of the codes among each other. This is based on the decomposition of the description of an attribute in single codes and a projection of the relations of the codes among each other. Coding a fine sand leads to:

**s(fi)**

the following decomposition:

1. The description consists of:

s

1. attributed by:

fi

Derived from the decomposition are the single codes as well as the property of the code s as main component and the property of the code fi as an attribute (describing property) of the sand.

Beside the code itself also their properties and relations can be investigated. This leads to specialized and professional research options. Layer queries can be used to query complex classifications of the layers concerning different technical questions and are far more than just a query on single codes.

For layer queries in GeoDin two different methods are available:

1. Query a single layer property to find and provide all boreholes that have that property.
2. Query several layer properties in one step to classify or generalize all layers or create sequences of predefined layers of the selected boreholes.

While the first method can be done without further preparation, for the second method a layer query definition is required.

## Query individual layer properties

Querying a single layer characteristic with the goal of finding all boreholes that meet this characteristic is the simplest form of layer query and will be demonstrated with the following example.

The goal is to find all boreholes that contain layers from the stratigraphic horizons of the Lower Cretaceous. The layer characteristic to be examined is therefore the Stratigraphy field, and the keys to be searched for must describe horizons of the Lower Cretaceous.

The query is performed with the method **"Data checks and calculations".*****Note:*** *The query with the method* ***"Data checks and calculations"*** *is only possible for the SEP3-object typ and the KA5-object type. This also applies to* [*Complex layer queries*](/data-analysis/layer-queries/complex-layer-queries)*.*

This method can be started at all queries and groups in the ***Objects*** branch in the GeoDin object manager. This allows a preselection of the boreholes to be examined using the known methods for creating queries and groups, enabling the layer queries to be applied to this set of objects. If a preselection is not necessary, the method is best started at the ***All Objects*** branch. To perform the desired query, select the method **"Layer Queries Single Conditions"** from the list.

After selecting the Stratigraphy data field in the **"Data Fields"** dropdown box, click on the question mark icon next to the *"Key:"* input field. The dictionary search will be initiated. Set the search to Plain Text and the option to -Full Text Search-, and enter the term "Lower Cretaceous" in the input field. All entries containing this term will be displayed. For **example:**

Upper lower cretacious

Lower lower cretacious

Lower cretacious

With the **apply** button, the code of the selected entry "Lower Cretacious" can be entered into the input field *"Key:"* (in this case: kru (german SEP 3 stratigraphy)). To search for several codes simultaneously, these can be entered separated by a comma:

kru,kru1,kru2

A layer matches the query conditions, if at least one of the given codes are used in the data field "stratigraphy".

It is easier to use wildcards in place of precise codes, using special characters as placeholders for characters.

\_ Underscore substitutes any one character, which may not be missing

% Percent subsitutes any zero or more characters in this place

This way, the code list in the given example kru,kru1,kru2 could be simplified to:

kru% (German SEP 3 stratigraphy)

***Note:*** *The use of wildcard characters simplifies the definition of entire lists of keys but also carries the risk of including keys in the search that are not desired. To check this, click on the percent symbol at the end of the input field to view a list of all keys that are included in the search through the wildcard definition.*

After the codes have been defined, enter a name for the query result, e.g. "boreholes lower cretacious". Leave the option -Create location query automatically- selected. This option creates a query branch in the object manager, containing all objects matching the query conditions.

Start the query by clicking **Proceed**. Now, all locations will be queried. After the search is completed, a message window appears, displaying the internal ID of the query and information about the query. In the object query "boreholes lower cretacious" in the GeoDin object manager, all locations can be found in which the field stratigraphy contains the codes for the lower cretacious. All methods normally available to edit the query or the boreholes are available here.

GeoDin stores the results of a layer query in the current database. Each query executed is assigned a unique ID. To manage layer queries, the [Layer query manager](/data-analysis/layer-queries/complex-layer-queries) is available.

***

## Reference: Layer query workflow

The multi-characteristic layer-query workflow - defining conditions in GLQ definition files, classifying and generalising layers, and managing the stored results - is documented in the subsections below.

### Complex layer queries

Querying multiple layer characteristics simultaneously with the goal of classifying layers is much more complex than querying a single characteristic and requires a series of preparations.

The conditions of layer queries are defined in layer query definition files (GLQ), which can be re-used and are not discarded after use.

The use of layer query definition files offers the following capabilities:

1. Searching for Codes in layer properties
2. Creating logical connections between any number of layer properties, including mathematical computations
3. The following properties of codes and layers can be taken into account:

o Position (hierarchy) of the code in the description of the properties

o Type of the possible or desired joins or listings

o Type of the possible or desired attributes of the codes

o Layer type

o Type of the possible or desired sub-layers of the investigated layer

1. Use of additional layer properties, like depth or thickness
2. The groundwater level can be taken into account
3. For each layer, a resulting value can be calculated
4. Layers with the same classification can be grouped (generalized)
5. Layers or layer series with given thicknesses can be queried
6. Series of layers with specific sequences can be searched
7. Characteristic values for the borehole can be calculated
8. Geothermal characteristics for layers or boreholes can be calculated
9. Results can be displayed as a borehole graphic
10. The borehole column can be labeled with the results of the classification
11. The query result can be stored in the database

### Organisation

A layer query definition file (file extension \*.GLQ) is a collection of of the single definition conditions, layer classifications, layer packages, layer package sequences and execution options. It is possible to create and use any number of layer query definition files. Under the system tab of GeoDin new definition files can be created and existing files can edited and deleted.

The layer query definition file is stored by default in the folder QUERYDEF of the GeoDin installation. In a network environment this area is normally write-protected and can only be accessed by entering the password. Therefore you can create your own layer query definition files wherever you like, also the access to data from other users is possible. With the method ' ![Properties](/files/4lkUNPPwJopIe4BV4aGK) **Properties**' a list of folders can be configured to be searched by GeoDin for layer query definition files:

The folder QUERYDEF is set by default and cannot be deleted from the search path with the consequence that all layer query files from this folder will always be displayed.

With the button **Add** any number of folders can be added:

Now all layer query definition files from the added folder are displayed in the object manager:

The search pathes are a local setting at the work station of the user. For this reason each user of the GeoDin system may have an own search path list.

### Preview

In the [Layer data](/concepts/layer-and-stratigraphy) in the method **"Data management"**, a preview of the layer queries is available. It can be opened with the ![Layer queries](/files/cIBlnDzvhpElV1qCBU65) **Layer queries** button:

Here, the desired layer query definition and the classification can be selected. The results of the layer query and the classification are displayed for the current layer. The selected layer query definition and the classification will remain until GeoDin is shut down.

The filling pattern is generated to represent the result of the layer query. The patterns of the layer classification which meet the query conditions TRUE are displayed. If for the current layer several classifications are TRUE, the representation of the borehole collumn is split vertically (a maximum of 4 layer classifications can be displayed in one borehole column).

In the ***Result*** window, the according text is displayed. Here, the layer classifications which are TRUE for the current layer are listed by name. If a formula for a calculated value was defined for this layer classification, the result of the calculation is also displayed in the line **Calculation value**. A list of the single conditions meeting the query conditions TRUE is also displayed.

If the current layer is a main layer and contains sublayers, the layer classifications and single conditions for all sublayers are listed also.

With the buttons **Previous** and **Next** it is possible to page through the layers without leaving the preview. With the button **To layer**, it is possible to go directly to the layer currently in the preview. With the **Close** button, the view goes back the layer in which the preview was opened.

### Data checks and calculations

The method [Data checks and calculations](/data-analysis/data-checks-and-validations) is available to query a group of boreholes for layer properties. The query result can be used to make the data available at a query result in the GeoDin Object manager or to select boreholes for more detailed analysis.

The method can be started at all queries and groups in the **Objects** branch of the GeoDin Object Manager. This way, it is possible to create a selection of objects with normal queries and groups, and to use layer queries on the resulting set of objects.

There are two general methods for layer queries:

1\. Layer queries with a single condition without the use of a layer query definition file.

This type of layer query is explained in detail in the chapter [Query individual layer properties](/data-analysis/layer-queries).

2\. Layer queries using a layer query definition file

For this kind of query, select one of the methods **"Classification"**, **"Generalisations"**, **"Layer packet sequences"** or **"Calculations"**.

First, the desired layer query definition file is selected from the pull-down menu **"Queries:"**, then the desired operation is selected from the second pull-down menu. The layer query has to be given a name to find it in the layer query manager and as a name for the (optional) object query.

With the option -Create location query automatically- is normally deactivated, as the result set of the query for these operations is normally as large as the original set. If the opion is activated, a GeoDin Object Manager query is created automatically, containing all objects for which at least one layer classification is TRUE.

The query is started with the **Proceed** button. After the query was performed, the following results are available:

1\. Query results in the database (Tables of the data pool GLQ). The description of these tables is given in the chapter **Results**

2\. Object query with the name given, if the option -Create location query automatically- was selected.

3\. Object group in the GeoDin Object Manager, containing all boreholes in which errors occurred or ambiguous layer classifications occurred. This group is created only if errors occur.

If one or more errors occurred at one borehole, the object will be listed in the object group, and the name will be complemented by an addition, detailing the nature of the error:

LOCTYPE Wrong object type. The object cannot be queried, as it is of a location point different from the one specified in the layer query definition.

PREPERR Calculation error. During the calculation of characteristics or the conditions of a layer classification, an error occurred. The reasons may be a syntactically incorrect definition of a condition for a layer classification, wrong identifiers for variables, or a division by zero when numerical values are calculated.

DUPLIDS Ambiguous layer classifications. One layer meets the conditions of different classifications, making an unambiguous classification impossible. Whether this is an error is dependent on the aims of the layer classification. Depending on how the query results are used, it may be necessary to refine the layer query definition further.

### Results

The results of a layer classification are saved in the current database in the following tables:

GLQ\_EXECUTE Table of the Layer queries performed

GLQ\_RESDESC Table with the result description (Legend)

GLQ\_LAYER Table with the investigated layers and the results

**GLQ\_EXECUTE**

| Data field  | Description                                                                                               |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| GLQ\_ID     | Query ID                                                                                                  |
| GLQ\_NAME   | File name of the layer query definition file or empty when the query was run with a single condition      |
| OP\_TYPE    | Layer query type: 1 = Classification 2 = Generalisation 3 = Layer sequences 4 = Calculation 5 = Geothermy |
| OP\_ID      | ID in the layer query definition for the operation run                                                    |
| OP\_NAME    | Name in the layer query definition of the classification run                                              |
| OP\_COMMENT | Name of the query result                                                                                  |
| OP\_OPT     | Internal parameter                                                                                        |
| OP\_DATE    | Date the query was run                                                                                    |
| OP\_TIME    | Time the query was run                                                                                    |

**GLQ\_RESDESC**

The table contains one data set for each result of a layer classification resulting from the query.

| Data field | Description                                                                          |
| ---------- | ------------------------------------------------------------------------------------ |
| GLQ\_ID    | Query ID (Link to GLQ\_EXECUTE)                                                      |
| RES\_ID    | Result ID (This is the ID of the layer classification in the layer query definition) |
| RES\_NAME  | Result name (Name of the layer classification)                                       |
| RES\_EXPR  | Calculation formula of the layer classification                                      |
| RES\_GUID  | Global unique ID of the layer classification                                         |

**GLQ\_LAYER**

The table contains one data set for each layer data set investigated with the query.

| Data field | Description                                                                          |
| ---------- | ------------------------------------------------------------------------------------ |
| PRJ\_ID    | GeoDin Project ID                                                                    |
| LOCID      | GeoDin Location ID                                                                   |
| RECID      | GeoDin Record ID                                                                     |
| GLQ\_ID    | Query ID (Link to GLQ\_EXECUTE)                                                      |
| DEPTHFROM  | Top of layer                                                                         |
| DEPTHTO    | Bottom of layer                                                                      |
| THICKNESS  | Thickness of layer                                                                   |
| RES\_ID    | Result ID (This is the ID of the layer classification in the layer query definition) |
| RES\_VALUE | Calculation result of the layer classification formula                               |
| RES\_ERR   | Classification errors                                                                |

***Notes:***

Data field **PRJ\_ID, LOCID** and **RECID**

These data fields are the database keys for the layer data table. Each layer data set is related to exactly one data set in the GLQ\_LAYER table.

Data field **DEPTHFROM**

Contains for main layers the bottom depth of the previous layer, and a 0 for the first layer.

For sublayers, this contains the top of the sub-layer if available, otherwise, the bottom of the previous main layer is used.

Data field **DEPTHTO**

Contains for main layers the bottom of the layer.

For sublayers, this contains the bottom of the sub-layer if available, otherwise, the bottom of the current main layer is used.

Data field **THICKNESS**

Contains the calculated thickness of the main layer.

For sublayers, the calculated thickness is only given if both the top and bottom depth were contained in the layer data.

Data field **RES\_ID**

This field contains the ID of the layer classification. If a layer fulfills the conditions of different classifications, the data field RESS\_ERR = 1 (If it is OK = 0). As the calculation begins with the lowest classification ID, the field RES\_ID will contain the lowest classification ID if the classification is ambiguous.

Data field **RES\_VALUE**

If the classification uses a formula, the result is stored in this field. If the formula contains variables referring to top or bottom of layer (including total thickness), no result will be calculated if the layer is a sublayer and contains no entries for the variables used in the formula.

Data field **RES\_ERR**

If a layer is classified as belonging to several different classes, the Field RES\_ERR contains a 1 instead of a 0.

### Layer query manager

The layer query manager provides an overview over all layer queries run in the database or project and is avaiable at the **Objects** branch.

The queries are displayed with their ID (GLQ\_ID), the name of the classification scheme or the single condition, the name of the query result and date of the query.

The symbol "Query result present" shows that a complete result of the query is available and that the query definition file has not been changed since. The symbol does not mean, however, that no changes to the layer data themselves were made. Due to performance reasons, it is impossible to monitor changes in the layer descriptions. It is therefore in the responsibility of the user to decide whether significant changes to the layer data were made, which would have changed the query results. Especially in a multi-user environment, a layer query is always a snapshot of the current data.

The symbol "Query result may be out of date" shows that the layer query definition has been changed after the query was executed. This can apply to another classification in the same layer query definition, but in case of doubt it is advised to run the query again.

The symbol "No query definition" shows that the file of the layer query definition cannot be found. Executing the query once again is not possible, but the results of the executed query are still valid.

The symbol "Query result partly deleted" shows that some parts in the current database have been deleted (through direct access to the database). It is recommended to delete this query.

By the help of the button **Delete** a query result is removed from the database. All data sets with the appropriate query-ID are going to be removed from the tables of the GLQ pool. An eventually automatically created object query is deleted at the same time. Due to the large amount of data you should delete the layer query results from the database if there is no need any longer.

### Layer query definition

A list of all available layer query definitions contains the node **Layer queries**.These can be edited with the method **"Edit layer queries"**:

A layer query definition is made up of the two sections ***Definitions*** and ***Processing options***. In the section ***Definitions*** the search criteria in individual conditions are, layer order, layer packages (generalisations) and layer pakage order. These definitions are the basis for the ***Processing options*** which the method **"Search and Replace"** or the graphic visualization uses.

**Example:**

The individual conditions "Search for sand" and "Search for clay" are set in the section ***Definitions***, as well as the layer order "Sand" and "clay" which is based on those definitions. In the **Processing options** section a classification is then created with the name "Graphic display of sand and clay layers", which encompasses both conditions and is used for presentation with the appropriate fill patterns.

### Definitions

The fundamental determination of search criteria (single conditions), conditions for the layer classifications, layer packages and layer packages sequences are done in the branch definitions. By the help of these definitions the later operations to be carried out can be set. A layer query definition must contain at least a single condition and layer classification, whilst the other definitions are optional.

### Single conditions

Here you can manage the single conditions of the definition of the layer query. The specification of complex properties is often easier if you duplicate a single condition (with a later change of name and code to be searched).

A single condition investigates a defined content in a single data field of the layer description. Normally one or more defined codes are searched in one data field at the same time. After the search is completed, the result of a single condition is either TRUE or FALSE, that is, a logical expression.

The single condition dialog has the following fields:

| Field                                 | What it defines                                                                                                                                        |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**                              | Name of the single condition.                                                                                                                          |
| **Data field**                        | The data field the condition is investigated in.                                                                                                       |
| **Codes**                             | The codes searched for in that data field.                                                                                                             |
| **Quantificators**                    | Either an empty entry (all quantificators allowed) or a direct list of the possible digits, for example `3,4,5`.                                       |
| **Secure or insecure specifications** | Either an empty entry (`!` and `?` are not taken into consideration) or a direct list of the accepted characters. Possible entries: `!`, `?` or `!,?`. |

The **Codes** field accepts three kinds of entry:

* **Empty string (no entry in the data field)** - the special case of searching for empty data fields. The single condition is TRUE if the data field is empty.
* **A single code, or a list of codes separated by commas** - the code is searched for in the selected data field, and the single condition is TRUE if the search was successful. Restrictions on the following tabs can still turn the condition FALSE. With several codes the search is a logical OR, so it succeeds as soon as at least one code is found. Examples: `s` searches for the code s; `s,c` searches for the code s or c.
* **The symbol `%` (wildcard for any code)** - queries whether the data field contains at least one code at all, with the exception of numbers and percentages. Combined with the insecure specification (question mark) this finds all layers with insecure entries of any code.

To search for whole groups of similar codes it is neither necessary nor sensible to list every single code. Two wildcard characters are available, and they may be used several times and in any combination:

| Wildcard         | Meaning                                                                                     |
| ---------------- | ------------------------------------------------------------------------------------------- |
| `_` (underscore) | Any single character, which may not be missing.                                             |
| `%` (percent)    | One or several characters; the condition is also fulfilled if there is no character at all. |

Wildcard examples:

* `_s` - codes with exactly two characters that start with any character and have "s" in second position. The code "s" itself is not found by this query.
* `%s` - codes of any length that end with an "s", with any number of characters before it, so both "s" and "fs" are found.
* `+%` - codes beginning with a plus sign, followed by any characters. In the petrography field this finds all magmatic rocks.
* `+%,^%,*%` - the keys of solid rock in the petrography field.

Two buttons in the input window support this work. The dictionary search button opens a search over the dictionary entries, where the option -Full text search- without case sensitivity finds every entry containing a string such as "sand". The preview button lists the keys that the current code definition would actually find - the fastest way to test whether a wildcard is too broad.

The difference is easy to underestimate. In the petrography dictionary, the definition `_S` returns fS (fine sand), gS (coarse sand) and mS (medium sand), while `%S` additionally returns +VS (slag), ffS (very fine sand) and S (sand). To search for sand while excluding slag, change the code definition to `ffS,_S,S`, which returns ffS, fS, gS, mS and S. Always check the preview list before running the query, so that no unwanted entry fulfils the single condition.

### Transitions and enumerations

The **Transitions** tab restricts a single condition by how the found code is connected to other codes in transitions and enumerations:

| Option                                                                  | Effect                                                                                                                          |
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **A) Codes can be alone or in transitions or enumerations (arbitrary)** | No restriction on the search.                                                                                                   |
| **B) Codes must not build transitions or enumerations**                 | Use this option to look for pure layers, for example coarse gravel without any transition or enumeration to other gravel types. |
| **C) Codes may build transitions or be part of an enumeration**         | Permits certain transitions or enumerations, optionally restricted.                                                             |
| **D) Codes must build transitions or be part of an enumeration**        | Searches specifically for certain transitions or enumerations, optionally restricted.                                           |

With option C or D, restricting the permitted transitions or enumerations is optional. The restricted or excluded codes are declared as a list of keys and may use the same wildcard characters as the search key; quantifiers (the **Quantificators** field) and the secure or insecure specification can be given as well. Declare the codes that must be involved in the transition or enumeration to find specific ones, and the codes that must not be involved to exclude them.

The check is always carried out against the list of codes involved in the transition that was found, not against the search code itself. Defining the search code as `%G` (all gravels) and then excluding the code fG from the transitions therefore does not work: the transition fG-mG still gives a TRUE result, because fG is found as the search code and does not have a transition to fG. To find medium and coarse gravels without transitions or enumerations with fine gravel, use the search code `mG,gG` and exclude the code fG in the transition.

In the same way, a single condition "coarse sands (with gravels, stones, boulders)" that searches for the code gS in the petrography field, with all transitions and enumerations excluded except those of the type gravels, stones or boulders, is not fulfilled by a layer coded fS-gS.

### Attributes

The **Attributes** tab optionally restricts how the codes found by a single condition are attributed:

| Option                                                                | Effect                                                                                                            |
| --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **A) Codes can either have no attributes or be attributed arbitrary** | No restriction on the attributes.                                                                                 |
| **B) Codes must not be attributed**                                   | Use this option to look for pure parts, for example coarse gravel without admixtures of other petrographic parts. |
| **C) Codes can be (optionally restricted) attributed**                | Authorises certain attributes, optionally restricted.                                                             |
| **D) Codes must be (optionally restricted) attributed**               | Searches specifically for certain attributes, optionally restricted.                                              |

With option C or D, restricting the allowed attributes is optional. The restricting codes and the codes to be excluded are declared as a list of codes using the same wildcard characters as the search code, and quantifiers as well as secure or insecure specifications may be declared in addition. Specify the desired codes to find certain attributed codes, and specify codes that must not stand as an attribute to exclude them.

### Managing single conditions

Where it is possible to define and edit any number of elements, they are displayed with their names in a list. This can be for example series of a data sequences, columns of a report element, lists of layout file names etc. Simultaneously these entries appear in the tree view of the object properties in the selected order. To add, remove and rearrange entries of the list on the right side the following icons are available:

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry.

The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

### Layer classification

Here you can manage the layer classifications of the definition of the layer query. The specification of complex properties is often easier if you duplicate a layer classification (with a later change of name and condition).

Verifying one or more single conditions for one layer classifies that layer into a fixed layer description, for example into classes with and without cohesive parts. Combining arbitrary single conditions verifies the contents of several data fields of the layer description, and the contents of data fields in other tables (master data of the borehole, for example) can be tested as well. The result of a layer classification is either TRUE or FALSE.

A layer classification is defined by two fields:

| Field         | What it defines                                                                         |
| ------------- | --------------------------------------------------------------------------------------- |
| **Name**      | A significant designation of the layer classification.                                  |
| **Condition** | The logical expression that a layer must fulfil to belong to this layer classification. |

The lists of single conditions and data fields below the input field are an overview of the variables available in the condition. Click a column header to switch the sorting between name and ID, and double-click an entry in the data field list to insert its variable name into the condition at the current cursor position.

**Operators**

| Group        | Operators                  |
| ------------ | -------------------------- |
| Mathematical | `+` `-` `*` `/`            |
| Relational   | `=` `<` `>` `<>` `<=` `>=` |
| Logical      | `OR` `AND` `NOT`           |

Expressions can be bracketed with round brackets in any desired nesting.

**Variables**

Variable names in a condition are introduced with a dollar sign. They stand either for the result of an evaluated single condition or for the content of a data field of the layer currently being evaluated.

| Notation        | Meaning                                                                                                                                                                                                                                                                |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$n:`           | The result of the single condition with ID n, as a logical TRUE or FALSE. `$1:` is the result of single condition 1.                                                                                                                                                   |
| `$0:`           | Special case: a single condition that is predefined automatically and is always TRUE. Because a condition entry is mandatory, use `$0:` when main layers are to be evaluated without meeting a condition of their own but a restriction of the sub layers is required. |
| `$FIELD$`       | The value of a data field of the current layer, for example `$DEPTHTO$` for the bottom of the layer.                                                                                                                                                                   |
| `$%FIELD$`      | A calculated data field of the current layer.                                                                                                                                                                                                                          |
| `$TABLE.FIELD$` | A data field from another table, that is, the master data of the current borehole or the layer title data.                                                                                                                                                             |

The calculated data fields used most often are:

| Calculated field | Meaning                                        |
| ---------------- | ---------------------------------------------- |
| `$%ZBEG$`        | Calculated top of the current layer.           |
| `$%THICKNSS$`    | Calculated thickness of the layer.             |
| `$%ZBEGABS$`     | Absolute elevation of the top of the layer.    |
| `$%ZENDABS$`     | Absolute elevation of the bottom of the layer. |

{% hint style="info" %}
Normally only the bottoms of a layer are stored in the database, except for sub layers where the object type supports them. For this reason `$DEPTHFROM$` does not always contain the top of a layer - use `$%ZBEG$` when the top is needed.
{% endhint %}

The relational operator and the comparison syntax depend on the type of the data field, so the field type must be known before it is used:

* Numeric fields: `$BSGENINF.ZCOORDE$>10` - mathematical operators and calculations are allowed, and the comparison value must be numeric.
* Date fields: `$BSGENINF.CHECKDATE$>'20021021'` - dates are given in single quotation marks in the form yyyymmdd, which makes greater-than and less-than comparisons work.
* String fields: `$BSGENINF.CLIENT@c$='Company XY'` - strings are given in single quotation marks, and another string field may be used as the comparison value.

Access to the title data of the current borehole log and to the master data of the borehole works the same way: `$BSGENINF.ZCOORDE$>10` tests whether the total depth of the borehole is more than 10 m, and `$S3SCHTIT.PROLEIT$='Meier'` tests the project leader of the borehole log (only for object types with sub layers). Avoid addressing a data record by number in the form `$TABLE(n).FIELD$`. It is permitted, because the notation comes from the text macros of the labeling instructions, but with very few exceptions the reference is not technically useful: `$S3SCHTIT(1).PROLEIT$` returns the project leader of the first title data record of the borehole, which is always log version 0 if the first-log rule is applied, not the project leader of the current log.

**Writing the condition**

The condition must always resolve to a logical expression. Simple examples:

| Expression      | Result                                                                 |
| --------------- | ---------------------------------------------------------------------- |
| `1=1`           | Always TRUE.                                                           |
| `1>2`           | Always FALSE.                                                          |
| `'A'='A'`       | Always TRUE - this shows that strings can be used in a condition.      |
| `$DEPTHTO$>10`  | TRUE if the bottom of the layer lies more than 10 m below the surface. |
| `$%THICKNSS$<2` | TRUE if the thickness of the layer is less than 2 m.                   |

{% hint style="warning" %}
Logical operators have priority over mathematical operators, in the same way that multiplication and division come before addition and subtraction, so brackets must be set carefully. The condition `$1: and $%THICKNSS$<2` is syntactically incorrect: it resolves to the logical link `$1: and $%THICKNSS$`, which is not permitted because `$%THICKNSS$` is a numerical value while `$1:` is a logical variable. Written correctly it is `$1: and ($%THICKNSS$<2)`, which is TRUE when single condition 1 is fulfilled and the layer is thinner than 2 m.
{% endhint %}

**Worked example**

Assume three single conditions are defined: "Fine sand in petrography" (ID 1, fS in PETRO), "Medium sand in petrography" (ID 2, mS in PETRO) and "Tertiary in stratigraphy" (ID 3, t in STRAT). The question "find all Tertiary layers consisting of fine sand or medium sand" can be written as a layer classification "fine sand or medium sand in Tertiary" in two equivalent ways:

```
($1: and $3:) or ($2: and $3:)
$3: and ($1: or $2:)
```

The second form runs faster, because the short-circuit evaluation cancels the test as soon as the stratigraphy key t is missing and sets the result to FALSE without checking the remaining single conditions. More important still is combining the search for several keys in the same data field into one single condition. Defining "fine sand or medium sand in petrography" as single condition 1 (fS, mS in PETRO) and "Tertiary in stratigraphy" as single condition 2 reduces the whole classification to:

```
$1: and $2:
```

Summarising the search for several keys in one single condition normally gives a quicker result than a complex layer classification condition.

**Checking the syntax**

The check button next to the condition verifies that the single condition IDs are valid, that the data field specifications are correct, and that the expression resolves to TRUE or FALSE. If the check fails, one of the following messages appears:

| Message                           | Cause                                                                                |
| --------------------------------- | ------------------------------------------------------------------------------------ |
| Wrong ID of the single condition  | The single condition ID used in the expression, for example `$25:`, does not exist.  |
| Wrong data field identifier       | A data field identifier such as `$%THICKNSS$` is syntactically wrong.                |
| Error while solving the condition | Wrong operators (for example `$1: * $3:`), a bracketing error, or a similar problem. |

### Calculated value and parameters

If a layer matches a layer classification, a numerical value can be calculated for that layer automatically from a mathematical formula and stored as the result. The formula supports all numeric data field identifiers, including the calculated data fields, and all numeric operations. For example, `$%THICKNSS$ * 0.1234` multiplies the thickness of the layer by a numeric constant. The result is stored in the data field `RES_VALUE` of the table GLQ\_LAYER.

{% hint style="info" %}
If the formula contains variables for the top, bottom or thickness of a layer, it is only evaluated for sub layers when that information exists for the sub layer.
{% endhint %}

Freely named parameters for the layer classification are declared in the input field *"Parameter"*. The declaration `C=1.23` defines a parameter named C, for example a conductivity. Several parameters are entered one per line:

```
Param1=1.23
Param2=3.4
```

These parameters matter for geothermal calculations, where the parameters of a layer classification are used as the variables of the characteristic-value formulas. The variable names therefore have to be identical across all participating layer classifications.

### Managing layer classifications

Where it is possible to define and edit any number of elements, they are displayed with their names in a list. This can be for example series of a data sequences, columns of a report element, lists of layout file names etc. Simultaneously these entries appear in the tree view of the object properties in the selected order. To add, remove and rearrange entries of the list on the right side the following icons are available:

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry.

The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

### Layer types

Besides the fulfilment of the logical condition the layers to be analysed can be restricted.

The type of the layers to be analysed can be defined fundamentally:

**Into main layers and sub layers**

The layer classification will be calculated for main and sub layers.

**Only into main layers**

The layer classification will be calculated for main layers only.

**Only into sub layers**

The layer classification will be calculated for sub layers only.

The option should be used for the cases that the desired layer classification can be reasonably applied to specific types of layers. This may enhance the speed of calculation.

You can restrict sub layers belonging to the main layers if selecting the option - in main layers and sub layers - or - in main layers only -. This restriction may cause the main layer not to be part of the layer classification.

**Any sub layers are accepted**

There is no restriction to sub layers. The main layer is allowed to have an arbitrary number of sub layers.

**Sub layers are not accepted**

The main layer must not have a sub layer.

**Sub layers limited**

The main layer may have sub layers, but is does not have to.

**There must be sub layers**

The main layer must have sub layers, otherwise the layer classification is not fulfilled.

Sub layers can be optionally defined if selecting the options - sub layers limited - or - There must be sub layers -. The definition is done by entering the layer classification ID's from a list into the input fields. The desired ID's are separated by a comma (e.g. 2,3,23).

**And at least one sub layers must fulfill one of the layer classifications listed here**

If you leave this field empty when selecting the option - sub layers limited -, the layer classification will be fulfilled if the main layer does not have any sub layers.

If layer classification ID's are provided here, the main layer must have at least one sub layer since at least one sub layer must fulfill one of the listed layer classification.

**The type of sub layers can be restricted further**...

This option is distinguished to:

**Sub layers must o n l y fulfill the layer classifications listed below**

If all of the layer classifications from a sub layer are marked with TRUE, they must be listed. Sub layers not fulfilling the layer classification result in FALSE as well as sub layers with a TRUE but without an entry in the list.

**Sub layers m u s t n o t fulfill the layer classifications listed below**

The list is to exclude layer classification of sub layers. It will result in 'TRUE' if the sub layer does not fulfill any layer classification.

### Groundwater restriction for layers

The layers to be analysed can also be restricted by their position relative to the groundwater level:

| Option                                                       | Effect                                                   |
| ------------------------------------------------------------ | -------------------------------------------------------- |
| Arbitrary                                                    | No restriction relative to the groundwater level.        |
| Only layers with the bottom above (>=) the groundwater level | The layer must lie entirely above the groundwater level. |
| Only layers with the top below (<=) the groundwater level    | The layer must lie entirely below the groundwater level. |

The comparison uses the highest measured groundwater level, or the highest water level where no groundwater measurement exists.

{% hint style="info" %}
When the groundwater level is taken into account, a layer can only fulfil the layer classification if the data of the object contains information about the groundwater level.
{% endhint %}

### New layer query

To create a new layer query definition choose the **System** tab and the method " ![New layer query](/files/IJNouRjmW6Z2ywgDTXRP) **New layer query**":

Layer query definitions are tied to object types since the conditions that the data field contents describe are particular to the object type structure. Hence the first choice tobe made is for which object type the query definition shall be defined.

For the graphical presentation of the query results in borehole columns the fill pattern signatures must be defined. This can be a different fill pattern file than the one normally used for the borehole logs (e.g. one specially created for this purpose).

***Note:*** *Once the object type and fill pattern file have been defined for a query they cannot be changed!*

After confirming with **OK** the folder must be selected and a file name given. The new query file will be shown in the GeoDin object manager and if necessary the folder will be automatically added to the search path list.

The editor fort he layer query definition is also started automatically for editing.

### Delete layer query

To delete a layer query definition file use the method "**Delete layer query"**:

If a layer query definition is already running this method cannot be used.

After a check the appriopriate file will be deleted.

In a network environment with password protected GeoDin System tab it is impossible to delete layer query files from the default folder QUERYDEF (except by using the correct password). Therefore this method is only shown when working on self-created layer query files.

### Layer packets

Here you can manage the layer packages of the layer's query definition. In most of the cases duplicating a layer package (with a later change of name and the condition) makes it easier to set the complex properties.

Where it is possible to define and edit any number of elements, they are displayed with their names in a list. This can be for example series of a data sequences, columns of a report element, lists of layout file names etc. Simultaneously these entries appear in the tree view of the object properties in the selected order. To add, remove and rearrange entries of the list on the right side the following icons are available:

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry.

The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

### Layer packet

By setting layer packages and executing a generalisation afterwards, the following questions can be answered:

1. summary of single layers to layer packages and removing intermediate layers with low thicknesses by given criteria
2. search for layer packages with given layer thickness

**Generalisation**

After setting the classifications of the layers for the search for fine sand, coarse sand and clay these layers consisting of fine and coarse sand can be summarised to a new layer "sand" by the definition of a new layer package. There will be a new layer directory with depth intervals differing from the original layer directory. In addition some intermediate layers with low thicknesses of clay can be removed if they are not necessarily needed. It is possible to set detailed conditions for removing these layers.

**Search for layer packages**

The search for layers or layer packages with a given minimum layer thickness is useful for exploration reasons to identify the drillings, which fulfil certain minimum conditions of the wanted material.

At first a layer package is defined by a unique name and a list of ID's of layer classifications. The list in the lower section of the dialogue field gives an overview of the available layer classifications. You can sort the list on names or ID's by clicking on the column header. A layer package can be defined by a single ID of a layer classification, e.g. to execute a generalisation by setting another exclusion of intermediate layers.

### Layer packet sequence

Here you can manage the layer package sequences of the definition of the layer query. The specification of complex properties is often easier if you duplicate a layer package sequence (with a latter change of name and condition).

A sequence is built from the layer packages already defined, for example to look for stratigraphic horizon A directly above stratigraphic horizon B. Mark the layer package in the lower list and add it to the sequence with the `<plus>` button. Adding an empty entry determines that other layer packages, not specified in the sequence, are allowed to lie in between - an indirect sequence. Without the empty entry the packages must follow each other directly.

The layer package sequences to be analysed can be restricted by their position relative to the groundwater level:

| Option                                                                      | Effect                                                   |
| --------------------------------------------------------------------------- | -------------------------------------------------------- |
| Arbitrary                                                                   | No restriction relative to the groundwater level.        |
| Only sequences with the bottom above (>=) the groundwater level             | The whole sequence must lie above the groundwater level. |
| Only sequences with the top below (<=) the groundwater level                | The whole sequence must lie below the groundwater level. |
| Only sequences whose top is above and bottom is below the groundwater level | The sequence must straddle the groundwater level.        |

The comparison uses the highest measured groundwater level, or the highest water level where no groundwater measurement exists. A layer can only fulfil the condition if the data of the object contains information about the groundwater level.

### Managing layer package sequences

Where it is possible to define and edit any number of elements, they are displayed with their names in a list. This can be for example series of a data sequences, columns of a report element, lists of layout file names etc. Simultaneously these entries appear in the tree view of the object properties in the selected order. To add, remove and rearrange entries of the list on the right side the following icons are available:

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry.

The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

### Processing options

The definitions above are the building blocks. The processing options decide what is actually executed with the method **"Data checks and calculations"**: a classification, a generalisation, a layer package sequence search, or a calculation.

#### Classification

A classification is a group of layer classifications that stand in a logical context and are carried out for all layers in one step. Normally the purpose of a classification is to calculate one unambiguous layer classification for each queried layer, although this is not obligatory.

Name the classification in a unique way and specify the numbers of the layer classifications it contains. Enter the number `0` if all layer classifications of the current layer query definition are to be used in this classification.

#### Generalisation

A generalisation is a group of layer packages that stand in a logical context and are carried out for all layers in one step. This can be the search for a single concrete layer package, or a list of layer packages for the purpose of generalising layers.

Name the generalisation in a unique way and specify the numbers of the layer packages it contains. Enter the number `0` if all layer packages of the current layer query definition are to be used in this generalisation.

#### Calculating a characteristic value for a borehole

A calculation returns one numeric value for each selected borehole. To obtain the sum of the thicknesses of all sand layers in a borehole, for example:

1. Define a single condition "search for code S in data field petrography".
2. Define a layer classification "Sand" based on that single condition.
3. Define a calculation "sum of the thicknesses of Sand", select the option -layer classification- and select the layer classification "Sand" in the selection box.
4. Enter the formula `$%THICKNSS@SUM$` in the input field *"calculation formula"*.

Execute the calculation for a query or group of boreholes with the method [Data checks and calculations](/data-analysis/data-checks-and-validations). The results are stored in the database for each borehole.

#### Geothermal calculation

A special procedure is available for geothermal parameters. It calculates a parameter for each layer on the basis of a classification and visualises it in the borehole log with the help of a legend.

Give the calculation a name and select the classification that serves as the calculation base. Each of the three input fields for the calculation formula accepts an arbitrary mathematical expression. Variable identifiers in dollar signs refer either to the parameters declared for a layer classification (see [Calculated value and parameters](#calculated-value-and-parameters)) or to values entered manually during the calculation. Values that are only known at run time must be defined as input parameters.

***

## Reference: Additional Query Options

### Search position (code hierarchy)

When using structured dictionaries (e.g. SEP 3) that contain hierarchical code descriptions, the search can optionally be restricted to a specific position in the hierarchy:

**A) Arbitrary** - Searches the entire data field regardless of hierarchy level; the code is found wherever it appears.

**B) Search only in main level** - Searches only at the level of main codes; attribute (descriptor) codes of the main level are not matched.

**C) Only search in attributes of the main level** - Searches only the attributes of the main codes, not the main codes themselves or deeper levels.

**Example:** Searching for code `U` in the data field `mS(u2,gs2,h2,U(t2,fs,h(sf),wl))`:

* Option A finds `U` in both `U(t)` and `mS(u2,...,U(...))`.
* Option B finds `U` only where it is a main code (first case).
* Option C finds `U` only where it is an attribute of a main code (second case).

### Structural level (layer packages and sequences)

When searching for layer packages or layer package sequences, an optional level restriction can be applied to limit results to a specific position in the borehole. For example, entering level number `1` restricts the search to the topmost matching package or sequence in the borehole. Leave the field empty to search all levels.

### Profile type

Used in soil science workflows to define and search for specific profile types - characteristic sequences of layer packages. Define a unique name for the profile type and specify whether it targets a single or multi-layer package. Enter `0` in the layer package count field to include all layer packages defined in the current layer query definition.

### Multiclassifications export

Layer query results that use multiple classifications can be exported as comma-separated files. The export structure is:

```
Borehole name, X-Coordinate, Y-Coordinate, Z, Classification1, ..., Classification n
```

Select the layer query and the multiple classification to export. If versioned borehole log descriptions are in use, select the relevant log version (the default uses the first borehole log).


# Complex Layer Queries

Complex layer queries classify layers by querying several layer characteristics at once, building on the single-characteristic case. They are documented together with the rest of the layer-query workflow so the shared concepts stay in one place.

Shared reference content for this area lives in [Layer Queries](/data-analysis/layer-queries).


# Formula Basics

Formulas let GeoDin compute the value of a data field from values that already exist in the data set. This page is the reference for the formula system: how a formula is defined (its name, target, condition and options), how to add a formula to an existing data type, and the full formula syntax - mathematical operators, conditions, special-case constructions, object-type and EGIS formulas, and the alternative SQL command.

## General formulas

Formulas are for the calculations of data fields based on already existing values in the data set. The formulas defined at a data type will be calculated automatically as long as they are marked with "Active". The calculation is done when you add, change or delete details in the dataset or when you add or refresh datasets, e.g. by using the -Import- method of the GeoDin-database.

Usually formulas are defined via the system-configuration of the data type and will be calculated automatically. Additionally the function [Calculation](/data-analysis/data-checks-and-validations) is available during the registration of the measurements to enter a formula manually or to execute it.

Execution of the active formulas is done in order of their data type definitions. You should keep that in mind when using interdependent formulas.

Each formula is defined by a unique name and properties, which define the calculation mode.

**Name**

The name entitles the formula, it should be significant for a later choice.

**Target**

In any case the target is a field of the current data type. Only parameters, which are defined in the data type, can be used as a target in the formula.

**Triggering parameter**

If a triggering parameter is set, the formula is only executed if the change in the data set is made to that parameter. The definition of a triggering parameter thus enables the mutual calculation of different data fields.

**Example:**

Calculation Scenario:

(1) Field 3 is calculated from field 1 and field 2, i.e. the target field of the formula is field 3.

(2) If the content of field 3 is changed, the value of field 2 shall be adjusted.

The goal of (2) cannot be realized, since the formula in (1) would immediately overwrite field 3. If field 3 is defined in another formula as the triggering parameter and field 2 as the target parameter, (2) is realized.

The evaluation of a formula with triggering parameters takes place during data entry (input grid or entry screen), that is, only entries made there trigger the formula. A formula with a triggering parameter is therefore only effective in the editor.

**Condition**

The condition is a logic term giving either back TRUE or FALSE. A formula having a condition is only executed if the calculation of the condition gives back a TRUE.

A condition is created with the same syntax as it is done with the formula. It can be built by using parameters of the same datatype as well as by using master data fields.

**Formula**

In normal cases the formula is a term leading to a calculation result. It can access parameters of the current datatype as well as contents of master data fields and use links from other datatypes. There is a selection menu providing all options for building a formula.

**Options**

1. active formula

The calculation is executed when changing the dataset. Without this option the formula won't be executed.

1. overwrite a target

Even if there is an entry in the target field this will be overwritten with the result of the calculation. If this option is inactive only empty fields will be filled.

1. result 0, if all values are below the limit of determination

In certain cases a measured value will lie below the limit of determination for a particular measuring device. This means that although the value is not accurate, it is nevertheless present and could be used in a summation of several parameters. Normally a value between 0 and the limit of determination is used for such calculations, but in some situations the calculated value by summation, can be greater than the limit of determination of individual parameter values, which would be false. This option enables you to set the sum to the minimum or maximum detection limit, or to 0 if all parameter values are beneath the limit of determination and no special settings with "@B" exist.

1. Macro

For complex handling of text formulas with OR constructs or %COND.

1. text exchange (no calculation)

The text, resulting by processing the formula, is entered in the target field, this means that the used variables are going to be replaced by the values of the current dataset without performing another calculation. This allows the creation of a formatted text from the datasets or the master data. The condition for the successful use of such a formula is a alphanumeric formatting of the target field (type: C).

**Operation**

An operation can be arranged in case of using the formula. This operation is to copy the current dataset into another data type. The operation can be selected, after that target data type is adjusted. The data type must be of the same examination type. In combination with the conditional execution of formulas some procedures can be set up matching a recording.

**Execute**

* if all parameters are defined

If this option is active and the formula, e.g. sum parameter, contains several field names the calculation result is only written if there are entries for all used fields. Otherwise the partly existing or partly filled fields are used for the calculation.

* if last valid formula in a block of the same row

Several formulas can be defined for one and the same target parameter. This option causes the last mentioned valid formula is going to be executed. Formulas listed before won't be executed and cannot affect each other.

* if the statement of the condition check has changed

A condition can be set for the execution of the formula. With this option you can determine the formula to be executed if the evaluation of the condition changes its value.

**Example:**

If the condition is $NA$>2 and the value in NA equals 1 the value can be changed as often as desired. The formula won't be executed as long as the value lies below 2.

### Definition of formulas

A formula is defined as a string of characters (similar to a text macro definition) and contains mathematical operators for calculating a result.

For example: $DAT.PAR1$ \* 100

The characters inside the $-signs relate to a GeoDin data field. The following operators can be used:

***

\+ Addition - Subtraction \* Multiplication / Division SQR (x) Square of x SQRT (x) Square root of x LN (x) Natural logarithm of x EXP (x) Potency of x (e to the power of x) SIN (x) Sinus of x COS (x) Cosinus of x TAN (x) Tangent of X ARCTAN (x) Arctangent of X COTAN (x) Cotangent of X ABS (x) Absolute value of X

\+ Addition - Subtraction \* Multiplication / Division SQR (x) Square of x SQRT (x) Square root of x LN (x) Natural logarithm of x EXP (x) Potency of x (e to the power of x) SIN (x) Sinus of x COS (x) Cosinus of x TAN (x) Tangent of X ARCTAN (x) Arctangent of X COTAN (x) Cotangent of X ABS (x) Absolute value of X

***

(x) stands for the table column of GeoDin (e.g. $DAT:PAR1$)

Empty spaces can be contained in the formulas. Fixed number values (100 in the example above), can be entered directly in the formula.

## Adding a formula to an existing data type

Formulas can be added to a data type at any time - even after measurement data already exists in the database. The following steps cover the end-to-end process:

{% stepper %}
{% step %}

#### Step 1: Add a new parameter to the data type (system configuration)

In the GeoDin system configuration (System > Data Types), open the relevant data type group and add the new parameter that will serve as the formula target. Save the system configuration.
{% endstep %}

{% step %}

#### Step 2: Add the parameter to the database

Open the **Data Type Manager** at the database level. Select the data type, click **Edit**, and add the new parameter. Click **Create** to write the updated table structure to the database.

{% hint style="info" %}
Both the system configuration and the database must be updated. Adding the parameter to the system only does not make it available in the database tables.
{% endhint %}
{% endstep %}

{% step %}

#### Step 3: Define the formula

Still in the system configuration, open the data type and add a formula:

* Set the **Target** to the new parameter.
* Build the formula expression by dragging macro names (field references such as `$DAT.PAR1$`) from the selection list into the formula field.
* Mark the formula as **Active**.
* Save.
  {% endstep %}

{% step %}

#### Step 4: Apply the formula to existing records

Active formulas run automatically on new and updated records, but **do not run retroactively on existing data**. To apply the formula to all existing records:

1. Open the measurement editor for any object with existing records of this data type.
2. Click the **Calculate** button (German: *Berechnen*, the calculator icon in the right toolbar).
3. In the calculation dialog, select the active formula from the list.
4. Confirm. GeoDin processes all records in the current dataset and writes the calculated values.

{% hint style="warning" %}
Formulas defined as active are calculated automatically on new and updated records, but do **not** run retroactively on existing records. Always use the **Calculate** button after adding a new formula to populate historical data.
{% endhint %}
{% endstep %}

{% step %}

#### Step 5: Single-use inline formulas in the measurement editor

The measurement editor also accepts a one-off formula entered directly in the formula bar - without saving it to the system configuration. This is useful for ad-hoc calculations during a session.

Note: an inline formula **cannot target a field that is already assigned as the target of an active system formula**. If a conflict exists, the active system formula takes precedence and the inline formula will not be executed on that field.
{% endstep %}
{% endstepper %}

***

## Reference: Conditions and special syntax

**Use of conditions**

In addition to the mathematical operators, special syntax constructions can be used to take a large number of special cases into consideration. For a formula, a condition can be defined in which the formula is executed. A condition is an expression which has two possible results: TRUE or FALSE. Several expressions can be combined using the logical operators AND and OR. The definition of the data type abbreviation is always necessary (e.g.: $WAS:NA$).

In addition to the mathematical operators, special syntax constructions can be used to take a large number of special cases into consideration. For a formula, a condition can be defined in which the formula is executed. A condition is an expression which has two possible results: TRUE or FALSE. Several expressions can be combined using the logical operators AND and OR. The definition of the data type abbreviation is always necessary (e.g.: $WAS:NA$).

***Note:***

*The formula can be entered directly in the measurement editor after clicking the button* *or on the system tab under Data types-> Data type settings->Formulas* ([General formulas](/data-analysis/formula-basics)).

**Example for simple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated if the parameter MG has a value of 3 or higher.

**Example for multiple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$<10

*Formula:* $WAS:NA$/2

The target parameter is calculated, if both the parameter MG has a value greater than three and the parameter CA has a value of less than 10.

**Conditions for changing values**

By using the formatting @O the original value of a data record BEFORE the last change can be recreated in the measurement editor. Hence checking for differences is possible.

**Example:**

*Condition:* $WAS:PAR1$ - $WAS:PAR1\@O$ >10

The condition is true, when the value of PAR1 in the cell is more than ten times the previously entered value.

**Further condition examples**

In a condition, the NULL operator can be used. It defines whether a parameter has a value.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$=NULL

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated by taking half the value of the parameter NA, if the value of the parameter MG exceeds 3 and the parameter CA is empty.

If strings are used in a condition, the text has to be included in inverted (or high) commas. Missing inverted commas and mis-spelling are interpreted as non-equal. The spelling of the condition is case sensitive.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $BEARBEIT$='Müller'

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated as half of the parameter NA, if the author of the data record has the name Müller.

### Using special rules

Additionally to the mathematical operators special syntax constructions can be used for the usage of values from the GeoDin tables to take into consideration numerous special cases.

**Special cases in formula syntaxDetection Limits**

**Example:** $WAS:BENZEN\@B(0,5)$+$WAS:TOLUEN\@B(0,5)$+$WAS:XYLEN\@B(0,5)$

In the case above, where values for individual parameters of -5 or -1 are found, the sum calculation uses half of these values.

**Default values**

For certain calculations it may be necessary to work with predefined settings or defaults. When a parameter is either not present or has not been analyzed in a data set, a standard value can be assumed and used for calculation. This is realized by using the construct @D(x) inside the $ signs, whereby x is the predefined default value used when no value is present in the field.

**Example:** VALUE=$ORGANIC\@D(10)$/$CLAY\@D(25)

The calculated value has the quotients from the organic substances and clay in a soil sample. If no values are present in these fields the default values are used.

**Mean Value**

A mean value is calculated by using the symbols "@M" inside the dollar symbols of a formula. The individual values are separated by ";" and only filled fields can be used.

**Example:** UWDRYMIN=$UWDRYMIN1;UWDRYMIN2;UWDRYMIN3\@M$

The result is an average of UWDRYMIN1 to UWDRYMIN3.

**Using a number from a dictionary**

If a dictionary is used, which produces a number when entering a code, this can be used for a calculation. By using the "@R" sign a recode is carried out.

**Example**: CU=($CONE\@R$)/SQRT($PEN1;PEN2;PEN3;PEN4;PEN5\@M$)

First of all the entry for CONE is replaced by the value from the dictionary. For the values P1 to P5 an average is taken from which the square root is calculated. The value for CONE is then divided by this value.

**Using values from another data type**

Values from one data type can be used in calculating values in other data types. To do this, the code of a data type is followed by a colon. The relationship to a data record in another data type is defined by time. To compare values the date is used in a number of different ways:

***

\[=SMPDATE] or no definition The date must be the same \[<=SMPDATE] The date can be the same or less than \[\<SMPDATE] The date must be less than \[>=SMPDATE] The date can be the same or more than \[\<SMPDATE] The date must be more than

***

**Example**: WASSPNN=$ROK:ROKNN\[<=SMPDATE]$-$WASSPROK$

The water level expressed in meters above sea level is calculated by using a value from the data type ROK (top of piezometer). The value used can be from the same day or the next most recent value. From this value the current level is subtracted.

**Using values from measurement point general data**

It is possible to incorporate general data fields in formula for measurement points. The relationship is defined as follows: $Tablel.Datafield$.

**Example:** $ASBFILTR.INVMBEG$-$WST:WASSPROK$

The water level in the destination WASSPNN calculated using the measurement point elevation ($ASBFILTR.INVMBEG$) and the measured water level from the top of the pipe $WST:WASSPROK$ in the data type.

**Ionic Balance**

By using the symbol %IONB the ionic balance can be calculated and used as result.

**Example**: IONICBALA=$%IONB$

***Attention:*** *For a correct calculation the fields with the names, which are expected by the calculation, must exist and be in use (see* [*Ion balance*](/data-analysis/geotechnical-analyses)*).*

**Automatic numbering**

To automatically assign consecutive numbers to a parameter, the expression $%FIRSTID:PARAMETER$ can be used. The numbering for the corresponding parameter always starts at 1.

**Example:** $%FIRSTID:TESTNO$

The test number is automatically assigned a consecutive number in the TESTNO field for each record. The first record is given the number 1.

**Further Symbols**

$%PI$ produces the number Pi

$%USERNAME$ can use a (text-)formula, to create the name of the current database user

$%NOW$ results the current date and time

**Object reference**

$%OBJECTID$ Access to the LOCID for general data tables if available

$%PRJID$ Access to the PRJ\_ID for general data tables if available

**Text exchange - Formulas to create formatted text**

By activating the control box *\[Text exchange (no calculation)]* a calculation is prevented when carrying out the formula. This option is only useful, where a string parameter as result is required. The result is that the parameters are replaced by a string of actual values, whereby no calculation is carried out.

**Example:** $LOCREG.SHORTNAME$ / $SMPDATE$

In the selected target field a combination of the object short description, an oblique and the date is created, for example "Brg 12 / 12.10.2004".

**Text exchange with Macro**

In addition to the text exchange, format specifications can be resolved.

Example: $LOCREG.SHORTNAME$ from $<SMPDATE@dd.mmmm.yyyy>$

***Attention:*** *Only parameters of the same table (data type) or object type parameters can be evaluated. The parameter of the current table must be specified here without the table abbreviation. See example.*

## Reference: Formula list management

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry. The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

## Reference: Object-type and EGIS formulas

This chapter describes some formulas that can be used/created in GOTE for a general data table of the object type.

**Coordinate transformation**

This formula makes it possible to transform a coordinate specification and write it into a target field.

Parameters of the formula:

Method = TRANSFORMCOORD (fixed identifier of the EGIS method)

Result = part of the coordinates

X = X value of the input coordinate

Y = Y value of the input coordinate

EPSG = EPSGCode of the input coordinate

DESTEPSG = 3068

**Example:**

This formula transforms the X value of the GeoDin object into the coordinate system 3068 (Soldner Berlin) and writes the transformed X value into the target field of the formula.

*$EGIS(METHOD=TRANSFORMCOORD Result=X X=XCOORD Y=YCOORD EPSG=KSYS DESTEPSG=3068)$*

### Object type formulas

Object types can contain formulas for master data fields. These formulas are then executed during editing with the data entry and maintenance method.

The following formulas bundle a number of functions with which geodata can be spatially processed.

The syntax/grammar of these formulas can be briefly summarised as follows.

1. the formula begins with $%EGIS
2. in simple brackets, the various parameters of the formula can be configured. The parameters are permitted as key-value pairs with spaces.
3. the formula ends with $
4. a fixed parameter is the "Method" parameter. The value of this parameter decides which method of formula execution is to be used.

**Structure example of a formula:**

*$%EGIS(METHOD=XYZ Param1=Value1 Param2=Value2 ... )$*

**Conversion of coordinatesExample:**

$%EGIS(METHOD=TRANSFORMCOORD Result=X X=XCOORD Y=YCOORD EPSG=EPSG DESTEPSG=3068)$

**Method**

TRANSFORMCOORD

**Result**

Which calculation result is to be transferred to the target of the formula (in the example shown, the converted X-value).

**X**

Specifies which data field is to be used as input value for X (***example:*** XCOORD).

**Y**

Specifies which data field is to be used as input value for Y (***example:*** YCOORD).

**EPSG**

Indicates which data field contains the underlying coordinate system (***example:*** EPSG).

**DESTEPSG**

Specifies the target coordinate system to be transformed into (***example:*** 3068 Soldner Berlin).

**Derive values from a GIS fileExample:**

$EGIS(METHOD=GETPOINTVALUE X=XCOORD Y=YCOORD SOURCE=GROUNDWATER EPSG=EPSG)$

**Method**

GETPOINTVALUE

This method can be used to read data from a GIS file (e.g. Shape, GeoJSON) using a pair of coordinates.

For this purpose, the first object is read at the transferred coordinates and the desired value is returned from the configured attribute spate of the GIS data set.

In this way, e.g. names of districts, planning areas, TK numbers etc. can be automatically transferred to the GeoDin general data.

**X**

Indicates which data field contains the X-value (***example:*** XCOORD).

**Y**

Indicates which data field contains the Y-value (***example:*** YCOORD).

**EPSG**

Indicates which data field contains the underlying coordinate system (***example:*** EPSG).

**SOURCE**

A reference to an additional section from the GeoDin database connection settings configuration can be linked here.

In the database settings, then define the following key with the values from SOURCE.

GROUNDWATER= Path to a Shape or GeoJSON

GROUNDWATERFIELD= Name of the attribute column in the shape or GeoJSON

**Example:**

GROUNDWATER=C:\GISData\GW-Model\gw2020.shp

GROUNDWATERFIELD=MAXGW

***Note:*** *If no additional reference is specified under SOURCE, GeoDin automatically tries to find a GeoJSON file (\*.geojson) with the name of the target field of the formula in the Syslib directory of the GeoDin installation. The attribute field from which the data is returned to the database must have the same name in the GeoJSON as the target field of the formula.*

## Reference: Alternative SQL command

With this method of defining a system query for the GeoDin object manager or object frame query within a layout, you can formulate any SQL statement for obtaining data directly. If you are familiar with SQL, this method is significantly faster than formulating the SQL statement step by step via the individual menus.

**Example:**

SELECT \* FROM GeoDin\_LOC\_LOCREG

The SQL statement can contain Macro variables which are replaced automatically by GeoDin while the query is executed. The purpose of the query is the determining factor for this.

**Object frame query in a layout**

$PRJID$ is replaced with the current project ID of the project connected to the layout

$LOCID$ is replaced with the current object ID of the object connected to the layout

$INVID$ is replaced with the current measurement point ID of the object connected to the layout

In a layout with a single-object frame, extracting a dataset from the table GeoDin\_LOC\_LOCREG could use the following SQL statement:

SELECT \* FROM GeoDin\_LOC\_LOCREG WHERE (PRJ\_ID='$PRJID$') AND (LOCID=$LOCID$)

When a new object is linked to the layout (for example by changing the object while the layout overview is open), the dataset for this object is selected from the database table. In a variable text element with the data source "Onject frame query" all data fields for this object can be accessed. Please note that the above example is for illustrating the possibilities. It would not be useful in practical application, as the macro similar to $LONGNAME$ provides access to the data fields of this table even without an object frame query. Normally, object frame queries are used for extracting far more complex result data sets.

As in an SQL statement the names of tables and database views can be used, these names should be included in the list of **Tables**. This is necessary to ensure the necessary database schema extension of the names.

In this type of definition of a system query for the GeoDin object manager or object framework query within a layout, you can formulate any SQL instruction to obtain data. Example:

SELECT \* FROM GeoDin\_LOC\_LOCREG

The SQL statement can contain Macro variables which are replaced automatically by GeoDin before the query is executed. The purpose of the query is therefore paramount.

System query for theGeoDinobject manager

The macro variables are replaced with the information of the parent branch to achieve an appropriate restriction of the queried objects.

$PRJID$ is replaced with the current project ID

$LOCID$ is replaced with the current object ID

$INVID$ is replaced with the current measurement point ID

The creation of a system query depends on its use and the placement of the query in the GeoDin object manager. Primarily it depends on the definition of the resulting objects (Objekt oder Messpunkt ) as to which data fields are set at the top in the field list of the SELECT command.

Object : PRJ\_ID,LOCID; within a project only LOCID

Measurementpoint : INVID

The field list of the SELECT command can and should contain further datafields, which generate the display names in the object manager.

The WHERE condition must contain restrictions on the parent object in queries below projects, objects and measurement points, otherwise objects could appear in the results that do not conform to the object manager structure (e.g. all objects of a database underneath a project node).

Example queries: Show also possible combinations of display fields for the object manager.

**Queries at the level "Database" and "Database queries"**

Objects:

select PRJ\_ID,LOCID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG order by LONGNAME

Measurement points:

select INVID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG order by LONGNAME

**Queries at the level "Project" und "Project queries" with necessary restrictions on the PRJ\_ID**

Objects:

select LOCID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG WHERE PRJ\_ID='$PRJID$' order by LONGNAME

Measurement points:

select INVID,LONGNAME & " (", ZCOORDE, "m)" AS F1 from GeoDin\_LOC\_LOCREG WHERE PRJ\_ID='$PRJID$' order by LONGNAME

**Queries at the level "Object" or "Measurement point" with necessary restrictions on the PRJ\_ID and LOCID and where necessary on the INVID**

select INVID,INVNAME from GeoDin\_LOC\_PRBREG WHERE (PRJ\_ID='$PRJID$' ) and (LOCID=$LOCID$) order by INVNAME

**Tables**

Because names of tables/views are used in the SQL definition, the names should also be included in the list **Tables**. Only this way is a name protected for additional schema-editing work.


# Formulas in Measurement Values

This page covers how GeoDin organizes measurement values, how the **Calculation** function recalculates a measurement table using predefined or single formulas, the full formula and condition syntax with its special-case constructions, and the import/export, diagram, and table-format options of the measurement editor.

## Measurement values

GeoDin organizes objects spatially. These are point objects with or without a depth value. At these objects measurements can be made. In order to use GeoDin to collect such data, measurement points need to be defined in the general data. Usually filters and sample intervals are used as measurement points. Also the object itself can be defined as a measurement point. In the GeoDin object manager measurement points are shown by three blue spheres.

GeoDin Demo Project

Object

All objects

General borehole log

Measurement point

filters

upper piezometer: (4.3-6.3m)

lower piezometer (7.8-8.7m)

samples

BH01: (1-7m)

BH01: (4-5m)

### Terminology

The following hierarchy is used in the measurement point organization to relate a single measured value to a measurement object of the measurement point. There are the following different types:

**Measurement point type**

The measurement point type defines, what type of object it is. These can be either with or without a vertical component. An example of a measurement point with a vertical component is a borehole. A borehole can be the measurement point itself (e.g. where the whole length is sampled) or other measurement point types can be associated with it (discrete samples at various intervals over the length of the borehole). Examples of point samples (i.e. without a vertical component) are surface water or climate measuring stations.

**Data type**

Chemical investigations can be done for several objects for each type of measurement point. For these combinations data types are defined. For example at a groundwater well the water quality can be investigated or flow rates measured. For each case there is a data type. Each data type can be assigned to several measurement point types. So the data type "groundwater composition" can be entered for a groundwater measurement point as well as for a well. The results are combined in a data type table, although the data for each measurement point are distinct from one another.

**Chemical group**

Because the number of individual parameters within a data type can reach large amounts, the parameters are subdivided into chemical groups to allow a better overview. Each group is distinguished by a similarity in the chemical parameters or descriptive characteristics and may have up to 20 parameters.

**Parameter**

A parameter is an individual measurement described by a name, a field identification and a unit

**Query**

Queries are used within projects or databases to interrogate data. They define the amount and type of data from which the results are derived.

### Special values

GeoDin organizes measurement values as numerical entries. Hence values below a detection limit cannot be saved as the character „<". In such cases a negative detection limit is entered (e.g. "-1"). These values are ignored by statistical analyses. If the detection limit is unknown (e.g. old data) the value"-88" is used. If the value is not detectable then"-99" should be entered:

| Entry | Description                                             |
| ----- | ------------------------------------------------------- |
| -XX   | beneath detection limit (XX = detection limit)          |
| -88   | beneath detection limit (detection limit value unknown) |
| -99   | not detectable                                          |

## Formula

As an alternative to presenting the measurement values in grid form you may view the current data set in a mask. At the top of the mask the general sample data (Name, Date, Time) and the group are displayed. Below the individual parameters for the current data set are listed in rows. For each parameter the name, measurement value, unit, detection limit and investigation method are shown. Name and unit are not editable.\
\
The contents of a data set can be saved as a simple text file (which can be subsequently loaded). By pressing the **OK** button the mask contents are saved to the data set - by pressing **Cancel** the contents are discarded. Optionally the short field name can be used for the parameter column.

## Calculation

This function allows you to recalculate values for entire table in the measurement editor. You have two options:

**-Available formulae-**

1. Execute one or more formulae from the predefined [Formulas](/data-analysis/formula-basics)of the data type, found in the system configuration.
2. If you check the box \[only activate formulae] you will only see formulae which are set to active in the [General formulas](/data-analysis/formula-basics) in the system configuration. Note: These formulae will always be executed for the selected data records when using the Calculate function. This is because an update of a data record triggers the calculation of active formulas.
3. Formulae are marked with a red symbol instead of a black one if the target field of the formulas is always meant to be overwritten.
4. Formulae can be sorted by clicking on the actual column title, e. g. name or target field. ***Note:*** *the execution order of the selected formulae will be the same as it has been set in the data type settings of the system configuration!* \*\*This is important, especially for interdependent formulae.

**-Execute single formulas-**

1. To execute a single formula you may use and change one of the predefined formulas from the [General formulas](/data-analysis/formula-basics) of the system configuration or you define a new formula.
2. To accept a formula just mark it by clicking on the name (you do not have to check the box for this action) and click the button **Accept available marked forumla**. The fields *"Target field:", "Condition:"* and *"Formula:"* are automatically filled and can be edited.
3. Alternatively you can edit these fields without using a predefined formula but creating a new formula, which is applied to the target field.

*\[\[Overwrite target]]{.underline}*

For the following calculation you can set the configuration to overwrite existing values. By default the calculation won't overwrite existing fields but calculate results for those fields without values for the corresponding target field.

*\[\[All parameters have values]]{.underline}*

Furthermore you can specify only to execute the calculation if all parameters, which are used in the formula, contain values for the calculation. Therefore the calculation won't be executed for empty data fields (if they are used in the formula).

***-All visible data records-***

Choose here whether the calculation is done for all data records listed in the measurement data editor.

***-All selected data records-***

Choose this option to execute the calculation only for the data records (rows) selected in the measurement data editor.

***

## Reference: Definition of formulas

A formula is defined as a string of characters (similar to a text macro definition) and contains mathematical operators for calculating a result.

For example: $DAT.PAR1$ \* 100

The characters inside the $-signs relate to a GeoDin data field. The following operators can be used:

(x) stands for the table column of GeoDin (e.g. $DAT:PAR1$)

Empty spaces can be contained in the formulas. Fixed number values (100 in the example above), can be entered directly in the formula.

### Use of conditions

***Note:***

*The formula can be entered directly in the measurement editor after clicking the button* *or on the system tab under Data types-> Data type settings->Formulas* ([General formulas](/data-analysis/formula-basics)).

**Example for simple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated if the parameter MG has a value of 3 or higher.

**Example for multiple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$<10

*Formula:* $WAS:NA$/2

The target parameter is calculated, if both the parameter MG has a value greater than three and the parameter CA has a value of less than 10.

**Conditions for changing values**

By using the formatting @O the original value of a data record BEFORE the last change can be recreated in the measurement editor. Hence checking for differences is possible.

**Example:**

*Condition:* $WAS:PAR1$ - $WAS:PAR1\@O$ >10

The condition is true, when the value of PAR1 in the cell is more than ten times the previously entered value.

**Further condition examples**

In a condition, the NULL operator can be used. It defines whether a parameter has a value.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$=NULL

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated by taking half the value of the parameter NA, if the value of the parameter MG exceeds 3 and the parameter CA is empty.

If strings are used in a condition, the text has to be included in inverted (or high) commas. Missing inverted commas and mis-spelling are interpreted as non-equal. The spelling of the condition is case sensitive.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $BEARBEIT$='Müller'

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated as half of the parameter NA, if the author of the data record has the name Müller.

### Using special rules

Additionally to the mathematical operators special syntax constructions can be used for the usage of values from the GeoDin tables to take into consideration numerous special cases.

**Special cases in formula syntaxDetection Limits**

Detection limits present a special case. These are by definition negative values (e.g. -1 for <1). If these values are used without care, false results may be produced, for example when building sums from individual parameters. To do this, a construction in the form of @B(x) within the $-signs must be used, where x is a factor with which the detection limit enters the calculation. For example a detection limit of 5 mg (entered as -5) using the factor 0.5 produces the result 2.5.

**Example:** $WAS:BENZEN\@B(0,5)$+$WAS:TOLUEN\@B(0,5)$+$WAS:XYLEN\@B(0,5)$

In the case above, where values for individual parameters of -5 or -1 are found, the sum calculation uses half of these values.

**Default values**

For certain calculations it may be necessary to work with predefined settings or defaults. When a parameter is either not present or has not been analyzed in a data set, a standard value can be assumed and used for calculation. This is realized by using the construct @D(x) inside the $ signs, whereby x is the predefined default value used when no value is present in the field.

**Example:** VALUE=$ORGANIC\@D(10)$/$CLAY\@D(25)

The calculated value has the quotients from the organic substances and clay in a soil sample. If no values are present in these fields the default values are used.

**Mean Value**

A mean value is calculated by using the symbols "@M" inside the dollar symbols of a formula. The individual values are separated by ";" and only filled fields can be used.

**Example:** UWDRYMIN=$UWDRYMIN1;UWDRYMIN2;UWDRYMIN3\@M$

The result is an average of UWDRYMIN1 to UWDRYMIN3.

**Using a number from a dictionary**

If a dictionary is used, which produces a number when entering a code, this can be used for a calculation. By using the "@R" sign a recode is carried out.

**Example**: CU=($CONE\@R$)/SQRT($PEN1;PEN2;PEN3;PEN4;PEN5\@M$)

First of all the entry for CONE is replaced by the value from the dictionary. For the values P1 to P5 an average is taken from which the square root is calculated. The value for CONE is then divided by this value.

**Using values from another data type**

Values from one data type can be used in calculating values in other data types. To do this, the code of a data type is followed by a colon. The relationship to a data record in another data type is defined by time. To compare values the date is used in a number of different ways:

| Operator                     | Meaning                               |
| ---------------------------- | ------------------------------------- |
| \[=SMPDATE] or no definition | The date must be the same             |
| \[<=SMPDATE]                 | The date can be the same or less than |
| \[\<SMPDATE]                 | The date must be less than            |
| \[>=SMPDATE]                 | The date can be the same or more than |
| \[\<SMPDATE]                 | The date must be more than            |

**Example**: WASSPNN=$ROK:ROKNN\[<=SMPDATE]$-$WASSPROK$

The water level expressed in meters above sea level is calculated by using a value from the data type ROK (top of piezometer). The value used can be from the same day or the next most recent value. From this value the current level is subtracted.

**Using values from measurement point general data**

It is possible to incorporate general data fields in formula for measurement points. The relationship is defined as follows: $Tablel.Datafield$.

**Example:** $ASBFILTR.INVMBEG$-$WST:WASSPROK$

The water level in the destination WASSPNN calculated using the measurement point elevation ($ASBFILTR.INVMBEG$) and the measured water level from the top of the pipe $WST:WASSPROK$ in the data type.

**Ionic Balance**

By using the symbol %IONB the ionic balance can be calculated and used as result.

**Example**: IONICBALA=$%IONB$

***Attention:*** *For a correct calculation the fields with the names, which are expected by the calculation, must exist and be in use (see* [*Ion balance*](/data-analysis/geotechnical-analyses)*).*

**Automatic numbering**

To automatically assign consecutive numbers to a parameter, the expression $%FIRSTID:PARAMETER$ can be used. The numbering for the corresponding parameter always starts at 1.

**Example:** $%FIRSTID:TESTNO$

The test number is automatically assigned a consecutive number in the TESTNO field for each record. The first record is given the number 1.

**Further Symbols**

$%PI$ produces the number Pi

$%USERNAME$ can use a (text-)formula, to create the name of the current database user

$%NOW$ results the current date and time

### Object reference

$%OBJECTID$ Access to the LOCID for general data tables if available

$%PRJID$ Access to the PRJ\_ID for general data tables if available

### Text exchange - Formulas to create formatted text

By activating the control box *\[Text exchange (no calculation)]* a calculation is prevented when carrying out the formula. This option is only useful, where a string parameter as result is required. The result is that the parameters are replaced by a string of actual values, whereby no calculation is carried out.

**Example:** $LOCREG.SHORTNAME$ / $SMPDATE$

In the selected target field a combination of the object short description, an oblique and the date is created, for example "Brg 12 / 12.10.2004".

**Text exchange with Macro**

In addition to the text exchange, format specifications can be resolved.

Example: $LOCREG.SHORTNAME$ from $<SMPDATE@dd.mmmm.yyyy>$

***Attention:*** *Only parameters of the same table (data type) or object type parameters can be evaluated. The parameter of the current table must be specified here without the table abbreviation. See example.*

## Reference: Import/Export

In the GeoDin object manager at the level of a measurement point or a group of measurements the methods **"Export measurement values"** and ![import measurement values](/files/HwXA4uuDjHh6Owf9L6Jj) **"Import measurement values"** can be selected.

By starting this method a dialogue appears where all import or export settings can be made:

[Import](/importing-data/import)

[Export](/exporting-data/export)

### Diagrams and analysis

If the checkbox *\[diagrams and analysis]* is activated, additional information for the current data pool is shown below the data entry grid.

**Column chart**

The values of the current column are graphically represented in the order that the data sets are displayed in the data entry grid.

To represent a particular parameter in the chart (to fill the chart) one data set of the appropriate column has to be selected (e.g. a data record of the column CHLORIDE). The current data record will be displayed as a filled rectangle in the chart. With a click on the rectangle (filled or not filled) it is possible to navigate to the data record in the data entry grid.

**Row chart**

Graphical representation of the values of the current row (data record) in the order that the columns are displayed in the data entry grid. To navigate to the column in the data entry grid click on the bar of the desired parameter in the row chart.

**Plausibility control**

This tab displays the plausibilities analysis of the currently checked row. A [Plausibility](/data-analysis/data-checks-and-validations) can be defined within the **Properties**.

**Formulae**

The last executed formulae will be displayed when a new data set is recorded. The [General formulas](/data-analysis/formula-basics) can be defined directly within the method **"Measurement data"** or within the **Properties**.

**List comparison**

The chosen list comparison of the current data record will be carried out and the result displayed. The **List group** can be created und managed within the **Properties**.

**Ionic balance**

The ionic balance will be displayed for the current data record. The [Ion balance](/data-analysis/geotechnical-analyses) is calculated and evaluated based on the DVWK 1992 recommendations.

### Format options

GeoDin supports two general arrangements of tabular data to be imported.

The format **-Table by row-** describes a table, which contains each sample in one row, the values of the parameters are stored in separate columns for each parameter.

```
NAME DATE NA MG NH3 ... Sample 1 12.07.2012 2,4 4,5 1,23 ... ... ... ... ... ... ...
```

The format **-Table by column-** describes a table, in which one measurement of one parameter builds one row. A sample can consist of a certain number of rows (as many as measured parameters) in this format. This format also allows additional information for each measured parameter to be imported and organised in GeoDin too.

```
SAMPLE DATE PARAM VALUE COMMENT Sample 1 12.07.2012 NA 2,4 verified Sample 1 12.07.2012 MG 4,5 unverified Sample 1 12.08.2012 NA 9,5 implausible ... ... ... ... ...
```

To import data from this type of table you have to first make further adjustments. At first choose the columns, which group the data records of one sample. Therefore tick the appropriate columns in the list of **"Grouping data fields"**; in the example above tick the columns SAMPLE and DATE. The result of this choice would be that the first two rows (Sample 1 from 12.07.2012) would generate one cumulative import row and the third row (Sample 2 from 12.08.2012) another.

Choose from the drop-down list "**Data field with parameter name:"** the column, which contains the parameter name or id; PARAM in the example above.

From the drop-down list "**Data field with measurement value:"** please choose the column, which contains the value of the parameter; in the example above VALUE.

GeoDin now will transform the import table to the table format -table by rows- (please see above). The preview of the import data of our example now will be displayed as follows:

```
SAMPLE DATE NA MG ...

Sample 1 12.07.2012 2,4 4,5 ... Sample 1 12.08.2012 9,5 ... ...

... ... ... ... ...
```

Please note that the information from the column COMMENT isn't lost. The import preview the cells of the measurement values are tagged at the right top corner with a red triangle. To display the additional information for the measurement value, please hold the mouse pointer over this corner. For the cell NA=2,4 the information 'COMMENT:verified' would be shown. This information can be imported using the [Additional measurement information](/workspace-and-data-management/working-with-measurement-data).

There is also a special pre-formatting for text files in the Octoware format available. There are no further adjustments necessary for this format.

Example fragment of an Octoware file:

```
OCT>12072240RE0003\10.08.2000 09:10\\\\\\\\\T2000-07949\\\\\\\1\1

EST>FI1

PPA>pH 0\\\\\7.24

PPA>LF 0\\\\\998

PPA>Temp 0\\\\\11.1
```

## Related topics

* Shared measurement/data-type reference content now lives in the measurement-data editor reference ([Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data))


# Object Type Formulas

Object types can carry their own formulas - on master-data fields and as spatial (`$%EGIS`) operations - alongside the data-type formula system they share with measurement values. This page is the reference for those object-type-level mechanics: how a general formula is defined (name, target, condition and options) with its full syntax, how data types are managed and transformed on the object type, the formula list-management controls, the object-type and EGIS spatial formulas, and the system and object-frame queries configured on an object type. Object-type installation, editing, and management are covered in [Object Types Management](/administration/object-types-management).

***

## Reference: General formulas

Formulas are for the calculations of data fields based on already existing values in the data set. The formulas defined at a data type will be calculated automatically as long as they are marked with "Active". The calculation is done when you add, change or delete details in the dataset or when you add or refresh datasets, e.g. by using the -Import- method of the GeoDin-database.

Usually formulas are defined via the system-configuration of the data type and will be calculated automatically. Additionally the function [Calculation](/data-analysis/data-checks-and-validations) is available during the registration of the measurements to enter a formula manually or to execute it.

Execution of the active formulas is done in order of their data type definitions. You should keep that in mind when using interdependent formulas.

Each formula is defined by a unique name and properties, which define the calculation mode.

**Name**

The name entitles the formula, it should be significant for a later choice.

**Target**

In any case the target is a field of the current data type. Only parameters, which are defined in the data type, can be used as a target in the formula.

**Triggering parameter**

If a triggering parameter is set, the formula is only executed if the change in the data set is made to that parameter. The definition of a triggering parameter thus enables the mutual calculation of different data fields.

**Example:**

Calculation Scenario:

(1) Field 3 is calculated from field 1 and field 2, i.e. the target field of the formula is field 3.

(2) If the content of field 3 is changed, the value of field 2 shall be adjusted.

The goal of (2) cannot be realized, since the formula in (1) would immediately overwrite field 3. If field 3 is defined in another formula as the triggering parameter and field 2 as the target parameter, (2) is realized.

The evaluation of a formula with triggering parameters takes place during data entry (input grid or entry screen), that is, only entries made there trigger the formula. A formula with a triggering parameter is therefore only effective in the editor.

**Condition**

The condition is a logic term giving either back TRUE or FALSE. A formula having a condition is only executed if the calculation of the condition gives back a TRUE.

A condition is created with the same syntax as it is done with the formula. It can be built by using parameters of the same datatype as well as by using master data fields.

**Formula**

In normal cases the formula is a term leading to a calculation result. It can access parameters of the current datatype as well as contents of master data fields and use links from other datatypes. There is a selection menu providing all options for building a formula.

**Options**

1. active formula

The calculation is executed when changing the dataset. Without this option the formula won't be executed.

1. overwrite a target

Even if there is an entry in the target field this will be overwritten with the result of the calculation. If this option is inactive only empty fields will be filled.

1. result 0, if all values are below the limit of determination
2. Macro

For complex handling of text formulas with OR constructs or %COND.

1. text exchange (no calculation)

The text, resulting by processing the formula, is entered in the target field, this means that the used variables are going to be replaced by the values of the current dataset without performing another calculation. This allows the creation of a formatted text from the datasets or the master data. The condition for the successful use of such a formula is a alphanumeric formatting of the target field (type: C).

**Operation**

An operation can be arranged in case of using the formula. This operation is to copy the current dataset into another data type. The operation can be selected, after that target data type is adjusted. The data type must be of the same examination type. In combination with the conditional execution of formulas some procedures can be set up matching a recording.

**Execute**

* if all parameters are defined

If this option is active and the formula, e.g. sum parameter, contains several field names the calculation result is only written if there are entries for all used fields. Otherwise the partly existing or partly filled fields are used for the calculation.

* if last valid formula in a block of the same row

Several formulas can be defined for one and the same target parameter. This option causes the last mentioned valid formula is going to be executed. Formulas listed before won't be executed and cannot affect each other.

* if the statement of the condition check has changed

A condition can be set for the execution of the formula. With this option you can determine the formula to be executed if the evaluation of the condition changes its value.

**Example:**

If the condition is $NA$>2 and the value in NA equals 1 the value can be changed as often as desired. The formula won't be executed as long as the value lies below 2.

### Definition of formulas

A formula is defined as a string of characters (similar to a text macro definition) and contains mathematical operators for calculating a result.

For example: $DAT.PAR1$ \* 100

The characters inside the $-signs relate to a GeoDin data field. The following operators can be used:

(x) stands for the table column of GeoDin (e.g. $DAT:PAR1$)

Empty spaces can be contained in the formulas. Fixed number values (100 in the example above), can be entered directly in the formula.

### Use of conditions

***Note:***

*The formula can be entered directly in the measurement editor after clicking the button* *or on the system tab under Data types-> Data type settings->Formulas* ([General formulas](/data-analysis/formula-basics)).

**Example for simple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated if the parameter MG has a value of 3 or higher.

**Example for multiple conditionExample:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$<10

*Formula:* $WAS:NA$/2

The target parameter is calculated, if both the parameter MG has a value greater than three and the parameter CA has a value of less than 10.

**Conditions for changing values**

By using the formatting @O the original value of a data record BEFORE the last change can be recreated in the measurement editor. Hence checking for differences is possible.

**Example:**

*Condition:* $WAS:PAR1$ - $WAS:PAR1\@O$ >10

The condition is true, when the value of PAR1 in the cell is more than ten times the previously entered value.

**Further condition examples**

In a condition, the NULL operator can be used. It defines whether a parameter has a value.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $WAS:MG$>3 AND $WAS:CA$=NULL

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated by taking half the value of the parameter NA, if the value of the parameter MG exceeds 3 and the parameter CA is empty.

If strings are used in a condition, the text has to be included in inverted (or high) commas. Missing inverted commas and mis-spelling are interpreted as non-equal. The spelling of the condition is case sensitive.

**Example:**

*Destination:* WAS:NA\_CALC

*Condition:* $BEARBEIT$='Müller'

*Formula:* $WAS:NA$/2

The target parameter NA\_CALC is calculated as half of the parameter NA, if the author of the data record has the name Müller.

### Using special rules

Additionally to the mathematical operators special syntax constructions can be used for the usage of values from the GeoDin tables to take into consideration numerous special cases.

**Special cases in formula syntaxDetection Limits**

**Example:** $WAS:BENZEN\@B(0,5)$+$WAS:TOLUEN\@B(0,5)$+$WAS:XYLEN\@B(0,5)$

In the case above, where values for individual parameters of -5 or -1 are found, the sum calculation uses half of these values.

**Default values**

For certain calculations it may be necessary to work with predefined settings or defaults. When a parameter is either not present or has not been analyzed in a data set, a standard value can be assumed and used for calculation. This is realized by using the construct @D(x) inside the $ signs, whereby x is the predefined default value used when no value is present in the field.

**Example:** VALUE=$ORGANIC\@D(10)$/$CLAY\@D(25)

The calculated value has the quotients from the organic substances and clay in a soil sample. If no values are present in these fields the default values are used.

**Mean Value**

A mean value is calculated by using the symbols "@M" inside the dollar symbols of a formula. The individual values are separated by ";" and only filled fields can be used.

**Example:** UWDRYMIN=$UWDRYMIN1;UWDRYMIN2;UWDRYMIN3\@M$

The result is an average of UWDRYMIN1 to UWDRYMIN3.

**Using a number from a dictionary**

If a dictionary is used, which produces a number when entering a code, this can be used for a calculation. By using the "@R" sign a recode is carried out.

**Example**: CU=($CONE\@R$)/SQRT($PEN1;PEN2;PEN3;PEN4;PEN5\@M$)

First of all the entry for CONE is replaced by the value from the dictionary. For the values P1 to P5 an average is taken from which the square root is calculated. The value for CONE is then divided by this value.

**Using values from another data type**

Values from one data type can be used in calculating values in other data types. To do this, the code of a data type is followed by a colon. The relationship to a data record in another data type is defined by time. To compare values the date is used in a number of different ways:

| Operator                     | Meaning                               |
| ---------------------------- | ------------------------------------- |
| \[=SMPDATE] or no definition | The date must be the same             |
| \[<=SMPDATE]                 | The date can be the same or less than |
| \[\<SMPDATE]                 | The date must be less than            |
| \[>=SMPDATE]                 | The date can be the same or more than |
| \[\<SMPDATE]                 | The date must be more than            |

**Example**: WASSPNN=$ROK:ROKNN\[<=SMPDATE]$-$WASSPROK$

The water level expressed in meters above sea level is calculated by using a value from the data type ROK (top of piezometer). The value used can be from the same day or the next most recent value. From this value the current level is subtracted.

**Using values from measurement point general data**

It is possible to incorporate general data fields in formula for measurement points. The relationship is defined as follows: $Tablel.Datafield$.

**Example:** $ASBFILTR.INVMBEG$-$WST:WASSPROK$

The water level in the destination WASSPNN calculated using the measurement point elevation ($ASBFILTR.INVMBEG$) and the measured water level from the top of the pipe $WST:WASSPROK$ in the data type.

**Ionic Balance**

By using the symbol %IONB the ionic balance can be calculated and used as result.

**Example**: IONICBALA=$%IONB$

***Attention:*** *For a correct calculation the fields with the names, which are expected by the calculation, must exist and be in use (see* [*Ion balance*](/data-analysis/geotechnical-analyses)*).*

**Automatic numbering**

To automatically assign consecutive numbers to a parameter, the expression $%FIRSTID:PARAMETER$ can be used. The numbering for the corresponding parameter always starts at 1.

**Example:** $%FIRSTID:TESTNO$

The test number is automatically assigned a consecutive number in the TESTNO field for each record. The first record is given the number 1.

**Further Symbols**

$%PI$ produces the number Pi

$%USERNAME$ can use a (text-)formula, to create the name of the current database user

$%NOW$ results the current date and time

**Object reference**

$%OBJECTID$ Access to the LOCID for general data tables if available

$%PRJID$ Access to the PRJ\_ID for general data tables if available

**Text exchange - Formulas to create formatted text**

By activating the control box *\[Text exchange (no calculation)]* a calculation is prevented when carrying out the formula. This option is only useful, where a string parameter as result is required. The result is that the parameters are replaced by a string of actual values, whereby no calculation is carried out.

**Example:** $LOCREG.SHORTNAME$ / $SMPDATE$

In the selected target field a combination of the object short description, an oblique and the date is created, for example "Brg 12 / 12.10.2004".

**Text exchange with Macro**

In addition to the text exchange, format specifications can be resolved.

Example: $LOCREG.SHORTNAME$ from $<SMPDATE@dd.mmmm.yyyy>$

***Attention:*** *Only parameters of the same table (data type) or object type parameters can be evaluated. The parameter of the current table must be specified here without the table abbreviation. See example.*

***

## Reference: Object type configuration

### Data types

Data types are in GeoDin the basis for the management of measured values related to measuring points (object, filter, sample).

When creating a database, initially no data types are installed. Only by adding them in the data type manager are they set up in a database. The data types can be configured in their properties, structures and contents. The data types created and/or edited in this way then form the basis of the measured value acquisition in the specific application.

### De-install data type

With this function a data type is removed from the system settings of the GeoDin system. The data type is not available as template in a database.

Already existing databases are not affected. Data types, which were created using this template can be used.

### Generate subnotes (Layer)

With this transforamation you can process layer data that are not stored in GeoDin table structure. For example, some object types in the stratified data tables contain not only the strata but also sub-strata and strata from other stratified dictionary versions for the same object. The simple, table-based transformation (generate sub-nodes) cannot always be used to output strata.

**Example**:

GeoDin stores SEP3 borehole logs with multiple logs versions. All the layer information is stored in the table S3SCHDAT. This table also stores the borehole log version in the field INTV, along with sub-layer information and sub-layer type (SART). To output the individual log versions use the transformation "generate sub-nodes (layers)"

Borehole

Interval

Transformation

Attribute

depthTop

depthBase

stratigraphy

### Formulas

**New**

Using this icon, entries can be added to the list.

**Duplicate**

Use this icon to create a copy of the selected entry. The new entry is added at the end of the list and selected automatically.

**Delete**

Using this icon, marked entries can be removed from the list.

**Move selected entry up**

Using this icon, entries can be moved up in the list. Moving entries is also possible using drag & drop.

**Move selected entry down**

Using this icon, entries can be moved down in the list. Moving entries is also possible using drag & drop.

**Edit without refresh**

Editing the entries of a list can occasionally cause long processing. So for example moving a series or column definition in the list can take relatively long, depending on the basic data material, because sometimes many pages are affected.

Using this icon the list can be edited without actualization. Editing the list can be abandoned with the cross or with the tick mark.

**Double-click an entry of the list**

Closes the list and changes in the tree view of the object properties to the particular entry, so that its properties can be edited.

### Export ground descriptions

The publication element "Export layer descriptions" extracts layer information for the object type "location" in a new table GeoDin\_EXP\_G1GROUND in the current database.

You can select the recording standard of the layer description to be taken into account for the export.

### Formula

This chapter describes some formulas that can be used/created in GOTE for a general data table of the object type.

**Coordinate transformation**

This formula makes it possible to transform a coordinate specification and write it into a target field.

Parameters of the formula:

Method = TRANSFORMCOORD (fixed identifier of the EGIS method)

Result = part of the coordinates

X = X value of the input coordinate

Y = Y value of the input coordinate

EPSG = EPSGCode of the input coordinate

DESTEPSG = 3068

**Example:**

This formula transforms the X value of the GeoDin object into the coordinate system 3068 (Soldner Berlin) and writes the transformed X value into the target field of the formula.

*$EGIS(METHOD=TRANSFORMCOORD Result=X X=XCOORD Y=YCOORD EPSG=KSYS DESTEPSG=3068)$*

### Version option

The version information for an object type version is defined here. The first version information in the list is always the most recent.

The changes to an object type can/should be traced in the list.

When an object type is changed, this version information must be maintained by the object type designer.

**Version number:**

The version number as displayed on the object type. The format is set to number.number.number.

**Modifications:**

Information text that is displayed to the user during an object type update.

**Action:**

Only affects very special object types and should remain set to "none".

The option -Open database- can be used to prevent a database with an older version of this object type from being opened.

This is used during the unit conversion of G1 to explicitly convert very old databases with the converter.

**Error type:**

This defines whether this object type version must be updated when opening an older database or is an optional update.

**Up to version:**

Is only used for the case of the action "Open database". Here you can separately control whether the error case should only occur up to a lower version number.

**Message:**

Only used in the case of the action "Open database". Information text that is displayed in the event of an error when opening the database.

## Reference: Object type formulas

Object types can contain formulas for master data fields. These formulas are then executed during editing with the data entry and maintenance method.

The following formulas bundle a number of functions with which geodata can be spatially processed.

The syntax/grammar of these formulas can be briefly summarised as follows.

1. the formula begins with $%EGIS
2. in simple brackets, the various parameters of the formula can be configured. The parameters are permitted as key-value pairs with spaces.
3. the formula ends with $
4. a fixed parameter is the "Method" parameter. The value of this parameter decides which method of formula execution is to be used.

**Structure example of a formula:**

*$%EGIS(METHOD=XYZ Param1=Value1 Param2=Value2 ... )$*

**Conversion of coordinatesExample:**

$%EGIS(METHOD=TRANSFORMCOORD Result=X X=XCOORD Y=YCOORD EPSG=EPSG DESTEPSG=3068)$

**Method**

TRANSFORMCOORD

**Result**

Which calculation result is to be transferred to the target of the formula (in the example shown, the converted X-value).

**X**

Specifies which data field is to be used as input value for X (***example:*** XCOORD).

**Y**

Specifies which data field is to be used as input value for Y (***example:*** YCOORD).

**EPSG**

Indicates which data field contains the underlying coordinate system (***example:*** EPSG).

**DESTEPSG**

Specifies the target coordinate system to be transformed into (***example:*** 3068 Soldner Berlin).

**Derive values from a GIS fileExample:**

$EGIS(METHOD=GETPOINTVALUE X=XCOORD Y=YCOORD SOURCE=GROUNDWATER EPSG=EPSG)$

**Method**

GETPOINTVALUE

This method can be used to read data from a GIS file (e.g. Shape, GeoJSON) using a pair of coordinates.

For this purpose, the first object is read at the transferred coordinates and the desired value is returned from the configured attribute spate of the GIS data set.

In this way, e.g. names of districts, planning areas, TK numbers etc. can be automatically transferred to the GeoDin general data.

**X**

Indicates which data field contains the X-value (***example:*** XCOORD).

**Y**

Indicates which data field contains the Y-value (***example:*** YCOORD).

**EPSG**

Indicates which data field contains the underlying coordinate system (***example:*** EPSG).

**SOURCE**

A reference to an additional section from the GeoDin database connection settings configuration can be linked here.

In the database settings, then define the following key with the values from SOURCE.

GROUNDWATER= Path to a Shape or GeoJSON

GROUNDWATERFIELD= Name of the attribute column in the shape or GeoJSON

**Example:**

GROUNDWATER=C:\GISData\GW-Model\gw2020.shp

GROUNDWATERFIELD=MAXGW

***Note:*** *If no additional reference is specified under SOURCE, GeoDin automatically tries to find a GeoJSON file (\*.geojson) with the name of the target field of the formula in the Syslib directory of the GeoDin installation. The attribute field from which the data is returned to the database must have the same name in the GeoJSON as the target field of the formula.*

## Reference: System and object frame queries

### System query

**Type of query definition**

First, select the purpose of the new query.

If the query shall be added automatically as a new branch in the GeoDin object manager, select **Executable query**. It is also possible to select whether several subqueries lead to a common set of results or whether they are used for further reduction of the results. In the second case, a dialogue appears, in which the user can chose subqueries to further narrow down the result set.

An example: The user uses a query with two sub-queries, the first limits the results to objects from one map page, the second one to all boreholes with a certain depth. If the option for the sequence of condition is selected, the first subquery provides the objectsa from the map page. The user can then optionally further reduce the number of results by selecting the second subquery. With the possibilty to further reduce the number of results in the moment the query is used, it is possible to reduce the number of necessary queries altogether.

The option -Template for user queries- is used if the query template shall be made available to users to create own queries using the query assistant (with own conditions and display fields).

**Query result**

Queries in the GeoDin object manager generally distinguish between queries between a result of the type "object" (red marble) and a result of the type "measurement point" (blue marble). Normally, the measurement points (wells, samples) are linked to objects (e.g. boreholes) by a 1:n relationship. At the different result objects, different methods are available. An object (red marble) is by definition also a measurement point and can therefore also be displayed as a measurement point in the object manager. For queries with the result type "object", GeoDin expects the data fields PRJ\_ID and LOCID, while fore queries with the result type "measurement point", the data field INVID is needed. When configuring the result fields, this has to be taken into account.

With the option -Allow objects from other projects- it is possible to define whether system queries shown in the GeoDin object manager may have results with a project ID different from the current project.

Example: If in one project "team" all team members are managed, while in another project "boreholes", all boreholes are stored. For each borehole, the information which team member edited is stored. It is possible to create a relationship between boreholes and team members. By using a system query it is possible to create a branch attached to each team member entry where the boreholes are displayed. As the boreholes are stored in another project, the above option must be checked to allow these objects to be displayed below the "team" branch.

**Name of query in the object manager**

Here, the name for the system query in the GeoDin object manager can be entered. It is possible to use a name different from the file name of the query.

With system queries it is possible to replace a GeoDin standard query. These are queries automatically added to the object manager. If this option is selected, the name of the standard query is entered here. An example for this type of query is the "All objects" branch. This branch displays all objects of the GeoDin\_LOC\_LOCREG for a specific project. It is possible to replace this query by a system query, for example to exclude certain objects from the results. The name of the standard query used would be "All objects" in this case. The system query would replace the standard query only in an english language system, as the name of the query is different in other languages. It is also possible to enter the unique GeoDin text ID for the entry "All objects", which is the number 2316. This number can also be entered in the "Name of query in the object manager" field to make sure that the query is replaced correctly for all language settings and the replacement for the "All objects" query has the correct (language specific) name.

### Object frame query

Object frame queries are created like a [System query](/data-analysis/creating-queries/sql-and-advanced-options), but are part of a GeoDin layout. This way, they extend the possibilities for data collection in a layout for presenting this data in a report or graphic. As these query can access any database contents, it is possible to use data fields for the queries which are not part of the GeoDin database structure.

At an object frame, any number of queries can be created. Each query has to be given a unique name. In the graphic objects, the queries are adressed with these names to collect the required data for the graphic element.

All queries for an object frame are managed in an open list. After making changes to a query, it is possible to re-execute the query with the \<Refresh all queries> button to refresh the view in the layout. All queries are executed and the displayed graphic is recalculated.


# Data Checks and Validations

Data checks and validations - automated rules GeoDin applies to data entry to catch errors and inconsistencies.

GeoDin applies **automated checks** to data entered through the Data Management method, flagging missing required fields, out-of-range values, and inconsistencies between related data points.

Checks are configured per object type and per data type. Validation runs as data is entered, with results surfaced in the input forms (for example, red field outlines, warning icons, or hover tooltips explaining the violated rule). For dictionary-based fields, GeoDin verifies that entered values match the configured dictionary; for numeric fields, it enforces unit, format, and range constraints declared in the data type definition.

## Working with checks across many objects

The entry-time validation above runs object by object as you type. To check, search, replace, or calculate across a whole **query or group of objects** at once, GeoDin provides the **Data checks and calculations** method. It bundles several related functions:

* **Input control** - tests the layer data of all selected objects for syntax correctness and collects the objects with errors into a group for correction.
* **Search and Replace** - corrects codes or values across many borehole logs or general-data records (including code-aware replacement designed for coded borehole logs).
* **Data sequences: Calculating sequences** - calculates new measurement series for all selected objects.

For the full step-by-step description of the **Data checks and calculations** method, the Search-and-Replace dialogs, and the input-control syntax check, see [**Object Operations Reference**](/object-types/object-operations-reference).

For the comprehensive object operations workflow - creating, editing, validating, importing, exporting, and reporting object data - see [**Object Operations Reference**](/object-types/object-operations-reference).

***

## Reference: Plausibility definitions

A **plausibility** is a named rule that tests a measurement value against a logical term. Plausibilities are defined in the data type **Properties** and are evaluated in two places: as an input check while you type in the Measurement Editor, and in the plausibility report. The **Plausibility control** tab of the Measurement Editor shows the plausibility analysis for the currently checked row - see [Formulas in measurement values](/data-analysis/formulas-in-measurement-values).

### Fields of the plausibility dialog

| Field              | What to enter                                                                                                                                  |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**           | A meaningful name for the rule. The name can be used in the column definitions of a report, so tie it to what the rule tests.                  |
| **Type of result** | Whether the tested condition being TRUE means the value is **plausible** or **implausible**.                                                   |
| **Result as**      | Whether a hit is reported as an **error** or as a **notification**.                                                                            |
| **Result**         | The logical term that is evaluated. Use the **Build** icon to assemble the term from available fields and operators.                           |
| **Message text**   | The text reported when the rule fires. It is used in the report column definitions, and the **Build** icon can insert dynamic content into it. |

**Type of result - worked example.** pH values above 14 are impossible, so enter the term `$WAS:PH$>14` and set the type to **implausible**: when the term is TRUE the value is greater than 14 and therefore flagged. The rule can equally be written the other way round - test `$WAS:PH$<=14` and set the type to **plausible** - with the same effect.

**Result as - what each setting does.** An implausible value classed as an **error** is prevented from being entered in the Measurement Editor: the entry is blocked until the value is corrected. A **notification** is advisory only - it tells the user the value is implausible but still accepts it. Use errors for physically impossible values and notifications for values that are merely unusual.

**Message text example:** `The value $WAS:CL$ for Chloride is not plausible because ...`

To run the calculation and plausibility check while recording or maintaining measurement values, press **Enter** after entering the value.

### Relative jumps

Relative jumps let a term refer to a *different* data record of the same field - for example, comparing today's chloride reading with the previous one.

{% hint style="warning" %}
Relative jumps are only specified and evaluated in the **plausibility report**. They produce no result in the input check in the Measurement Editor.
{% endhint %}

For field-related content the dialog offers the plain field reference, for example Chloride as `$WAS:CL$`, which uses the current value of the data field. Append a relative jump range in parentheses to address another record:

| Syntax                          | Record addressed                      |
| ------------------------------- | ------------------------------------- |
| `$WAS:CL(-1)$`                  | The previous data record of the field |
| `$WAS:CL(-2)$`                  | The record before the previous one    |
| `$WAS:CL(+1)$` or `$WAS:CL(1)$` | The following data record             |
| `$WAS:CL(-~)$`                  | The first data content                |
| `$WAS:CL(+~)$` or `$WAS:CL(~)$` | The last data content                 |

### Current minimum and maximum values of a parameter

A special parameter syntax reaches the smallest or largest value a parameter takes in the current data:

* `$Min>DAT:PARAM$` - the minimum value of parameter `PARAM` in data type `DAT`.
* `$Max>DAT:PARAM$` - the maximum value of parameter `PARAM` in data type `DAT`.

This lets a rule compare the value in the current data record against all the others:

```
$DAT:PARAM$ < $Min>DAT:PARAM$
$DAT:PARAM$ > $Max>DAT:PARAM$
```

Such a plausibility warns when the value just entered is lower, or higher, than every previous value.

### Counting records

The **Count** operator returns how many data records exist:

* `$Count>DAT:PARAM$` - the number of data records for the current measuring point in data type `DAT`.

A condition limits which records are counted:

```
$%COND[#PARAM#='xy']Count>DAT:PARAM$
```

This counts only the data records whose data field `PARAM` contains `xy`. In the condition, reference the parameter **without** the data type prefix (`DAT:`) and enclose it in `#` characters.


# Geotechnical Analyses

Reference for GeoDin's geotechnical and hydrogeochemical analysis methods - Piper and Stiff diagrams, grain size analysis entry, Kf values and particle size settings.

GeoDin provides several geotechnical and hydrogeochemical analysis methods, each with its own diagram type or settings. This page is the reference for the available methods - the **Piper diagram** and **Stiff diagram** for hydrogeochemical analyses, the **Particle sizes** settings for grain size analysis, the **Evaluate SEP3 layer colors** transformation, and the **Engineer** method for registering and running the grain size analysis tools. The final sections cover entering a grain size analysis in the measurement editor: the sieve and hydrometer input masks, the analysis preferences, and the additional information tab.

## Reference: Piper diagram

The Piper diagram after PIPER (1944) is one of the most common methods to display hydrogeochemical analyses.

In two three component diagrams the ratio of the molar equivalent concentration of the anions and cations and in a combined rhombus diagram the ratio between (Na+K)/(Ca+Mg+Fe) and (HCO3+CO3)/(SO4+Cl+NO3) is shown.

Classification after the Piper diagram is based in contrary to the method after Valjaschko on the predominant solution contents, the major ions.

To display an analysis in a Piper diagram the main ingredients have to be analyzed (Ca, Mg, Na, K, HCO3+CO3, SO4, Cl), hence a not analyzed ingredient can be calculated using the ion balance. Nitrate is, if analyzed, added to the sulfate, iron to the calcium.

The calculation/estimation via the **Ion balance** is activated by default.

To display the original molar equivalent concentrations without ion balance, this option can be deactivated.

GeoDin interprets all special values (-99, -88 etc.) as 0 and all other negative values (under the detection limit) as absolute values.

If the parameters Fe or NO3 are defined as empty in the parameter definition, they are also removed from the diagram labelling.

## Reference: Stiff diagram

A Stiff diagram is a graphical representation of chemical analyses A polygonal shape is created from several parallel horizontal axes extending on either side of a vertical zero axis. Cations are plotted in milliequivalents per liter on the left side of the zero axis, one to each horizontal axis, and anions are plotted on the right side.

Stiff diagrams are useful for hydrogeologists and geochemists by displaying the major ion composition of a water sample and hence allowing rapid visual comparisons between water from different sources to be made.

## Reference: Particle sizes

The settings for the grain size analyses can be edited here.

### Hydrometer

Here the hydrometers available are defined. The hydrometers can be selected later for each analysis. The necessary data can be found in the calibration protocol for the hydrometer.

### Readout times

Here, the standard readout times for the hydrometer analysis are defined. The default set of readout times will be used to generate the datasets when creating new hydrometer analyses.

### Dispersant

Here, the dispersants are defined which can be selected when entering data. For each dispersant, a formula for calculating density and viscosity is needed. These are temperature-dependent values. For defining the temperature, use $T$.

### Sieve sets/Koehn sieve sets

The sieve sets available for the analyses are defined here by entering the mesh width into the data grid.

### Definitions for the soil identification

The definitions necessary for calculating the soil type can be entered here. The calculation of the component list can then be made, beginning with the largest fraction.

A component list like the one calculated should not be taken as a soil classification, but as an overview about the general composition.

A definition is composed of several parts without gap. It is best to enter the "to" values first, as the "from" value is filled automatically when moving the cursor down.

Special signs for values smaller or greater than specific values can also be defined here.

### Area curves

Here, the area curves can be defined which shall be displayed in the diagram. Enter the areas which shall be drawn, each area is defined by the grain size (x-axis) and a "from" and a "to" value. The polygon is created as the sum of the areas. The method by which the areas are connected is defined by the selected -curve type-. The curve quality controls the number of interpolated points, with a higher number resulting in a smooother curve.

## Reference: Evaluate SEP3 layer colors

This transformation analyses and generates contents from the SEP3 field Colour (Farbe) for the BML format (Borehole Markup Language).

Process notes (after Arns-Krogmann/Wiechmann):

The colour components from the SEP3 field are separated and sorted. The keys are then typed.

1. For the output **Farbe** (colour) only the code of the the type **Farbe\_G** are considered.
2. For the output **Farbmixture** (colour mixture) only the codes oft he type **Farbe\_rein** are considered.

The keys are then compared with the referenced key list. The first match in the key list is used as the overall result of the transformation.

***

## Engineer

In GeoDin the following geotechnical analysis methods are available:

[**Particle size distribution analysis**](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart)

{% hint style="info" %}
To use the grain size analysis tools, a configuration file "GrainConf.dxc" must be available in the GeoDin\config folder. In this file, the system settings for the grain sizes are saved. A standard configuration can be found at <[http://update.GeoDin.com/GeoDin/>](http://update.GeoDin.com/GeoDin/>) as GrainConf.zip. In the system settings, the configuration can be edited under **Particle sizes** (see the [Reference: Particle sizes](#reference-particle-sizes) section above).
{% endhint %}

In addition, the data type "Sieve and Hydrometer Analysis (G78)" must be registered in your database. This is done with the **Data type manager** (see the [Data Types](/concepts/data-types) overview for the full list of registrable data types):

{% stepper %}
{% step %}

#### Step 1: Open the Databases tab

Go to the Databases tab at the top left of the GeoDin user interface.
{% endstep %}

{% step %}

#### Step 2: Select the database

Open the desired database and select it.
{% endstep %}

{% step %}

#### Step 3: Start the Data type manager

Start the **"Data type manager"** method.
{% endstep %}

{% step %}

#### Step 4: Add a data type

Click on the \<Add data type> button .
{% endstep %}

{% step %}

#### Step 5: Select the data type

Then select the data type "Sieve and slurry analysis" from the list.
{% endstep %}

{% step %}

#### Step 6: Confirm

Click on the \<Next> button and follow the further instructions.
{% endstep %}
{% endstepper %}

As this data type is a "system data type" (i.e. it is managed by the GeoDin system), it cannot be changed by the user and therefore does not appear on the GeoDin system page.

## Entering a grain size analysis

The general data for a grain size analysis is entered in the measurement data editor. Each grain size analysis is assigned to a sample of an object, and there can only be one grain size analysis for each sample.

Before entering an analysis, an object and its sample data must exist in the project. Select a sample in the GeoDin content directory (at the **Measurement points/samples** node) and start the measurement editor, then enter the master data for the grain size analysis. First select an analysis type in order to add the performed analysis types to the tree.

The component list (partial list) can be calculated to get a better overview of the distribution of the individual fractions. Which calculation method is used is defined under the analysis preferences - see [Reference: Grain size analysis preferences](#reference-grain-size-analysis-preferences) below.

### Kf values

Kf values (hydraulic conductivity) are calculated only if the conditions below apply. `U` is the uniformity coefficient, `D10` and `D50` are the grain diameters at 10% and 50% passing.

```
Beyer (after HERTH & ARNDTS 1973):
  if 1 < U < 20 and U, C <> 0 and 0.06 < D10 < 0.6
  then Kf = C * D10^2

Beyer dependent on compactness:
  if 1 < U < 20 and U, C <> 0 and 0.06 < D10 < 0.6
  then Kf = 100 * (A / (U + B) + C) * D10^2
  with A, B, C dependent on compactness

Hazen:
  if U < 5 and U <> 0 and 0.1 < D10 < 3
  then Kf = 0.0116 * D10^2

Seelheim:
  if D50 <> 0
  then Kf = 0.00357 * D50^2
```

***

## Reference: Sieve analysis input mask

The input mask for sieving analysis data is structured as follows.

### Mass input

The fields **wet mass** and **water content** are optional. If data is entered, the total mass is calculated. The fraction is always calculated from the data of the last sieve. The formula for calculating dry mass:

```
dry weight = wet weight / (1 + water content / 100)
```

### Sieve sets

Here the sieve sets can be selected which have been defined in the grain size configuration (see [Reference: Particle sizes](#reference-particle-sizes) above).

The sieve sets are saved with the sample. This way, former sieve sets can be displayed, but not selected.

{% hint style="danger" %}
If a sieve set is changed, all sieve data is lost.
{% endhint %}

### Data grid

Here the sieve residual in the single sieves can be entered. Data can be entered in absolute or cumulated form. The percentages of the grain fractions are calculated.

The sieves are listed according to the selected sieve set; the bowl is always added.

### Sieve loss / maximum grain size

The shown values **residue**, **sieving loss** and **maximum grain size** are calculated values, which are calculated from the entered values in the data grid.

## Reference: Hydrometer analysis input mask

The input mask for hydrometer (elutriation) analysis data is structured as follows.

### Hydrometer

Here the hydrometers which have been defined in the grain size configuration can be selected (see [Reference: Particle sizes](#reference-particle-sizes) above).

The hydrometers are saved with the sample. This way, former hydrometers that are not in the config file anymore can be displayed, but not selected.

### Single sample

For the combined sieve and elutriation analysis, it can be selected whether a single sample or two separate samples have been analyzed. For the single sample, the mass values from the sieve analysis are used and the input fields for the dry mass are disabled.

### Determination of dry mass

Three methods are available:

* **by drying without providing wet mass** - the dry mass is provided directly.
* **by drying with providing wet mass** - the dry mass is calculated from the wet mass.
* **by underwater weighing** - the dry mass is calculated from the underwater weighing.

### Grain density and starting time

The **grain density** is necessary for the calculation of the grain diameter.

The **starting time** is adopted from the general data of the analysis. It is used as the basic time for the metering times in the data grid.

### Data grid

Based on the starting time, the standard metering times which have been defined in the grain size configuration are automatically entered. If nothing was defined, they must be added by hand.

To delete rows you can set the metering time to 0. While saving or refreshing, such data is deleted automatically.

The white data fields can be edited: metering time, hydrometer value and temperature. All other values are computed.

For a combined measurement it can be selected above the grid that the resulting curve is fitted to the last sieve. This changes the fraction of the total sample and can lead to a smoothed curve.

{% hint style="warning" %}
Fitting the curve to the last sieve is not DIN compliant.
{% endhint %}

## Reference: Grain size analysis preferences

The general settings for the analysis are made here.

### Precision of the computations

Also labeled **Accuracy of the calculations**. This value determines how many decimal places are used in the computations. It should not be less than 4. It influences only the precision of the calculation, not the way the calculated values are displayed.

### Calculation method for soil type determination

Also labeled **Rules of the soil identification**. Here a method for the calculation of the soil type can be selected from those defined in the grain size configuration (see [Reference: Particle sizes](#reference-particle-sizes) above).

The methods are saved with the sample. This way, outdated or imported methods can be displayed, but not selected. Based on these methods it is possible to calculate a proposed soil type as an approximation (suggestion).

### Storage of the k value for the calculation by Beyer

The calculation is performed by:

```
k = c * d10^2
```

where `c` is determined as a function of `U` and storage (compactness).

### Area curves

If this item is selected, an area curve can be selected which has been defined in the grain size configuration. The area curves are saved with the sample, so that outdated or imported area curves can be displayed, but not selected. The selected area curve is displayed in the grain size diagram.

{% hint style="warning" %}
Only the area curve of the first data series (sample) is displayed. An area curve can also be specified directly in the diagram settings.
{% endhint %}

### Curve type

Here you can select the way the displayed points are connected. For curves, the curve quality can be set: this value determines how many interpolated points are calculated and has a considerable influence on the duration of the calculations.

## Reference: Additional information

Additional specifications for the analysis are managed on the **Additional information** tab.

### Gravel grain size determination after DVGW MB W 113

Data for the relevant (standard) grain diameter **Dg** and the filter factor **Fg** can be calculated automatically by clicking the exclamation mark button in the respective input field. In special cases, the values can also be entered manually.

The calculation of Dg after W 113 is performed according to the grain distribution method, i.e. it uses the arithmetic mean of the maximum of the distribution and the mesh size of the next larger sieve. The calculated value should only be used as a template, because any calculation depends enormously on the chosen interpolations.

The bulk (backfill) grain diameter **Ds** is always calculated from the two values above and does not need to be entered. In this context, the grain category is determined after DIN 4924, but it can be changed manually in special cases.

### Categorization after DIN 18196

Only limited automated specifications can be made with the data of the grain size analysis, so the calculated values can be completely overwritten.

The following classification can be calculated:

* **Coarse grained soils** - classified without restriction.
* **Mixed grained soils** - no clear statement of clay/silt is possible. This is displayed accordingly in the resulting calculation.
* **Fine grained soils** - additional specifications of plastic limit and liquid limit are required. If the values are available, they can be entered accordingly and are used in the calculation.


# Regression and Curve Fitting

This page is the reference for the time-series and measurement-value series properties used in regression and curve-fitting work: the series **presentation options** (curve, bar, symbol and table drawing), the measurement-editor **toolbar functions**, the **Ion balance** calculation, and the **regression calculation** branch of a time-series element. Each section below describes one property branch or method; choose a subordinate branch to edit its detail properties.

***

## Reference: Series presentation

### Presentation options

Optionally in a time line series presentation curves, bars and symbols (in any combination) can be used. If no presentation type is chosen, the series is not displayed (this can be sensible for series, which are used for aggregations).

By default, two measuring points are connected by a line in the graph, which is inclined differently at each measurement values. With the option <**Step plot**> presentations can be achieved, which show a measuring point **from** a certain time. For the following measurement, the curve is drawn as a horizontal line and then perpendicularly to the next value. With this type of representation, the option <**drawing till end of diagram**> can be helpful, which continues the line of the series until the end of the timeline. Thus it can be shown that the measured value has not changed since the last measurement

By default data records on a curve are ignored if the chosen parameter has no value (although a time exists) and a line is drawn through these records. This line can be interupted using the option **break line for empty records**.

For the presentation type <**Bar chart**> the bar width can be selected. Like for the presentation type <**Symbols**>, here you can select, whether this should be drawn in the areas, in which samples were only taken seldomly (i.e. for interruptions of the curve).

### Curve

In this branch no properties can be selected. Choose a subordinate branch, to edit detail properties.

### Line

Additionally to presenting the series in a curve, bar or symbol any number of calculated (horizontal) lines can be added to a series.

Here three statistic parameters **Minimum**, **Mean value**, **Maximum** and **Median** are available, which are calculated basing on measurement values. Additionally numeric values of the Object data can be displayed. The selection is done in the drop down menu **"Calculation type"**. By selecting the type Object data in the underlying input field the data field can be chosen, which contains the numeric value.

By choosing the statistic parameters you select, whether here only the **Values of the displayed time interval** or **All measurement values** of the measurement point (not depending on the time interval displayed in the diagram) should be used.

A line or outline is displayed in the chosen Color and Line type. To select a color, which is not available in the drop down menu, click in the list on the first entry **"Individually"**. In the color dialogue you can adjust a new color.

The line thickness can be chosen in mm or pixels. The selection should be done in mm by preference. In this case the thickness of the lines in the preview is not equal to the print output and not depending on the used print resolution. The selection of a line thickness in pixels is only suitable for graphs, which are only viewed on the screen.

### Drawing type

Selection of the presentation in graphic (Curve, Bar chart, Symbols and Curve + Symbols) or tabular form (Table) of the single measurement values.

The presentation type **Curve** starts with the first and ends with the last measured value. The nodes of the curve characterize a measurement point (measurement value in a certain depth).

Using the presentation type **Bar chart** the values characterize a measurement sector (interval), so that the first value is valid for the section from 0,00m to the first measurement value.

### bar / curve

The option -Close line to axis- is illustrated in the following graph. In the left hand graph the option is deactivated, the surrounding line of the bar graph is not connected with the 0-axis at the starting and ending point.

The presentation of a curve can optionally be interrupted in not investigated areas. Here a value for the sector length, from which the area is not investigated, is necessary. A general adjusting possibility of this option for all series is available in the **Presentation options**.

The possibility to colorize the view using a diagram as legend is described in detail in the chapter **color coding**.

### Table

The tabular presentation of a single measurement value as a text in a certain depth is possible as a combination with a curve or a bar chart and also as a pure table. For this choose the option **-Show individual values-**.

Is the option -Show values = 0- deactivated, all individual values that equal zero are counted as fault values and not labeled, otherwise these values are also displayed.

The option -Interpret values < 0- causes a presentation of the measurement values after the following rules:

Measurement value > 0 Value is labeled normally

Measurement value < 0 (except -88 und -99) Labeled as \<data sequence value

Measurement value = 0 Labeled with n.i. = not investigated

Measurement value = -88 Labeled with n.t. = not traceable

Measurement value = -99 Labeled with n.f. = not found

In case the measurement value is =0, the values are only labeled with n.i., if the option -Show values = 0- is activated.

For the presentation of the measurement values as text also the Font and the type of Intermediate lines can be adjusted.

### color coding

Beside the fixed colorization of a curve or bar graph with a fixed signature and color, these presentations can be colored using a legend depending on the complex conditions.

Condition for this is either:

the presence of a graphic element measurement value graphic as "supplier" of the legend

or

the presence of a measurement series in the object data, which contains RGB colors for the presentation.

**Using a measurement value graphic**

The method to define areas in diagrams is described in chapter **Surfaces**. Select the option -Using diagram- and then chosen diagram in the list. Tip: The list contains only diagrams, which have received a [Measurement value graphic](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics).

**Using a color value measurement series (RGB)**

Chose this option, if the actual object contains an already calculated series with RGB-values. Select the chosen series. The way to calculate data sequence series is described in chapter [Calculating sequences](/importing-data/data-sequences)

## Reference: Measurement editor toolbars

### Top tool bar

The top toolbar (default position - it may be moved elsewhere in the window) offers general editing functions:

**Start editing / Stop editing**

If the icon is activated (highlighted in light gray), table entries can be edited.

When inactive (i.e. not "pressed down") all the table fields are gray and cannot be edited.

The edit modus stays active until the icon is deactivated or the icon **Cancel edits** is clicked. Data are saved by moving from one row to another, by deactivating the edit modus, by changing from one data type to another, by selecting another object in the GeoDin Object Manager and by closing the editor.

**Save**

The current data set (row) in the table is saved.

**Cancel edits**

Data set editing is stopped and changes made in the current data set are undone (back to the last time saved). The editor is then placed in the non-editing mode by default.

**Load again**

Data are reloaded. Changes to the current dataset are first saved and then the grid is refreshed. This feature is especially useful to view changes made in a data set.

**Cut, Copy, Paste**

Clipboard functions (the key sequences **Ctrl + X**, **Ctrl + C** and **Ctrl + V** are available).

### Right tool bar

The second menu strip offers functions for the special editing, navigation and changing settings. This menu strip can also be repositioned (by default it is on the right hand side).

### Navigation

With the navigation arrows you can move around the table row-wise to the first, previous, next and last row (from top to bottom).

### Excel export

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

The method exports measurement values as a table that can then be edited further in Microsoft Excel.

The following dialogue appears when starting the method, where you can choose from the following options:

* **Data type**

One data type can be chosen for export from a list of data types that are available for the measurement point (group).

* **Measurement programs**

The number of parameters for export can be set by the choice of a measurement program (see [Measurement program](/workspace-and-data-management/working-with-measurement-data)).

* **Layout**

<**Use short parameter names**> uses the GeoDin short parameter names for the table columns in Excel (note for the SDM the column names are identical; the default setting is no/unchecked)

<**Name tables after measurement points**> default setting is yes/checked - activating this option names each table tab after the measurement point.

## Reference: Ion balance

### Calculation of the ion balance

The following parameters are used to calculate the ion balance:

| N  | Parameter          | P     | Type   | Factor | Sum                                              |
| -- | ------------------ | ----- | ------ | ------ | ------------------------------------------------ |
| 1  | Calcium (CA)       | **1** | cation | 0,0499 | Total mineralization                             |
| 2  | Magnesium (Mg)     | **1** | cation | 0,0822 |                                                  |
| 3  | Sodium (Na)        | **1** | cation | 0,0435 |                                                  |
| 4  | Potassium (K)      | **1** | cation | 0,0256 |                                                  |
| 5  | Bicarbonate (HCO3) | **1** | anion  | 0,0164 |                                                  |
| 6  | Carbonate (CO3)    | **3** | anion  | 0,0333 |                                                  |
| 7  | Chloride (CL)      | **1** | anion  | 0,0282 |                                                  |
| 8  | Sulfate (SO4)      | **1** | anion  | 0,0208 |                                                  |
| 9  | Iron (total)       | **2** | anion  | 0,0537 |                                                  |
| 10 | Manganese          | **2** | anion  | 0,0364 |                                                  |
| 11 | Ammonia (NH4)      | **2** | anion  | 0,0554 |                                                  |
| 12 | Nitrate (NO3)      | **2** | anion  | 0,0161 |                                                  |
| 13 | Nitrite (NO2)      | **2** | anion  | 0,0217 |                                                  |
| 14 | Phosphate          | **2** | anion  | 0,0316 |                                                  |
| 15 | pH-value           | **3** |        |        | Proton concentration                             |
| 16 | m-value            | **3** |        |        | The parameter is used for carbonate substitution |
| 17 | p-value            | **3** |        |        |                                                  |
| 18 | Carbonate hardness | **3** |        |        |                                                  |
| 19 | Total hardness     | **3** |        |        | Total hardness - Check                           |

P = Priority (**1** Main component, **2** secondary component, **3** Substitution)\
N = internal number

**Further details:**

1. If iron (total) is not measured, but iron 3, then iron 3 is used
2. If iron (total) and iron 3 are not measured, but iron 2, the iron 2 is used
3. If ammonium is not analyzed, but ammonium N, then is factorized and used
4. If nitrate is not analyzed, but nitrate N, then is factorized and used
5. If nitrite is not analyzed, but nitrite N, then is factorized and used
6. If phosphate is not analyzed, but phosphate P, then is factorized and used

### Preparing the calculation

Seven main components and six secondary components are used in the calculation. Before calculation the process is checked with the available data.

Values that lie below the detection limit or for which the detection limit is unknown (values -66, -88 or -99) have the value zero for the calculation. For parameters below known detection limits these limits are used in the calculation.

The calculation is not carried out when less than five main components are present. If five are present the missing values are estimated for balancing the ionic relationships. By definition only one anion or cation can be missing.

For the case that bicarbonate or CO3 were not analyzed, GeoDin tries to use the m-value, p-value and / or carbonate hardness instead.

The total hardness check gives the plausibility of the Calcium, Magnesium and Total hardness to each other.

The sum of the anions and cations for the error calculation is computed.\
The sum of the cations is added to the proton concentration (calculated from pH).

The error is the difference between anions and cations in relationship to the half of the total mineralization multiplied by the sum of the anions and cations.

Error = cations - anions / 0.5 \* ( cations + anions)

By values less than 5 mmoleq for the total mineralization the ion balance is plausible, if the absolute error is less than 0.05.\
By values more than 5 mmoleq for the total mineralization the ion balance is plausible, if the absolute error is less than 0.02.

## Reference: Regression and curve fitting

### Curve type

Here you can select the way the displayed points are connected.

For curves, the curve quality can be set. This value determines how many interpolated points are calculated. This value has a considerable influence on the duration of the calculations.

### Regression calculation

With the help of a regression calculation you aim to find a relationship between a response (dependent) variable and possible predictor(s) (independent) variable(s) by the method of least squares.

A regression calculation allows us to explore the relationship between two (or more) variables. It indicates the nature of the relationship between two (or more) variables. In particular, it indicates the extent to which you can predict some variables by knowing others, or the extent to which some are associated with others.

The conditional expected value is referred to here as the **estimation target**.

This can be estimated from various ![influencing factors](/files/BkyMvgxn74RTDyPKkEjE) **influencing factors**.

**Methodology:**

A set of linear equations is constructed using the estimation target and influencing factots. Internally a multiple linear regression calculation is performed which is a method for predicting (approximating) the value of a dependent variable ***y***, based on the value of independent variable(s) ***x***.

In a cause and effect relationship, the independent variable is the cause, and the dependent variable is the effect. In our terminology the **influencing factors** are the independent variables ***xi*** and the **estimation target** the dependent variable ***y***. Numerical instability that occur will be recognised during calculation and can be labelled in the status information using the property "IsSingular". If "IsSingular"=True the regression equation or the regression coefficient should not be used and no results will be displayed in the time series graphic.

**Considering time as an influencing factor**

Set this option if you wish to use time as an influencing factor.

The time-stamp of the measurements is interpreted as a numerical value and used for the regression analysis just like one of the the other influencing factors. This option should be used when time dependent relationships between the measurement size exist.

### Input magnitude

Please select a measurement size from an existing time series element. This will be considered as a dependent variable y, which is the target of the the regression approximation.

### Effective size

**Series**

Choose the independent variable source which will be used in the regression calculation as an influencing factor,

**Time offset**

For the regression calculation it is necessary to analyse the time of each measurement for the source series. Each influencing factor can include a time offset in order to smooth out irregularities in measurement intervals. A time offset of zeo days is only possible in the regression analysis for measurement values taken oin the same day.

### Result text

You can position the results of the regression analysis here as freely positionable text.

**Statisical results**

Choose the statistical result to display from the items in the drop-down list

**X, Y**

Define the relative position of the text.

**Remove text outside the diagram area**

The text generated may have large variations in length. This can be truncated when this option is set.

### Event

Events generated by a time-series graphic using a regression analysis, are not evaluated directly but may be analysed using the following options.

A graphic with a time series element including a regression series can generate events that can be further processed using the "Evaluate measured values" method. With this method, measured values can be automatically subjected to a regression analysis in order to subsequently generate corresponding evaluations for a measured value.

**Target field**

Choose the field in which a text will be entered upon the event occuring.

**Field value**

Enter the text to be written to the target field.

**Trigger**

Choose between the following options:

1. limit exceeded
2. below limit
3. above or below limits
4. within limits

## Related topics

* CPT and data-sequence topics: [Data Sequences and CPT](/workspace-and-data-management/working-with-measurement-data/data-sequences-and-cpt)
* Shared measurement/data-type reference content now lives in [Formulas in Measurement Values](/data-analysis/formulas-in-measurement-values)
* Shared measurement/data-type reference content now lives in the measurement-data editor reference ([Working with Measurement Data](/workspace-and-data-management/working-with-measurement-data))


# Overview

One engine - the layout editor - drives every graphical output in GeoDin: borehole logs, cross sections, site plans, diagrams, and printed reports.

## Layout editor

* [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) - build a layout step by step; gateway to the full editor reference.
* [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) - toolbar, palette, paper format, and interface quick settings.
* [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties) - fill, line, font, z-order, and other properties shared by all layout elements.
* [Layout Files and Lists](/visualization-layouts-and-reporting/creating-custom-layouts/layout-files-and-lists) - GLO, GGF, and GLL file formats; the Available Layouts list.
* [Construction and Alignment](/visualization-layouts-and-reporting/creating-custom-layouts/construction-and-alignment) - grid, snap, rulers, and element alignment.
* [Object Frames](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames) - required containers for complex graphic elements.
* [Text Macros and Variable Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) - `$`-macro syntax and the Variable Text element.
* [Report Elements](/visualization-layouts-and-reporting/creating-custom-layouts/report-elements) - tabular data output inside a layout.

## Borehole logs

* [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs) - produce standard borehole log graphics.
* [Customizing Log Layouts](/visualization-layouts-and-reporting/creating-borehole-logs/customizing-log-layouts) - layer queries, selection syntax, and layout list management.
* [Borehole Elements](/visualization-layouts-and-reporting/creating-custom-layouts/borehole-elements) - graphic element properties for the borehole log element.

## Cross sections

* [Creating Cross Sections](/visualization-layouts-and-reporting/creating-cross-sections) - construct geological cross-sections from selected boreholes.
* [Cross Section Layouts](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts) - scales, axis range, labeling, and cross-section panel settings.
* [Cross Section Layouts (advanced)](/visualization-layouts-and-reporting/creating-custom-layouts/cross-section-layouts) - advanced layout editor settings for cross-section outputs.

## Site plans and maps

* [Creating Site Plans](/visualization-layouts-and-reporting/creating-site-plans) - site plan tool: scale, scenarios, scene types, and portal links.

## Diagrams and charts

* [Measurement Value Graphics](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics) - the graphic element that hosts time series, X-Y, and hydrochemical diagrams.
* [X-Y Diagrams](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams) - X-Y, triangle, Piper, Durov, and histogram diagram types.
* [Time Series Charts](/visualization-layouts-and-reporting/time-series-charts) - time-domain measurement display, aggregation series, and formula syntax.
* [Well Design Diagrams](/visualization-layouts-and-reporting/well-design-diagrams) - well construction and completion diagrams.
* [Diagram and Chart Properties](/visualization-layouts-and-reporting/maps-and-site-plans) - series, calculated lines, aggregation, and axis settings shared across diagram types.
* [Scale Bars and Depth Scales](/visualization-layouts-and-reporting/scale-bars-and-depth-scales) - depth scale element, scale options, and layout quick settings.

## Specialized outputs

* [Depth-Oriented Images as Borehole Profiles](/visualization-layouts-and-reporting/depth-oriented-images-as-borehole-profiles) - photo logs and core images as borehole-profile elements.
* [Display PSD as a Bar Chart](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart) - particle-size distribution bar charts.
* [Groundwater Visualizations](/visualization-layouts-and-reporting/groundwater-visualizations) - groundwater level symbols and tag lines in logs and cross sections.

## Reporting

* [Report Templates](/visualization-layouts-and-reporting/report-templates) - turn layouts into printable report templates.


# Creating Custom Layouts

This guide explains how to create a new layout in the GeoDin graphics editor and link it to borehole data to generate a borehole log.

A custom layout is built in the GeoDin graphics editor in six steps: create the layout, define the page, draw an object frame, insert graphic elements, link the layout to data, and add header/footer information.

{% stepper %}
{% step %}

#### Step 1: Create a New Layout

Open the **GeoDin Graphics Editor** by clicking the **Edit Graphics** button located at the **bottom left of the GeoDin user interface**.

This opens the layout editor where new layouts can be created, and existing layouts can be edited.

<figure><img src="/files/3SpIrjYPOwKcX1DnY8me" alt="Edit Graphics button"><figcaption><p>The Edit Graphics button at the bottom left of the GeoDin window opens the graphics editor.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 2: Define the Page Layout

When the graphics editor opens, a **blank A4 portrait page** is created by default.

To adjust the page size or orientation:

1. Open the **Object Properties** window using **F11**.
2. Select **Page layout** at the top of the Object Properties panel.
3. Configure the required page size and orientation.

These settings define the overall layout format.

<figure><img src="/files/vYtUW3jjy03ASUgyuNhg" alt="Object properties tree with Page layout selected"><figcaption><p>Page layout selected at the top of the Object Properties tree - page size and orientation are configured here.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 3: Create an Object Frame

An **object frame** is required to link graphic elements to database data.

1. Select one of the following tools:
   * **Single‑Object Frame** - displays data for one object (e.g. one borehole)
   * **Multi‑Object Frame** - displays multiple objects simultaneously
2. Draw a rectangle on the page to define the object frame.

In most cases, it is recommended to draw the object frame to cover **the entire page**.

{% hint style="info" %}
The object frame is the link between the layout and the GeoDin database. It retrieves the data that will be displayed in the graphic elements.
{% endhint %}

<figure><img src="/files/rD92m0cLFxQblgMXomzR" alt="Drawing an object frame with the Single-object frame tool"><figcaption><p>Drawing the object frame across the page with the Single-object frame tool (highlighted in the left toolbar). The Data source branch in Object Properties is still empty - no object is linked yet.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 4: Insert Graphic Elements

In general, simple graphic elements can be added without the requirement of creating an object frame. However, for complex graphic elements, a multi-object frame as mentioned above must be created first before we add the graphic elements.

1. Select the object frame by:
   * Clicking its **top‑left corner**, or
   * Left‑clicking anywhere inside the layout while holding the **Ctrl** key
2. Choose the required graphic element (for example **Borehole Log**) from the left toolbar.
3. Draw the element as a rectangle **inside the object frame**.

At this stage, the layout is **not yet linked to any database object**.\
Graphic elements will therefore appear as **gray and blue dashed placeholders**.

<figure><img src="/files/e7vPTJmHPBxpPW33KDkn" alt="Adding a borehole log element inside the object frame"><figcaption><p>Adding the Borehole log element: the tool in the left toolbar (1) and the element drawn inside the object frame (2). Its Scale, Data source, Drawing type and Text branches appear in Object Properties.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 5: Link the Layout to Data

To display real borehole data:

1. Open the **GeoDin Object Manager** (tree view on the left side of the GeoDin interface).
2. Drag the required **database object** onto the layout using **drag & drop**.

The borehole log is now displayed based on the recorded layer data.

* If no layer data exists, an **empty frame with a fuchsia dashed outline** is shown - see [Layout and graphic problems](/support/troubleshooting/layouts-and-graphics) for the full color diagnostics if a different dashed color appears instead.
* A **small red circle** in the top‑left corner of the object frame indicates that the layout is linked to database data.

<figure><img src="/files/cPBx0zSeKql05sUzwViQ" alt="Dragging a database object onto the layout"><figcaption><p>Dragging borehole AE-BH-01 from the Object Manager onto the layout. The log renders from the recorded layer data; the small red circle in the top-left corner of the frame shows the layout is now linked to a database object.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 6: Add Additional Information

Additional information such as headers, footers, and annotations can be added using graphic elements.

You can include:

* Project information
* Borehole metadata
* Company logos
* Titles, scale bars, and notes

Use:

* **Basic graphic elements** (lines, rectangles, static text)
* **Variable text elements** to display object‑related data directly from the database

This allows layouts to be reused as **templates** across different projects and databases.

<figure><img src="/files/ljMS1fbziv03XG0z0O0L" alt="Footer table built with line and variable text elements"><figcaption><p>Header/footer information added with basic graphic elements and variable text: the table at the bottom shows the project and location values (Lake Mackay Area East, AE-BH-01) pulled from the database.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

### Further Reading

More detailed information is available in the **GeoDin Help (F1)** under:

**Create and Edit Graphics**

***

## In this family

Deep reference for the layout editor lives in the subpages:

* [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) - editor mechanics: menus, drawing layers, snap, grouping, palettes, paper formats, interface settings
* [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties) - text, fonts, lines, fills, symbols, images, legends, labeling
* [Layout Files and Lists](/visualization-layouts-and-reporting/creating-custom-layouts/layout-files-and-lists) - file formats, folders, snippets, lists and collections
* [Construction and Alignment](/visualization-layouts-and-reporting/creating-custom-layouts/construction-and-alignment) - projection model, cross-section alignment, layer joining, polylines, scale bar
* Element pages: [Object Frames](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames), [Borehole Elements](/visualization-layouts-and-reporting/creating-custom-layouts/borehole-elements), [Measurement Value Graphics](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics), [X-Y Diagrams](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams), [Report Elements](/visualization-layouts-and-reporting/creating-custom-layouts/report-elements), [Text Macros](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text), [Cross Section Layouts](/visualization-layouts-and-reporting/creating-custom-layouts/cross-section-layouts)


# Layout Editor Basics

Layout editor mechanics - accessing the editor, file formats, drawing layers, snap, grouping, palettes, layout interfaces, unit systems, and paper formats.

The layout editor is GeoDin's graphic authoring environment for creating and modifying layout templates. It is accessed via the **Graphic Printing and Editing** method and the **Layout** section. This page covers the editor's core mechanics: how to open and save layouts, how the editor toolbar is organised, and the tools for managing elements, layers, groups, and palettes.

Part of the [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) family. For the editor's key combinations (select, duplicate, nudge, snap, zoom), see [Keyboard shortcuts](/getting-started/keyboard-shortcuts).

## Opening and saving layouts

Default layouts ship pre-installed in `C:\ProgramData\GeoDin\Layouts\`, organised by object type (for example, G1 includes borehole logs, stiff/parameter layouts, water content vs depth, and Atterberg limits layouts).

To add your own layout folders, go to **Available Layouts**, click the blue **+** button, and browse to a folder (for example, a network share for team layouts).

Two file formats are used for saved layouts:

| Format  | Name                  | Purpose                                                                                                                                                                                                     |
| ------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GLO** | GeoDin Layout         | Template - no data connection. Listed in the Available Layouts overview. Use for reusable templates.                                                                                                        |
| **GGF** | GeoDin Graphic Format | Layout + connected data (e.g., a specific cross section with 10 boreholes baked in). Not listed in Available Layouts. GGF files can be drag-and-dropped into GeoDin to open with original data connections. |

{% hint style="warning" %}
When editing a default layout, always use **File > Save As** (not **Save**) to avoid overwriting the shipped default. Create a folder such as `[CLIENT]_Layouts` and copy defaults there before editing. If a default is accidentally overwritten, there is no built-in reset - you must request a copy from the GeoDin team (there is no public re-download link).
{% endhint %}

Default layouts are stored once per GeoDin installation. In a network install, overwriting a default affects all users on that installation.

### Naming a layout and giving it a preview

A graphic or layout can carry a long name that is displayed in the title row of the graphic window. Enter it in the **File description** field in the **Object properties** branch of the graphic. For layouts that appear in a layout list this matters: the selection function shows these names in the list, so a meaningful description is worth the few seconds it takes.

A layout can also carry a preview image, shown in the layout overview of the **Graphic printing and editing** method. Use the **Create new preview** icon to generate a preview or to replace an existing one.

## Starting a new layout

To start a new layout: open the graphic editing method with no layout loaded, double-click the empty canvas to show the **Object Properties** panel, then drop in a complex element from the toolbar.

Two buttons in the lower-left corner of the editor window control access to the overview and blank edit mode:

* **Layer Overview** - opens the overview of layout layers and drawing elements.
* **Edit Graphics** - opens a new blank layout in edit mode.

Layouts can be fully customised (delete fields, replace logos) via **Edit Mode** from the upper-right toolbar.

## Editor toolbar

The editor toolbar is divided into two sections:

* **Simple graphic elements:** lines, polygons, rectangles, text
* **Complex graphic elements:** object frame, borehole log, depth scale, samples, groundwater, data sequence, measurement value graphic, report element, well design, legend, image

{% hint style="info" %}
The in-product **F1** context-sensitive help is comprehensive on template creation topics (object frames, single vs multiple object frames, macros, dynamic objects) and opens at the section matching the part of GeoDin currently in focus.
{% endhint %}

## Navigating the graphic window

Open the graphic window with the **Edit graphic** icon in the lower symbol bar of the GeoDin main window. It also opens automatically when you start a method such as **Graphic printing and editing** or **Profile cross-section**. Any number of graphics can be open at the same time; switch between them with the tabs.

Besides the canvas, the window holds a menu, two toolbars, the object properties area, and a status line.

The canvas shows the graphic as it will be printed. Small differences between text on screen and text on paper come from the lower screen resolution and the limited font scaling that goes with it. Screen and printout match most closely when the on-screen size is close to the actual paper size.

These tools control which part of the graphic the editing window shows:

| Tool                              | What it does                                                                                                                                                     |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Zoom in**                       | Click a position with the zoom cursor to enlarge the graphic two times and center the clicked point. You can also drag a rectangle to zoom to that area.         |
| **Zoom out**                      | Click with the zoom cursor on the area to be reduced.                                                                                                            |
| **Pan**                           | Move the visible area without using the scroll bars at the edge of the window.                                                                                   |
| **View full page**                | Show the whole page in the editing window.                                                                                                                       |
| **Previous view** / **Next view** | Step back and forth through previously selected views, including their zoom levels - useful for switching quickly between two or more views of the same graphic. |

### Status line

The status line reports information about the currently selected graphic element, in five columns:

| Column | Shows                                                                              |
| ------ | ---------------------------------------------------------------------------------- |
| 1      | Name of the graphic element, and below it the drawing layer the element sits on.   |
| 2      | Position of the element measured from the upper left page corner (= 0,0).          |
| 3      | Size of the element.                                                               |
| 4      | Status of the element: **Fix** (locked against moving and scaling) or **Movable**. |
| 5      | Name of the current drawing layer.                                                 |

## Inserting and managing elements

| Action                   | How to                                                                                                                                                                                                    |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Insert element**       | Select the element type from the toolbar, click and drag on the page to define position and size. If a group or object frame is selected, new elements are added inside it.                               |
| **Duplicate**            | `Edit > Duplicate` or `Ctrl+D` on a selected element.                                                                                                                                                     |
| **Delete**               | `Edit > Delete` or `Del` key. `Edit > Cut` also removes the element but places it on the clipboard.                                                                                                       |
| **Select one**           | Click an element. Selected elements show 4 gray corners (lines show 2 gray corners at each end).                                                                                                          |
| **Select multiple**      | Shift+click or drag a selection frame (elements must be completely inside the frame).                                                                                                                     |
| **Select all**           | `Edit > Select All` or `Ctrl+A`.                                                                                                                                                                          |
| **Select a group frame** | Click the border area, or Ctrl+click inside the frame. Selected group frames show 4 gray side lines.                                                                                                      |
| **Select same type**     | Select one element, then `Edit > Select same objects` to select all elements of that type - useful for batch-changing fonts or styles.                                                                    |
| **Object Properties**    | Double-click an element, or press `F11`, or use `Edit > Object Properties`. Properties update automatically when selecting different elements. The panel position (left/right) can be set in Preferences. |
| **Find hidden elements** | In the tree view of graphic elements, single-click an entry to highlight it briefly with blinking blue markers. Double-click to select and edit it.                                                       |

### Working with the Windows clipboard

**Cut**, **Copy**, and **Delete** behave as they do elsewhere in Windows and act on the selected graphic element or elements, with a few GeoDin specifics.

* **Group members come along.** Cutting or copying an element that belongs to a group or an object frame puts the whole group or frame on the clipboard, and pastes the whole group or frame back into the graphic. Group elements therefore cannot be duplicated inside the same group or into another one - use `Edit > Duplicate` instead when you want a copy inside a group or object frame.
* **Complex elements copy as images.** When a single complex graphic element is selected, such as a borehole column, it can only be copied as an image. The menu entry changes from **Copy** to **Copy image**, and correspondingly **Paste** becomes **Paste image**.
* **Copy all.** Only elements on the current drawing layer can be selected, unless **Access all layers** is active. `Edit > Copy all` sidesteps this: it copies the entire content of the graphic to the clipboard regardless of drawing layer or selection state, which makes it the quickest way to move a complete graphic into another Windows document. Invisible drawing layers are not copied.
* **Pasting in from other programs.** Content copied from other Windows programs can be pasted into a GeoDin graphic - formatted text blocks from Microsoft Word, tables from Microsoft Excel, or drawings from CorelDraw, for example. GeoDin imports them as a bitmap or as a vector image, depending on the data format the other program puts on the clipboard.

Bitmap and Windows metafile *files* are brought in a different way, with the **Image** graphic element rather than the clipboard.

***

## Drawing layers

Layouts use multiple drawing layers, visible in the **Layer Overview** panel (lower-left corner). Layers can be toggled visible/invisible, reordered, and locked. Use separate layers to isolate fixed elements (title blocks, logos) from variable graphic elements.

For the full drawing layers reference - dialog icons, visibility controls, and the `Ctrl+E` shortcut - see [Customizing Log Layouts](/visualization-layouts-and-reporting/creating-borehole-logs/customizing-log-layouts#drawing-layers).

## Snap function

The snap function (`Ctrl+K`, or **Preferences > Snap**) provides exact alignment when drawing graphic elements. Endpoints, corners, and nodal points snap automatically to nearby existing points within a configurable distance (1-50 mm via **Preferences > Snap preferences**). Works across all drawing layers. Affected elements: lines, rectangles, polylines, and borehole profiles.

## Grouping elements

| Action                 | How to                                                                                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Group**              | Select multiple elements, then use the Group icon or `Arrange > Group`.                                                                                            |
| **Ungroup**            | `Arrange > Ungroup` or the Ungroup icon.                                                                                                                           |
| **Lock/Unlock**        | Lock group elements to prevent accidental edits. Unlock to modify individual elements within the group (elements can only be moved/scaled within the group frame). |
| **Add to group**       | Select the group frame first, then insert the new element - it automatically becomes part of the group.                                                            |
| **Merge groups**       | `Arrange > Merge groups` combines two or more groups (or object frames) into one. This can unite different layouts into a single object frame.                     |
| **Multiple selection** | When multiple elements are selected, display/arrangement functions (move, z-order, fix/unfix) apply to all at once.                                                |

{% hint style="info" %}
Grouping inside a group is not possible. Geological graphic elements are already grouped and cannot be grouped further.
{% endhint %}

Arrangement changes on grouped elements apply only inside the group. To change the arrangement of grouped elements relative to the rest of the graph, move the group frame itself to the fore- or background. For general z-order behavior (Bring to front / Send to back), see [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties#reference-text-elements).

## Using palettes

Palettes provide preset fill patterns, colors, line types, fonts, and symbols that can be applied to elements with a single click, significantly speeding up layout styling.

* **Activate:** `View > Palettes` (toggle).
* **Apply:** Double-click a palette entry, or single-click then click the Apply icon. Hold Shift to apply to multiple selected elements at once.
* **Palette sections:** Fill Pattern, Colors, Line types, Fonts, Symbols.
* **Fill patterns** apply to polygon, rectangle, circle, ellipse, and symbol elements. Transfer of background/foreground color is configurable.
* **Colors** apply to line, polygon, rectangle, circle, ellipse, symbol, and text elements.
* **Line types** set style, thickness, and color for line-based elements.
* **Fonts** apply style, size, and color to text elements (other settings like angle are preserved).
* **Symbols** apply symbol type (and optionally fill pattern and line type) to symbol elements.
* **Custom palettes:** Copy an existing `.PAL` file to a new filename. The palette folder is configurable in Preferences.

## Layout snippets

A layout can embed another layout as a snippet - for example, a header/footer stored once in `Common_A4_LHF.GLO` and referenced by many templates. The snippet pattern lets users change a company logo in one file and have all layouts using it update automatically.

A snippet appears in edit mode as a green-boxed region that cannot be edited inline - open the snippet layout directly to edit it.

***

## Reference: Editor display preferences

Preferences controls how the editor draws selection markings and positioning aids. None of these settings change the layout itself - they only change what you see while editing.

**Markings.** Choose the size of the markings, and a highlight color each for movable and for fixed elements. The color used for the layer markings of the [Join layers](/visualization-layouts-and-reporting/creating-custom-layouts/construction-and-alignment#join-layers-tool) tool is set here as well.

**Element positioning points.** Every graphic element has a position point made of an X and a Y coordinate; it is the point reported in the status line and in the position dialog. It is not always the upper left point of the element - for a rectangle it is, but for a circle it sits in the center, and for a **Borehole log** element it sits in the middle of the borehole. Turn on the **Draw** option to display the position point alongside the usual selection points, and pick its highlight color.

**Indicate kind of object frame data using symbols.** With this option on, object frames and multi-object frames carry sphere symbols showing whether objects are linked to them. An empty sphere means no relation; a filled sphere shows the kind of relation - red for an object, blue for a measurement point. See [Object Frames](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames#visual-indicators) for how to read the indicators in context.

**Show guidelines when moving elements.** When you nudge an element with the keyboard (`Shift + arrow keys` or `Ctrl + arrow keys`), GeoDin checks whether the element's sides line up exactly with existing elements. When they do, a briefly visible guideline appears, which makes positioning along horizontal and vertical axes faster. The option can be turned on and off.

## Reference: Layout interface settings

Layout interfaces provide configuration panels for different element types, accessible without opening the full editor.

| Interface         | Applies to                                                    |
| ----------------- | ------------------------------------------------------------- |
| **Scales**        | Borehole log, well design, data sequence, samples             |
| **Labeling**      | Text and variable text elements                               |
| **Data sequence** | Data sequence elements                                        |
| **Reports**       | Measurement value graphic elements                            |
| **Time series**   | Measurement value graphic elements (time series mode)         |
| **Selection**     | Report, data sequence, and measurement value graphic elements |
| **XY-diagram**    | Measurement value graphic elements (XY mode)                  |

Elements must have **Make available as quick setting** enabled to appear in layout interfaces. For the full list of quick-setting controls per interface type, see [Layout interface quick settings](#reference-layout-interface-quick-settings) below.

### Choosing which interfaces a layout offers

Before the interfaces can be used, decide which of them this particular layout should expose. Click **Edit** in the **Layout interfaces** window to add or remove quick settings. All available options are listed grouped in sections; mark the ones the layout template should offer, and the views on the right show a preview of the layout as you go.

Options that make no sense for the current layout cannot be selected. A layout that contains only a report of measurement values, for instance, has no graphic element that a vertical scale could apply to, so the **Vertical scale** quick setting stays unselectable.

{% hint style="info" %}
Set **Changes cannot be saved within the layout overview** to stop layouts being overwritten from the overview. Detail editing and saving remain possible.
{% endhint %}

## Reference: Layout interface quick settings

Layout interfaces allow end users to adjust layout parameters without opening the full layout editor. Elements must have **Make available as quick setting** enabled.

| Interface                     | What it controls                                                                                                                                                                               | Requirements                                                           |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **Content for text elements** | Edit text/variable text content                                                                                                                                                                | At least one text element with quick setting enabled                   |
| **Parameter for left axis**   | Left axis parameter, view, decimal places, and label                                                                                                                                           | Time series diagram                                                    |
| **Parameter for right axis**  | Right axis parameter, view, decimal places, and label                                                                                                                                          | Time series diagram                                                    |
| **Axis range left Y-Axis**    | Left Y-axis scale range                                                                                                                                                                        | Time series with "Draw scale and labels" enabled                       |
| **Axis range right Y-Axis**   | Right Y-axis scale range                                                                                                                                                                       | Time series with "Draw scale and labels" enabled                       |
| **X-Axis range**              | X-axis range and decimal places                                                                                                                                                                | XY-diagram                                                             |
| **Y-Axis range**              | Y-axis range and decimal places                                                                                                                                                                | XY-diagram                                                             |
| **Selection parameter**       | [Selector/post-selection](/visualization-layouts-and-reporting/maps-and-site-plans#post-selection) conditions (numbers, strings, dates, HAS operator with comma-separated terms, `%` wildcard) | Elements with selectors; selectors sharing a name are updated together |

### Parameters a quick setting can carry

A quick setting is only offered when the matching parameter was set in the target layout beforehand. The parameters available are grouped as follows:

| Group                                                                                            | Parameters                                                                                                |
| ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
| **Layout**                                                                                       | Drawing layers                                                                                            |
| **Scales**                                                                                       | Vertical scale, Horizontal scale, Orientation to ground level                                             |
| **Labels**                                                                                       | Text of text elements, Sheet number                                                                       |
| **Exploration**                                                                                  | Display range of the data sequence                                                                        |
| **Reports**                                                                                      | List comparison, Measuring program                                                                        |
| **Time series**                                                                                  | Time series representation of the last..., Range of time, Parameter of left axis, Parameter of right axis |
| **XY-plot**                                                                                      | Parameter of X-axis, Display range of X-axis, Parameter of Y-axis, Display range of Y-axis                |
| [**Schoeller-plot**](/visualization-layouts-and-reporting/maps-and-site-plans#schoeller-diagram) | Display range of Y-axis                                                                                   |
| **Selection**                                                                                    | Selection parameter                                                                                       |

Quick-setting parameters overwrite the corresponding parameters on the elements of the target layout, and act as restrictions in the target layout's queries.

{% hint style="warning" %}
Quick settings do not reduce the amount of data read from the database. If you hold ten years of data and use a quick setting to show only the current period, GeoDin still fetches all of it and discards what is not displayed. To limit what comes out of the database, use [parameterized queries](/data-analysis/creating-queries/parameterized-queries) instead.
{% endhint %}

## Reference: Unit systems in layouts

Display units from defined unit systems can be used in layouts. The depth scale reacts to different depth units for borehole profiles, extensions, samples, and soundings. Switching the unit system changes the displayed values without affecting the paper layout. The list of selectable unit systems can be restricted per layout.

### Where unit systems come from

A unit system is a system-wide assignment of parameters to units. Beyond switching the unit on an individual parameter, a unit system switches every parameter it covers to the corresponding measurement unit in one click. Switch between systems from the file menu at the top left of the window.

Three unit systems are predefined: database unit, metric system, and Anglo-American system. Further systems can be defined freely. Copying an existing unit system brings its unit assignments and parameters with it, which is the comfortable way to adapt a system rather than building one from scratch.

## Reference: Page layout and paper size

The editing window shows the paper size for the drawing as a shaded frame. Set the paper size in **File > Page layout**, or in the corresponding branch in the object properties of the graphic.

The paper sizes that can be chosen directly are A0 to A10 plus a range of American sizes. Self-defined formats are entered through **Paper formats** or the **Custom** checkbox; width and length can range from 5 to 1000 cm.

The page frame in the preview window has the selected page size, and the graphic is shown exactly as it will print - so design with the page margin in mind.

{% hint style="warning" %}
Almost every printer produces a page margin of its own, so graphic elements placed very close to the edge of the page may be truncated in the printout.
{% endhint %}

A graphic can be sent to any printer regardless of the paper format selected in the layout. When the graphic does not fit, GeoDin automatically offers to split it across several individual pages.

Tick **Make available as quick setting** to let users pick the paper size from the quick settings in the layout overview.

## Reference: Paper format quick settings

Paper formats can be included as layout quick settings, allowing users to switch page size without editing the layout. The default setting includes both size and orientation; orientation selection can be removed. Custom paper sizes from other installations are marked with a warning icon and can be added to the local installation via **Add paper formats** (requires write access to the Syslib directory).

Special paper sizes for your layouts are defined in the **Paper formats** system-configuration dialog. Once defined they are available in your graphics like any built-in size.

The definitions are stored in the file `papersizes.sys` in the Syslib folder (hence the write-access requirement above). Copying that file to another GeoDin installation transfers the custom paper sizes with it.


# Element Properties Reference

Styling and property reference for layout graphic elements - text, fonts, lines, fills, symbols, images, legends, and labeling.

Every graphic element in a layout shares a common set of properties: an element name, a drawing layer assignment, and a z-order position. Beyond that, different element types expose their own styling branches - text, fonts, lines, fills, symbols, images, legends, and labeling. This page is the canonical reference for all of those shared and per-type properties.

Part of the [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) family.

***

## Reference: Text elements

Text elements display static or variable content in a layout. Key behaviors:

| Property                            | Description                                                                                                                                                                                                                                                                                                            |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Simple text vs Formatted text**   | Simple text uses one font throughout. Formatted text allows mixed fonts, subscript/superscript, and per-section styling within a single element - useful when variable-length data (e.g. `$LONGNAME$`) must share a text element with a fixed label. Use formatted text sparingly as it requires more processing time. |
| **Word wrap**                       | When activated, the text element can be scaled horizontally and line breaks are inserted automatically. For rotated text (angle other than 0), the maximum width must be entered manually.                                                                                                                             |
| **Line break**                      | Use the Return key or insert `\` (backslash) in the text content.                                                                                                                                                                                                                                                      |
| **Make available as quick setting** | Releases the text element for editing via layout interfaces. By default, text elements are not available in the layout interface.                                                                                                                                                                                      |
| **Element name**                    | Identifies the element in the tree view of graphic elements. Use meaningful names to keep complex layouts navigable.                                                                                                                                                                                                   |
| **Drawing layer**                   | Shows which layer the element is on. Use the "In another layer" icon to move it.                                                                                                                                                                                                                                       |
| **Arrangement (z-order)**           | Overlapping elements display in insertion order. Use "Bring to front" / "Send to back" to reorder. Within a group, arrangement changes apply only inside that group.                                                                                                                                                   |

## Reference: Font properties

Font properties apply to text elements, axis labels, legend labels, and other text-bearing elements throughout layouts.

| Property                    | Description                                                                                                                                                                                |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Alignment**               | Six anchor points are available. The status bar always shows position relative to the chosen alignment point. Use center or right alignment for variable-length text and centered headers. |
| **Angle**                   | Rotates the text element up to 360 degrees.                                                                                                                                                |
| **Background**              | *Transparent* - elements behind the text show through. *Opaque* - text is cropped against a background color (white by default; customizable).                                             |
| **Font for formatted text** | When using formatted text, font selection is done inline while editing. In the Font properties panel, only vertical alignment and background type are available.                           |

{% hint style="info" %}
The superscript function does not produce correct results with every font. Use Verdana or Tahoma instead of Arial if superscript renders incorrectly.
{% endhint %}

## Reference: Line and outline properties

The following line/outline properties apply uniformly to grid lines, tag lines, dividers, page margins, sample symbols, and other line-based elements.

| Property           | Description                                                                                                                                                     |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Color**          | Select from the dropdown, or choose "Individually" (first entry) to open the full color dialog.                                                                 |
| **Line type**      | Select a line style from the dropdown.                                                                                                                          |
| **Line thickness** | Can be set in mm or pixels. Prefer mm - pixel thickness depends on screen resolution and does not match print output. Use pixels only for screen-only graphics. |

## Reference: Fill pattern and transparency

Fill pattern and color/transparency settings apply to area elements, symbol fills, and geological layer representations.

| Property                          | Description                                                                                                                       |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Background color**              | By default, defined in the fill pattern table. Select "User defined" to override with a custom color.                             |
| **Transparency**                  | Transparent fills allow overlaying filled areas. Not all print output devices support transparency.                               |
| **Line thickness (vector fills)** | Adjustable only for vector fill patterns; affects print output only (no visible change on screen).                                |
| **Fill pattern table**            | Select a fill pattern table and pattern for area fills. Foreground and background colors can be overridden with "User specified". |

## Reference: Fill calculation

Controls how area fills are determined from data fields.

| Mode                                | Description                                                                                                                                                       |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Color and fill pattern together** | A single data field determines both the background color and the fill pattern. Hover over the dropdown to see the selected field names.                           |
| **Color and fill pattern separate** | Background color and fill pattern come from different data fields - e.g., stratigraphy defines the color while petrography defines the fill pattern drawn on top. |

## Reference: Symbol fill, color, and outline

Applies to symbol elements with filled areas (line-only symbols are unaffected).

| Property                  | Description                                                                                                                                               |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fill pattern**          | Select the fill pattern for the symbol's filled areas.                                                                                                    |
| **Draw area transparent** | When enabled, the graphic background shows through unfilled areas of the symbol. When disabled, the symbol's bounding rectangle hides elements behind it. |
| **Outline line type**     | Controls the contour line style of the symbol. Color and thickness follow the standard line property rules.                                               |

## Reference: Variable image

The variable image element displays an image or document whose filename can optionally originate from a data field. It can be inserted into an object frame multiple times. Element name, drawing layer, and z-order properties follow the same rules as text elements.

When a variable image displays a **GeoDin map**, an additional "Map" branch appears in object properties for configuring scale, map limits, legend, and scale bar.

### Supported image formats

The Image graphic element supports importing the following file formats:

`.bmp`, `.wmf`, `.emf`, `.png`, `.jpg`/`.jpeg`, `.tiff`, `.ggf` (GeoDin Graphic Format)

### Data source

Three sources can supply the image or document:

| Source          | Behavior                                                                                                                                                                                                                                                                                                                                    |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **File**        | The data source macro must resolve to a complete file name, although the extension may be omitted - for example `C:\images\GeoDin\$LONGNAME$` searches that folder for a file named after the borehole. Without an extension, GeoDin looks for any displayable image file itself (`.wmf`, `.bmp`, `.jpg`, GeoDin graphic files, and so on). |
| **Layout list** | The image must be present in the layout list file and can only be used in layouts belonging to that layout list. The macro must resolve to an image name matching one in the layout list's image list.                                                                                                                                      |
| **Documents**   | The image or document is stored in the document management of the current GeoDin database, so its availability does not depend on folders. This requires an object frame linked to the database through an object or measurement point - as in a borehole log, well design, or report layout.                                               |

**Selecting a database document.** Use the **Search document** icon to browse the available documents, select an entry, and confirm with **OK** - the document or folder name is written into the **Data source macro** field, where it can also be typed directly. The **link level** determines where documents are searched:

* **Measurement point** - documents linked to the measurement point currently displayed in the graph.
* **Object** - documents linked to the displayed object. (An object is always also a measurement point, so for boreholes both settings give the same result.)
* **Project** - a document related to the current project. Switching between objects or measurement points of the same project does not change the displayed document; only a different project does.
* **Database** - a document related to the current database. The document changes only when an object from another database is displayed.

Document searches ignore upper and lower case, and all folders of the object are searched, so avoid using the same document name in different folders of one object. Give the corresponding documents in different objects the same name (for example `core box`) so the element can identify them. If no matching document exists for the displayed object, the element is drawn as a dashed frame.

The macro can also resolve the name from data - for example when each borehole stores its own photo name in a general-data field, the macro reads that field and looks up the document with that name. The two workable naming strategies are therefore identical document names across objects used literally in the macro, or different names resolved through a data-field macro.

**Folder-based data sources.** Selecting a folder rather than a document in the **Search document** dialog makes the macro reference a folder, for example `\\Dokuments\Cores`. When the folder holds several documents, the page-browsing icons in the layout step through them. Wildcards are supported: `*` matches any characters and `?` exactly one - `\\Dokuments\Cores\photo*` displays every document in the `Cores` folder whose name starts with `photo`.

**Document ID as data source.** A document ID can be given directly with `%ADC_ID=<reference>`, where `<reference>` points to a data field content holding the ID - for example `%ADC_ID=$GEODIN_ADC_ADCDATA:ADC_ID$`. Such IDs normally come from a query entered in the **data source** field. If the query returns several data sets, the image element creates one page per document, browsable like folder-based sources.

**Documents displayed as symbols.** If the document is not an image or GeoDin graphic, or its image format is unsupported, it is drawn with its associated symbol - an internet address, for example. Right-click the symbol and choose **Show document** to open it in whatever Windows application handles that type. Video and audio documents play inside a window the size of the document frame, which can be enlarged and moved during playback while the rest of the graphic window stays usable; icons below the sequence stop and reset it. A document symbol appears only on screen by default; enable **Print document symbol** to include it in printed output.

**Barcode / QR code.** This option renders a barcode or QR code from a character string. Define the field holding the code in the **Data source macro** entry field.

### Map branch: scale and map limits

When the variable image shows a GeoDin map, the **Map** branch defines the scale of the map relative to the paper size. Changing the scale changes the size of the image element, depending on the map frame settings. With **-Keep map scale-** active, changing the map boundary adjusts the element size automatically and preserves the scale; with the option off, the scale changes with the map boundary so the element keeps its original size on paper.

Map limits can be defined in three ways:

| Mode                        | Behavior                                                                                                                                                                                                                                                                                                                                                  |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **-automatic-**             | The entire map is displayed based on the map layers.                                                                                                                                                                                                                                                                                                      |
| **-user-defined-**          | Enter minimum and maximum coordinates for the section to display. **Set to maximum** resets the fields to the full map extent.                                                                                                                                                                                                                            |
| **-user-defined centered-** | Enter the center of the map; the extent follows from the center, the scale, and the element size on the page. Useful for object-centered maps: enter `X: = $XCOORD$` and `Y: = $YCOORD$` under **Read from**, and when the layout is used with a GeoDin map in the layout overview the map section shifts automatically so the object sits at the center. |

**-Round up corner values-** rounds the map limits derived from the layer extents to reasonable numbers - 10,000 instead of 9,973, for instance. **Edit properties without immediate graphic update** suppresses redraws while several settings are changed on a comprehensive map, reducing the update to a single step at the end.

For map limits in the site plan wizard, see [Creating Site Plans](/visualization-layouts-and-reporting/creating-site-plans).

## Reference: Legend elements and labels

| Property                       | Description                                                                                                                                                                                                |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Maximum legend symbol size** | Sets the maximum display size for legend symbols. Symbols larger than this value are scaled down.                                                                                                          |
| **Text alignment**             | Position legend labels: left, right, top, or bottom of the symbol.                                                                                                                                         |
| **Legend label content**       | Combines free text with variable data field names (e.g., `$LONGNAME$`). Use the right-click button in the entry field to access all data field names. Construction follows text macro syntax.              |
| **Translation (language)**     | Defines how dictionary-based data field contents are back-translated. Default is "Automatic" (uses the language set in the object type). If no translation exists, the abbreviation is displayed directly. |
| **List management icons**      | New, Duplicate, Delete, Move up/down, and "Edit without refresh" (for large datasets where reordering causes long recalculation). Double-click an entry to jump to its properties in the tree view.        |

### Choosing the elements a legend describes

A legend is calculated for a selected graphic element, which must be a measurement value graphic or a data sequence presentation. Two conditions decide whether an element can be picked:

* The element needs its own name - only named elements appear in the list of possible legend elements. Name elements right after creating them.
* The element needs a legend label, otherwise the legend symbols cannot be labeled.

If a series carries several legend labels - for instance because labels are also used inside the diagram - only the first labeling instruction of that series is used in the legend element.

### Legend spacing and layout

| Option                          | Effect                                                                                                                                                                                                                                    |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Distance of legend elements** | Spacing between the individual legend entries.                                                                                                                                                                                            |
| **Distance to margin**          | Spacing between the legend content and the legend margin.                                                                                                                                                                                 |
| **Define element width**        | Fixes the width of the symbol-plus-text combination for every entry. Without it, the widest entry defines the width for all.                                                                                                              |
| **Alignment**                   | Aligns the whole legend content left, centered, or right within the outlining rectangle of the legend element - useful when the number of entries changes dynamically.                                                                    |
| **Break up legend**             | Breaks the legend into its individual parts (rectangles, symbols, text elements) so they can be edited manually. Also available for a legend element in a cross-section; the cross-section itself is unaffected and can still be updated. |

### Automatic borehole log legends

The automatic legend covers geological layers and plasticity, plus special symbols, samples, and groundwater when those graphic elements are present in the object frame. These elements are not referenced explicitly and do not need names; each carries a **Show in legend** setting that decides whether it is included.

The legend is assembled in blocks, in this order:

1. Main components
2. Minor components (fill pattern mixer set to "mixed")
3. Sublayer symbols and component symbols
4. Plasticity and special symbols
5. Filter screens (when showing filters is activated for borehole logs)
6. Groundwater symbols
7. Samples

Within a block, entries are sorted alphabetically. How main and minor components appear depends on the fill pattern mixer setting ("mixed" or "in percent"). Groundwater entries are usually not code-based - their labeling comes from pre-defined texts describing the groundwater situation, so the display depends on the presentation options and the language settings.

{% hint style="info" %}
A legend can be added to a cross-section as a cross-section scenario. It can show information from borehole profiles, special symbols, samples, and groundwater, but measurement value and data sequence graphic elements are not available for legends in cross-sections. In addition to the standard settings, the legend element can also be positioned there.
{% endhint %}

### GeoDin map legend in a layout

The legend of a GeoDin map can be shown in a layout. Select the **-draw-** option and set a **Relative position (mm)** measured from the upper-left corner of the map.

| Setting                     | Effect                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------- |
| **Layer headings**          | Whether layer headings are shown, and whether a dividing line is drawn between individual layers. |
| **Line type**               | Appearance of those separator lines.                                                              |
| **Indent** (layer headings) | Offsets the layer labeling; negative values move it to the left.                                  |
| **Font** (layer headings)   | Appearance of the layer labeling.                                                                 |
| **Indent** (layer elements) | Offsets the labeling of the individual legend elements; negative values move it to the left.      |
| **Symbol size**             | Size of the element symbols.                                                                      |
| **Font** (layer elements)   | Appearance of the element labels.                                                                 |

## Reference: Axis labeling

| Axis type          | Key settings                                                                                                                                                                                                                                                        |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Parameter axis** | Labeling option, decimal places. "Remove superfluous decimal places" strips trailing zeros - particularly useful for logarithmic axes (displays 0.001, 0.01, 0.1, 1, 10, 100, 1000). When per-series decimal places are enabled, the global setting is unavailable. |
| **Depth axis**     | Optional labeling with absolute height and selectable decimal places. Incline of a data sequence can be factored in - depth values are converted using the selected angle of incline (configure the incline data field in the Scale branch).                        |

## Reference: Data sequence connections

Two measurement series can be connected with a line by enabling "Connect with other parameters" and selecting the second series in the Parameter branch. The connecting line is drawn between corresponding depth values, and differences can be labeled (enable "Label differences" and configure font and decimal places in the sub-branches).

## Reference: Sample data labeling

| Property                  | Description                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Show/hide sample data** | Deactivate "Sample data" to display only the graphic without text labels.                               |
| **Overlapping text**      | Allow text overlap for narrow sample intervals, or use the default staggered layout to prevent overlap. |
| **Language**              | Select the retranslation language for coded sample data from the dropdown.                              |
| **Text position**         | Align sample data labels at the top, middle, or bottom of the sample interval.                          |


# Layout Files and Lists

Layout file formats (.GLO/.GGF), storage folders, snippets, and layout lists/collections (.GLL/.GLC).

This page covers the file formats GeoDin uses for layouts, how layout folders work, the snippet system for shared layout components, and layout lists and collections for report sequences.

Part of the [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) family.

***

## Reference: File formats

Layouts can be saved in two formats:

| Format                    | Extension | Contents                | Use case                                                                |
| ------------------------- | --------- | ----------------------- | ----------------------------------------------------------------------- |
| **GeoDin Layout**         | `.GLO`    | Template only, no data  | Reusable templates                                                      |
| **GeoDin Graphic Format** | `.GGF`    | Layout + connected data | Preserving a specific graphic (e.g., a cross-section with 10 boreholes) |

Only GLO files appear in the Available Layouts overview. GGF files must be opened by drag-and-dropping them into GeoDin.

## Default and custom layout folders

Default layouts ship pre-installed in `C:\ProgramData\GeoDin\Layouts\`, organized by object type (e.g., G1 has borehole logs, stiff/parameter layouts, water content vs depth, Atterberg limits). Users can add custom layout folders via **Available Layouts** > **+** button > browse to folder (e.g., a network share for team-wide layouts).

{% hint style="warning" %}
When editing a default layout, always use **File > Save As** (not **Save**) to avoid overwriting the shipped default. If a default is accidentally overwritten, there is no built-in reset - you must request a copy from the GeoDin team. In a network installation, overwriting a default affects all users on that install.
{% endhint %}

## Layout snippets

A layout can embed another layout as a **snippet** - for example, a header/footer stored once in `Common_A4_LHF.GLO` and referenced by many templates. Changing the company logo in the snippet file automatically updates all layouts using it.

In edit mode, snippets appear as green-boxed regions that cannot be edited inline. To modify a snippet, open the snippet layout file directly. Snippets can contain other snippets, and a layout can include any number of them.

Snippets are linked by relative path, so keep them in the same folder (or subfolders) as the layouts using them. This ensures the relationship is preserved when moving layout folders.

***

## Reference: Layout lists and collections

A layout list is a collection of individual layouts in a single file:

* **`.GLC` (Layout Collection)** - stores references to individual layout files. When a layout is changed, the collection automatically uses the updated version. *Recommended for new lists.*
* **`.GLL` (Layout List)** - stores layouts inline. When a layout is changed, it must also be updated in the list. *`.GLL` files can no longer be created; only existing ones can be opened.*

Layout lists enable **report sequences** - printing several layouts in a predefined order (e.g., master data sheet + geological profile + well design). They are also used for quick layout access in the **Create and edit graphic** method.

## Reference: Layout list editing

| Feature                            | Description                                                                                                                                                                        |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Create/edit GLC lists**          | **File > Edit Layout List > GLC** or **File > Create New Layout List > GLC**. Add layouts with the **+** button; double-click to set the file path.                                |
| **Reports**                        | Group layouts into named report sequences for multi-page printing (e.g., master data + geological profile + well design).                                                          |
| **Convert GLL to GLC**             | **File > Layout List > Convert** converts legacy GLL files. Layout groups and images are not included in conversion.                                                               |
| **Images (GLL only)**              | Images stored in a GLL file are embedded - the original file does not need to be available at use time. Renaming an image in the layout list manager breaks all references to it.  |
| **Default layout list (GLL only)** | Set a layout list as the default, accessible via the **Default layout list** button without using **File > Open**. Only a `.GLL` file can be declared as the standard layout list. |


# Construction and Alignment

Projection model, cross-section alignment, layer joining and freehand drawing, polylines, north arrow, scale bar, and report column properties.

This page is part of the [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) family. It covers the geometric and spatial tools available in the layout editor: the projection model that links paper coordinates to real-world coordinates, alignment options for cross-section boreholes, tools for drawing and connecting geological layers, polyline import/export, and display properties for the north arrow, scale bar, and report columns.

## Projection model

The projection model converts between paper coordinates (cm from top-left corner) and real-world coordinate systems (e.g., meters). This is essential for site plans and geological cross-sections.

| Setting                | Description                                                                                                           |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Point of reference** | A position on the drawing area is mapped to a projection coordinate (e.g., paper position 10,10 cm = projection 0,0). |
| **Scale**              | Set independently for X and Y axes (e.g., 1:1000 horizontal, 1:2000 vertical).                                        |
| **Direction**          | Configure whether axes increase to the right/left and up/down.                                                        |
| **Toggle**             | Switch between drawing area and projection coordinates via `Preferences > Projection`.                                |
| **Units**              | Define factors and display units; the status bar automatically selects the best unit (e.g., m vs km).                 |

The projection model is configured automatically when using the geological cross-section module.

## Cross-section alignment

| Feature                           | Description                                                                                                                                                                                                                                                                     |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Align to ground level (Datum)** | Select multiple object frames (`Shift+Ctrl+click`), then `Arrange > Surface level` to align boreholes vertically by their ground level elevation. The leftmost borehole is the reference. Boreholes requiring moves exceeding the page height are skipped with a warning.       |
| **Align to elevation**            | In a multi-object frame, depth is normally calculated from ground level. Enable "Align all objects to the maximum of elevation" to display at correct absolute elevation. Requires vertical datum in the general data. Use "Automatic start elevation" or enter a custom value. |
| **Datum correction**              | When boreholes use different elevation systems, select a data field containing the correction value to recalculate all elevations to a common system.                                                                                                                           |
| **Display adjusted inclination**  | Select the data field containing the borehole inclination (0 = vertical, up to 89 = nearly horizontal; 90 is invalid).                                                                                                                                                          |
| **Drawing depth options**         | *Depth* - draw to a fixed depth below ground surface. *Cut-off* - set a reduced level below which the cross-section is not displayed (acts as a horizontal cut line).                                                                                                           |

**Datum correction in detail.** The general-data field selected under **Data field to correct the vertical datum** can hold either a numeric offset per object or a key referring to a dictionary entry. With a dictionary, the difference to the reference datum system is stored in the dictionary and the number in the entry's **Standard** field is used. The value found is added to the elevation of the object's start point.

*Example:* a cross-section uses four boreholes measured in two elevation systems - boreholes 1 and 2 in system A, boreholes 3 and 4 in system B. The section is built in system A, whose elevations are 10 m higher than system B. Enter the difference to the primary datum system in a `DATUM SYSTEM` field for each borehole: 0 for boreholes 1 and 2, 10 for boreholes 3 and 4. Selecting `DATUM SYSTEM` as the correction field raises boreholes 3 and 4 by 10 m so all four sit in system A.

## Join layers tool

The "Join layers" tool connects geological layers between adjacent boreholes with filled polygons, either fully automatically or semi-automatically.

**Workflow:**

1. Activate the tool from the toolbar. It stays active until another tool is selected.
2. Click layers in two or more boreholes to select them (they highlight in color). Selection order does not matter - filling always starts from the leftmost borehole.
3. End the selection by right-clicking and choosing "End layer choice", or by re-clicking the tool icon.
4. In the dialog, edit the suggested fill pattern (based on the two outermost selected layers). Apply from a palette, or double-click to edit in detail.
5. Confirm with OK. Use `Edit > Undo` to remove if needed.

**Combining layers:** Hold Shift and click to extend the selection across multiple adjacent layers within one borehole. The first selected layer determines the suggested fill pattern. Shift+click a central layer to remove the entire selection for that borehole.

{% hint style="info" %}
Create cross-section layer connections in a separate drawing layer from the borehole columns to simplify editing.
{% endhint %}

## Freehand layer drawing

Layer connections can also be drawn as freehand polygons instead of using the Join layers tool. Draw with the Polygon element - the polyline does not need to be closed. Use overlapping layers drawn front-to-back to create clean boundaries: draw the deeper layer first, then overlap with the upper layer so the upper boundary becomes the visible edge.

**Drawing a polyline.** Place the individual nodes with left mouse clicks and finish the polyline with a double-click. Two behaviors follow from the fill and node count: a polyline filled with a pattern is automatically closed into a polygon, and a polyline with only two nodes is converted into the graphic element **Line**, which therefore cannot be filled.

**Editing nodes.** Select the polyline first, then activate the **Edit polygon** tool. With the tool active:

* **Move a node** - click it and drag it to the new position.
* **Delete a node** - click it (the selected node is marked black) and press `Del`.
* **Add a node** - hold `Ctrl` and click at the position where the node should be inserted.

Activate `Preferences > Show polygon points` to display the nodes of all polygons on screen, which makes it easier to align polygons with one another or position them precisely.

## Importing and exporting polylines

**Importing:** Use `File > Import > Polylines`. Polylines use the ArcInfo UNGENERATE format (`.lic`). Coordinates are transformed according to the active projection model. Maximum 8,192 nodes per polyline. Imported polylines appear red in preview; click "Add polyline(s)" to transfer them to the graph.

**Projection at import time.** If the imported coordinates are not already relative coordinates, transform them with the **Projection parameter** option. With **-Activate projection-** deactivated in the **Projection parameters** dialog, the imported coordinates are interpreted as relative coordinates. With projection active, every imported point is multiplied by the factor in the **Unit** entry field and then converted into relative coordinates; click the **Recalculation** icon to apply a new factor.

The insertion position depends on the coordinate system of the open GeoDin graph. By default a graph starts at the upper-left corner with coordinates (0,0) and increases to the right and downwards in centimeters, so an A4 page runs from X=0, Y=0 at the top left to X=21.00, Y=29.70 at the bottom right. If a polyline exceeds 8,192 nodes, the import stops at that node and a warning is shown.

**UNGENERATE file structure.** The ASCII file repeats one block per polyline:

```
ID XP YP
X1 Y1
X2 Y2
... ...
Xn Yn
END
ID XP YP
X1 Y1
X2 Y2
... ...
Xn Yn
END
END
```

`ID` is any ident number of the line, `XP` and `YP` are the coordinates of the ident point. None of the three is analyzed, so all can be `0`, but the first line of each polyline must still obey the syntax. `X1 Y1` to `Xn Yn` are the coordinate pairs of the polyline's nodes. Each polyline is closed with `END` at the start of a line, and the file itself is closed with a further `END`, so the last two lines both read `END`. The decimal separator is always a point.

*Example* - a file with two polylines of three coordinate pairs each:

```
0 0 0
10 12
15 12
15 16
END
0 0 0
4.5 5.1
7.5 11.3
4.3 7.7
END
END
```

**Exporting:** Use `File > Export > Polylines`. Three coordinate modes are available:

| Mode                       | Description                                                                                                                                                                                |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Relative coordinates**   | 2D coordinates in mm of the drawing area (origin = top-left of page).                                                                                                                      |
| **Projection coordinates** | 2D coordinates converted via the active projection model. For cross-sections, X = distance from first node of section line, Y = absolute height.                                           |
| **Global coordinates**     | 3D coordinates (easting, northing, absolute height) recalculated from the 2D drawing using the line of section. Requires a valid cross-section construction with correct projection model. |

Export produces multiple files: `.lic` (line coordinates), `.lia` (line attributes), `.plc` (polygon coordinates), `.pla` (polygon attributes), `.pnt` (line of section), and `.log`.

{% hint style="warning" %}
When exporting cross-sections in global coordinates, do not move the cross-section on the paper or change the paper format after construction. If the projection model becomes invalid, GeoDin displays error codes 1-9 with specific correction instructions accessible via F1 Help.
{% endhint %}

## North arrow and map rotation

For map elements within variable images:

| Property           | Description                                     |
| ------------------ | ----------------------------------------------- |
| **Draw**           | Toggle north arrow visibility.                  |
| **Position**       | X/Y offset from the top-left of the map window. |
| **Width/Height**   | Symbol dimensions.                              |
| **Angle**          | Map rotation angle (anticlockwise).             |
| **Rotation point** | Coordinates used as the rotation center.        |

## Scale bar

The horizontal scale bar appearance is configured with number of divisions, font type, size, and other display settings. Unit labeling (`m`, `ft`) is automatic when an EPSG code is defined for the cross-section objects - the unit matches the coordinate system of the EPSG code. Without an EPSG code, unit labeling must be entered manually.

## Column properties for reports

When configuring report columns, options include:

* **Report width:** Fix the report width so it remains consistent regardless of invisible or removed columns. Remaining column widths are calculated proportionally.
* **Horizontal orientation:** Position the report within its frame (left, center, right) - applies only when the report is narrower than the frame.
* **Vertical orientation:** Position data within the frame when content overflows to multiple pages (top or bottom).


# Object Frames

The Object Frame layout element - connecting layouts to database objects and grouping graphic elements by borehole.

The **Object Frame** is the first required element on any layout. It connects the layout to actual database objects via drag-and-drop from the GeoDin Object Manager tree, and it groups the graphic elements that belong to one borehole (or a set of boreholes). All complex graphic elements - borehole log, depth scale, samples, groundwater, data sequence, well design - must be placed inside an object frame. See [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts) for the step-by-step walkthrough.

## Working with object frames

### Visual indicators

The object frame uses sphere icons to show its connection state:

* **White sphere** - no database object connected; layout is in template mode.
* **Red sphere** - a single database object is connected (single object frame).
* **Blue sphere** - a measurement point is connected (rather than an object).
* **Multiple spheres** - multiple objects connected (multi-object frame).

Selected frames show **4 grey squares** and 4 grey side lines. An unselected frame is represented by **4 grey angles** at the corners.

### Selecting a frame

The object frame is a special type - a further development - of the group frame. To select it, click in the **boundary area** of the frame, or hold the **Ctrl** key and click at any place inside the frame. The special features for the scaling of group frames are also available for object frames.

### Data linking and drag-and-drop

Drag a database object from the **GeoDin Object Manager** onto the layout to link it to the object frame. Drag-and-dropping during layout editing is for editing-mode preview only - it does not permanently link objects to the template. The permanent data source for a layout run is set through the **Data source** branch in Object Properties.

For a **Multi-Object Frame**, hold the **Command** key while dragging to add multiple objects to the data source. The data source can be defined to specify exactly which boreholes to include in the output.

### Editing the objects-to-display list

In a multi-object frame the **Data source** branch holds the list of objects to display. The icons on the right of the list are the standard list toolbar - delete the selected entries, and move the selected entry up or down. The order of that list is the order the data appears in, so moving entries up and down is how the sequence of objects in a report is changed.

Two icons are specific to object frames:

* **Edit without refresh** - lets the object list be edited without the graphic being recalculated after every operation. Because recalculation of very extensive reports takes time, reordering or deleting objects is much faster with this active.
* **Refresh object data** - recalculates the graphic on demand. Changes to the underlying object data do not refresh the object frame automatically (again, because recalculation of extensive reports and calculations is slow), so use this icon after editing the data of the objects shown.

In a layout of the layout list, or in the layout preview, the frame instead shows the object currently selected in the Object Manager, or all objects of a query or group; changing the selection updates the graphic automatically.

### Graphic elements inside the frame

The geological graphic elements inside the object frame always refer to the borehole chosen by the frame. Individual graphic elements can be arranged in any way inside the frame - for example, a borehole log and a borehole table can be displayed side by side using the available labeling options.

The frame should be large enough to hold all the graphic elements it will contain. In most layouts it is recommended to draw the object frame to cover the entire page.

<figure><img src="/files/YmDDS4nnAr1qBFDZWRYx" alt="Object frame layout schematic"><figcaption><p>An object frame grouping the graphic elements of one borehole: one layout page highlights the location point frame; the second shows dashed placeholders for the depth scale, borehole profile, groundwater and samples elements.</p></figcaption></figure>

***

## Reference: Object Frame element

### Frame types

| Type                    | Description                                                                                                                                                   |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Single Object Frame** | Displays data from one database object (e.g., one borehole) at a time. A small red circle appears in the top-left corner when a database object is connected. |
| **Multi-Object Frame**  | Displays data from multiple objects simultaneously (e.g., 5 borehole logs side by side). Hold **Command** while dragging to add objects to the data source.   |

An object frame therefore has to be drawn for each borehole if more than one borehole should be shown in one graph, unless a multi-object frame is used.

### Position

Object frame position can be set exactly via **Properties > Position > X**, **Y**, **Width**, **Height**. For example, setting X=0, Y=0, Width=21 cm, Height=29.7 cm produces an A4 portrait frame covering the full page.

### Converting between frame types

An object frame can be converted to or from a multi-object frame. Select the frame, right-click, and choose **Convert Object Frame**. After confirmation, the frame is converted.

{% hint style="warning" %}
Some graphic elements - **well design**, **groundwater**, **special symbols**, and **samples** - can only be used in a single object frame, not in a multi-object frame. These elements are removed during conversion, and the confirmation window lists all removed elements. If the frame is linked to a dataset in the GeoDin Object Manager, the connection is also removed during conversion; re-establish the link by dragging the object onto the layout.
{% endhint %}

### Object frame queries

An object frame query makes additional database content available to a layout, beyond the fields that are retrieved by default - including content that is not part of the standard GeoDin database structure. A query is saved inside the layout file (`.glo`) itself, so it travels with the layout.

To create one:

1. In **Object Properties** for the object frame, add a new query under the **Queries** node and give it a name.
2. Define the GeoDin tables the query needs, and enter the resulting join as the **FROM** clause under **Configuration** (SQL knowledge is required for this step).
3. Map the object-identification fields the query needs to resolve: **PRJ\_ID** (project), **LOC\_ID** (borehole), and, where relevant, **INVID** (measurement point).
4. Use the query as the data source for a variable text element: select the element, and set the query as its data source, then build the label instruction from the fields the query now exposes.

An object frame can hold multiple queries, and each element inside the frame can use a different one. For the query syntax itself, see [Query builder reference](/data-analysis/query-builder-reference).


# Borehole Elements

The **Borehole log / Borehole tab** graphic element renders a borehole log inside an object frame: fill patterns, depth labeling, layer descriptions, and optionally a scaled tabular presentation. It supports three drawing types - **Graphic Log**, **Tabular Log**, and **Log with Default** - and automatically distributes across multiple pages when the chosen height scale requires it.

For the creation walkthrough (drawing an object frame and adding the element), see [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs). For general element properties shared across all layout elements (element name, drawing layer, z-order), see [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties).

## Companion elements

The following elements are typically placed alongside a borehole log in the same object frame. Each is described on its own page.

* **Depth Scale** - add from the toolbar; can be placed left or right of the borehole log. See [Scale Bars and Depth Scales](/visualization-layouts-and-reporting/scale-bars-and-depth-scales).
* **Samples** - automatically connects to the borehole and moves with it (height-synchronised; no vertical misfit).
* **Groundwater** - shows nothing if no groundwater data exists for the object. See [Groundwater Visualizations](/visualization-layouts-and-reporting/groundwater-visualizations).
* **Well Design** - renders casing and filling visualization alongside the borehole profile.

***

## Working with borehole elements

Borehole elements support three drawing types: **Graphic Log**, **Tabular Log**, and **Log with Default**. Elements can be resized; a red outline indicates insufficient space for the description text.

The borehole scale can be set to a fixed ratio (1:100, 1:200, etc.), a fixed depth interval (e.g., only show the first 10 m), or "Fit to Page" (dynamic scale per object). Setting an end depth can force a page break - for example, setting end depth to 10 m causes the borehole to continue on page 2. Scale, interval, page break, and fit-to-page settings interact and must be balanced together.

Text descriptions for borehole elements are driven by the `Text Macro > Build` button. For G1 ground descriptions, most information sits inside a single "geological description" macro (unlike other object types which use separate petrography and color macros).

Template layout objects include pre-made borehole logs (with ground description and layer patterns), water level triangle indicators, and borehole design visualizations. Borehole design displays can render the borehole with varying diameters, different casing types, different backfill materials, backfill grain size categories, and special features (concrete rings, piezometer boxes) at the correct depths.

Borehole logs drive the primary report output, appearing alongside CPT traces and multi-borehole comparison layouts.

***

## Reference: Borehole log graphic element

The **Borehole log / Borehole tab** graphic element renders the borehole log with fill patterns, depth labeling, layer descriptions, and optionally a scaled tabular presentation. The log automatically distributes across multiple pages when the chosen height scale requires it (unless single-page scaling is selected). Use the page navigation icons to switch between pages.

The element can be moved and scaled inside the object frame. All other graphic elements align vertically to the new position automatically. You can insert the borehole log element multiple times in one frame to display the same borehole as both a graphical log and a tabular description side by side.

#### Text and labeling

**Labeling with depth:** Depth values of layer boundaries are placed left of the borehole log. Depth values can be displayed in metres below surface or converted relative to the ground level measurement point (absolute). The decimal places option controls precision (default: one decimal place, e.g., 12.4). The borehole's angle of incline can optionally be taken into account, recalculating depth values using the entered angle from the Scale settings.

**Labeling with layer data:** Layer data descriptions are added on the right side of the borehole log. For layers with component descriptions, you can define whether component labeling occurs at the depth where the component is described. The option "Layer description only once" ensures that a layer split across pages is labelled only once.

**Language selection:** A different language than the input language can be selected for text labeling (requires configured [Standards](/administration/ground-description-standards)). Fill pattern presentation is not affected by language selection. Vertical text orientation and tag line styles can also be configured.

#### Graphical view

Controls whether the borehole log is drawn (otherwise only labels are displayed). The data presentation supports multiple country norms - with configured standards and fill patterns, borehole logs can be output in the original language with customary patterns, or in a foreign language with different patterns. In "Automatic" mode, the language and presentation norm from data entry are used. The profile width can be set to "Automatic" or a fixed "Default" value.

#### Tabular view

For a tabular (scaled) view of layer data, choose between a classic table or an outline with a rectangle, rounded rectangle, or circle. The special outline formats are suitable only for very short texts, such as soil type symbols.

#### Main layers and fill patterns

Borehole log presentation is typically based on main layers. Some object types also support component data entry and display. Main layers can be drawn colored or black-and-white, transparent or opaque. For printouts, the line thickness of fill patterns can be selected.

**Fill pattern mixer:** Select the preferred type of fill pattern mixture. To display a layer header profile, a percentage value must be stored in the dictionary under `Special settings > Graphic > Percentage value`.

**Show symbols:** Controls whether components are displayed as symbols. The size and position of symbols relative to the borehole centre can be configured.

**Show areas:** Controls whether components are displayed as areas, with configurable position relative to the borehole centre.

#### Layer query

Instead of using fill patterns from the original petrographic description, the borehole log can be filled with patterns from a layer query result. The calculation runs directly before presentation, so corrections to layer features in the layer data editor are immediately reflected. The presentation can be based on a layer query file or individual conditions.

**Individual conditions:** A single query can fill a borehole log without a layer query file. Layers matching the query are filled with a chosen pattern; non-matching layers remain empty. Select the data field, enter the code to search, and choose a fill pattern.

**Layer query file:** Select the layer query file from the drop-down and choose the layer query operation to perform. A typical result shows the lithography on one side of the log and the classification result - for example hydraulic conductivity - on the other.

**Layers matching several classifications:** One layer can satisfy more than one classification of the query. In that case up to four mixed fill patterns are displayed in the same layer band. For a clearer result, set the **Fill pattern mixer** to **Main components**: the matching classifications are then drawn as separate bars side by side instead of being blended into one band.

**Labeling with the classification result:** Three variables carry the layer query result into the log labeling (build them into the text macro like any other variable):

| Variable       | Content                                                                  |
| -------------- | ------------------------------------------------------------------------ |
| `$%GLQ_ID$`    | List of the IDs of the layer classifications the layer fulfills          |
| `$%GLQ_LNAME$` | List of the names of those layer classifications                         |
| `$%GLQ_CRES$`  | Calculated value of the **first** layer classification that is fulfilled |

#### Consistency display

Controls the display of consistency, compactness, and groundwater symbols on the right side of the borehole. Options include whether to draw the symbols, whether to show them in the automatic legend, and line type configuration.

#### Borehole line display

The borehole can be displayed as a vertical line when "Draw line" is activated. With an active centreline, the intersection between centreline and layer boundary becomes a snap point for constructing layers in cross-sections. When the full borehole is displayed, a horizontal line is drawn at the end depth; this line is omitted when only a partial section is shown.

#### Text macros

Four text macro modes are available for layer descriptions:

| Mode       | Description                                                                                                                                                        |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Text**   | Pre-defined selection of data fields with text translations of dictionary codes                                                                                    |
| **Norm**   | Standard macro definitions for layer descriptions based on the collection standard (e.g., DIN 4023, BS5930). Uses codes from the Standard field in the dictionary. |
| **Coding** | Uses raw database codes for labelling                                                                                                                              |
| **User**   | Fully customizable via the `<Build>` button                                                                                                                        |

Additional options:

* **Reverse slash:** Interprets `\` as a line break
* **Ignore unknown variable names:** Useful for universal layouts built for multiple object types
* **Join same layers:** Unifies adjacent layers in the borehole log when the content of selected data fields is identical

#### Document display settings

When displaying depth-oriented images in the borehole log element:

* **Scale pictures on maximum picture width:** When multiple images are used, scales all images to the width of the broadest one.
* **Scale pictures on picture frame:** Scales images to the width of the image frame element. Use with caution - images may be distorted.
* **Edit horizontal display detail:** Manually adjust the displayed image detail by removing pixels from the left or right margin.
* **Position of the detail within the scope:** When the image element is narrower than needed for undistorted display, select the visible portion using the slide control or pixel position input.
* **Horizontal alignment:** Sets the position of the image column within the graphic element frame.

#### Image header settings

A header from the first image (smallest start depth) can be displayed above the image column, provided that upper and lower pixel positions for the header area were defined in the document description. Options include "Draw header", "Repeat on every page", and "Edit header range" to remove undesired margins.

## Reference: Samples element data source

By default the Samples element displays every sample of the object, regardless of sample type.

**Restricting which sample types are shown:** In the **Sample types** entry field, enter the sample type as its dictionary code and choose whether the listed types are the only ones drawn (**Include**) or the only ones left out (**Exclude**). Several codes can be entered separated by commas. The codes are searched for in the data field selected alongside the field. For example, to show only the sampling intervals in which a special sample was taken, select the data field that holds the sample type and enter `so`.

**Redefining the interval boundaries:** By default the top and bottom of each drawn sampling interval come from the sample table fields that define the top and bottom of the sample. Where a different span is wanted, the interval boundaries can instead be taken from other numeric fields of the sample table - for example from the top of the sample to its penetration depth.

## Report Element

The **Report Element** is the layout component for tabular output of general, layer, sample, or measurement data. For full details and the export workflow, see [Report Elements](/visualization-layouts-and-reporting/creating-custom-layouts/report-elements).

Key behaviors:

* **Data source:** Choose General Data, Layer Data, Samples, or a specific measurement data type (e.g., CU).
* **Columns:** The blue **+** button adds columns. Each column requires a Text Macro (which parameter to display) and a Heading.
* **Row selectors:** Rows can be excluded by parameter condition (e.g., skip values above or below a threshold).
* **Conditional formatting:** Column Properties > Presentation Options -> set a condition and color (e.g., "if CU > 50, color row red").
* **Multi-block layouts:** Multiple report blocks can be combined in one layout (e.g., one general-data report and one measurement report side by side).
* **Export options:** Right-click in edit mode -> Export as Excel or CSV; or use the Report Access button in the layout overview for an Excel export without opening edit mode.
* **Report Type:** Original data (shows database values as-is) or Calculations (statistics, comparisons - more advanced).


# Measurement Value Graphics

The Measurement Value (Data Sequence) layout element for depth-vs-value plots

The **Measurement Value (Data Sequence)** element plots depth-oriented values: water content vs. depth, SPT, CPT traces, shear-wave logs, and similar series. It is one of two related layout elements for plotting test results - the other is the **Measurement Value graphic element (X-Y diagram)** for cross-plot charts. See [X-Y Diagrams](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams) for that one.

***

## Working with the Data Sequence element

**Sample depth alignment:** Sample-based data (such as water content) is drawn at depth relative to the sample's from/to depth, keeping values spatially anchored to where they were measured.

**Axis range - automatic vs. fixed:** The parameter axis and depth axis are independently configurable. In automatic mode, GeoDin picks the min/max range from the data. A user-defined fixed axis range keeps a consistent range across all objects - useful for comparison layouts, but values that fall outside the fixed range will be clipped and not visible.

**Parameter names by object type:** Data sequence graphs can pull any parameter from any database table. Object types use different parameter names in templates - for example, for AGS SCPT the parameter names are `SCPT_RES` (friction resistance) and `SCPT_FRR` (friction ratio); for G1 the same data uses different names. Use the GeoDin data source interface to select by test type (e.g., SCPG > SCPT) and then by parameter name when configuring a series.

***

## Reference: Data Sequence element

### Drawing types

| Drawing type             | Description                                                                                                          |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Curve**                | Continuous line connecting data points at depth                                                                      |
| **Curve with symbols**   | Line plus symbol markers at each data point                                                                          |
| **Symbols only**         | Discrete symbol markers at each data point, no connecting line                                                       |
| **Bar chart**            | Horizontal bars from the axis baseline to the value at each depth                                                    |
| **Table / tabular view** | Individual values displayed as text; horizontal lines configurable at top, center, or bottom of each sample interval |

### Parameter selection

The **Parameter** field of a series holds the value to plot. Click the icon at the right of the field for the parameter list, which is grouped by sector: data sequences, sample data, and measurement data. Alongside the variables of the "real" data sequences, the columns of the sample table and the parameters of the data types available for sediment samples (sediment chemistry, sediment petrography and similar) are offered where they exist. Parameters of the sample table are marked with `->`; parameters of data types are marked with `-}` followed by the data type code (for example `SED` for sediment chemistry).

**Parameter name from a general data field:** Instead of a parameter name, enter the name of a general data field enclosed in `$` symbols - for example `$USER01$`. The parameter whose name is held in that general data field is then displayed. This makes it possible to build one layout in which the data sequence parameters shown follow the general data of each object.

**Optional formula:** A formula entered here transforms the values of the chosen parameter before they are plotted. Use the macro `$PARAM$` as the placeholder for the selected parameter - do not substitute the parameter name for it. For example, `$PARAM$*2.5` plots the parameter values multiplied by 2.5.

**Sediment sample choice:** When the parameter comes from the samples and measurement values sector, **Sediment sample choice** limits which samples feed the graph. Enter the sample type codes in the **Sample types** field and select the **data field** they are searched in. With **Include**, only the measurement values of the matching samples are drawn; with **Exclude**, the matching samples and their measurement values are left out.

**Data point of the sample interval:** Sets where along the depth axis the data point of a sample is drawn. The default is the bottom of the depth interval; the top or the center can be selected instead.

### Object frame query as a data basis

Where data is not offered automatically in the parameter list, choose a system query as the basis for the series under **Object frame query**. Object frame queries are defined on the frame itself - see [Object Frames](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames) for how to create one.

A query supplies its own columns, so the depth values have to be pointed at explicitly: **Depth column (Start depth)** names the column holding the top-edge values and **Depth column (End depth)** the column holding the bottom-edge values.

A depth field specification is optional. Depending on the data source, the following fields are used automatically:

| Data source                             | Start depth (top edge) | End depth (bottom edge) | Depth fields definable |
| --------------------------------------- | ---------------------- | ----------------------- | ---------------------- |
| Data sequence                           | -                      | `DEPTH`                 | no                     |
| Measurement data from samples / filters | `INVZEND`              | `(G)OFFSET`             | yes                    |
| Measurement data from object            | -                      | `(G)DEPTH`              | yes                    |
| Object frame query                      | -                      | -                       | yes                    |

### Axis configuration

The parameter axis (horizontal) and depth axis (vertical) are configured independently. Division intervals can be set to automatic (GeoDin derives min/max from the data) or to a user-defined fixed range. Bars or curves can be interrupted over depth sections where samples were not taken continuously, so the graph does not suggest continuous coverage. The interruption option can be set for the whole diagram or separately for each series - the diagram-wide setting and the interruption mechanism are described in [Cross-Section Layouts](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).

### Optional test macro

The **optional test macro** field on a data sequence series allows writing a custom macro - for example, `W=$water_content$` - to display as a text label at the correct depth. The macro can include parameters from other data types, not only the primary series parameter.


# X-Y Diagrams

How to set up and configure the X-Y diagram (Measurement Value graphic element) in GeoDin layouts

The **Measurement Value graphic element (X-Y diagram)** plots one measurement parameter against another - for example, UU stress-strain cross-plots. It is one of two related layout elements for plotting test results; the other is the **Measurement Value (Data Sequence)** element for depth-vs-value plots. See [Measurement Value Graphics](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics) for that one.

GeoDin also uses X-Y diagrams as graphical templates for calculating new data sequence series using formulas - the layout must contain at least one X-Y diagram element, and the selected areas within the diagram define the conditions for applying the formula.

Supported diagram types: **Time Series**, **X-Y Diagram**, **Triangle**, **Piper diagram**, **Durov diagram**, **Pie chart**, **Histogram**, **Box plot**.

## Setting up an X-Y diagram

1. Add a **Measurement Value graphic element** to the layout (for general steps on adding elements, see [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) and [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts)).
2. Choose the **diagram type** from the available options (see the full list above).
3. Set the **X-axis parameter** and labeling.
4. Set the **Y-axis parameter** and labeling.
5. Add at least one **Measurement Graphic Series** and configure its properties.

## Optional settings

* **Measurement Graphic Series - name:** Label identifying this series in the diagram.
* **Measurement Graphic Series - data source:** Set to **Samples** to pull from sample measurements.
* **Measurement Graphic Series - object number:** In a multi-object frame, specifies which measurement point in the frame the series pulls from (for example, object number 1 or 2).
* **Connection line:** Choose **linear** or **spline** interpolation between data points.
* **Curve quality:** Controls smoothness when spline is selected.
* **Color:** Series color.
* **Symbol type:** Choose from plus, circle, square, and other marker shapes.
* **Symbol size:** Size of the symbol markers.

***

## Working with X-Y diagrams

**Multi-object frames:** A single series definition can pull from multiple measurement points using a multi-object frame. For example, a UU test layout can show undisturbed (sample 6) and remoulded (sample 8) results in the same diagram.

**PSD layouts:** Particle Size Distribution (PSD) layouts are pre-built and shipped with GeoDin. Customize an existing PSD layout rather than building one from scratch. See [Display PSD as a Bar Chart](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart) for the full workflow.

***

## Reference: Axes and diagram corners

### X-axis parameter and categories

Select the **Parameter/Formula** to display; the icon at the right of the input field opens the list of possible parameters. The axis caption is entered in the **Labeling** field. For the expression syntax, see [Text Macros in Reports](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

**Records build the axis categories:** This option divides the X-axis into as many sections as there are data records, one category per record, instead of into a numeric range. Take five measurement points `P1` to `P5` with the fields `name`, `date`, `me_value` and `interval`: the option splits the X-axis into five sections, while the Y-axis carries the value of `me_value`, set under **Properties > Diagram type > XY-diagram > Y-axis** in the **Parameter** field as `$me_value$`.

**Labelling of the categories:** Names the field that labels each category - for example `$name$` to caption each section with its measurement point name.

**Optional formula for distance of categories:** By default the categories are drawn at equal spacing. Where the data holds the distances between measurement points, enter that field here - for example `$interval$` - to place `P1` to `P5` at their real spacing along the X-axis. The field accepts calculations, so `$interval$/2` plots the records at half those distances.

### Triangle diagram corners

A triangle diagram takes three parameters or formulas, one per corner. When the diagram plots proportions of mol equivalents - as the frequently used anion triangle does - the corner formulas must apply the appropriate conversion factors themselves.

Example for an anion triangle:

| Corner | Formula                                | Plots |
| ------ | -------------------------------------- | ----- |
| Left   | `($WAS:NA$*0.0435) + ($WAS:K$*0.0256)` | NA+K  |
| Upper  | `($WAS:CA$*0.0499)`                    | CA    |
| Right  | `($WAS:MG$*0.0822)`                    | MG    |

The conversion factors per main component are tabulated with the water analysis calculations in [Regression and Curve Fitting](/data-analysis/regression-and-curve-fitting).

## Reference: Diagram surfaces

The **Surfaces** branch of the diagram defines static areas and lines drawn into the chart - background zones, threshold lines, classification fields.

**Coordinate system:** Choose first which coordinates the elements are defined in. With **Use absolute coordinates of the chart axes**, areas and lines are positioned against the parameters displayed, so a change to the axes moves them accordingly; if the axis interval is reduced they may then extend past the visible diagram, which the option **Clip areas on chart border** truncates at the graphic boundary. Without absolute coordinates, positions are entered in a diagram coordinate system running from X=0, Y=0 at the bottom left corner to X=1, Y=1 at the top right; a later change to the presentation area then distorts the areas and lines instead of moving them. Which system to use depends on what the areas are for.

Beyond drawing them, areas serve two further functions, both based on where a measurement point falls among the defined areas and on that area's color and formula.

### Colorizing a data sequence series from area colors

An area's color can be pushed onto a plotted data sequence series. For example, to color the series "Friction ratio in %" by soil type, build the X-Y diagram of friction ratio against tip pressure with the soil type fields defined as areas; the friction ratio presentation is then correlated with that soil type diagram, which acts as the source for the color coding.

### Calculating new data sequence series from area formulas

Each area can carry a calculation formula. For every measurement point, the formula of the area the point falls into is applied, producing a new measurement series. The formula must start with an `=` symbol and contain a mathematical expression. Three variables are available:

| Variable     | Content                         |
| ------------ | ------------------------------- |
| `$XVALUE$`   | The value plotted on the X-axis |
| `$YVALUE$`   | The value plotted on the Y-axis |
| `$RGBCOLOR$` | The color value of the area     |

For example, an area named `rf to 0,5 : Alpha = 6` with formula `= $YVALUE$ * 6` and 0 decimal places returns, for each point falling in it, the Y-axis measurement value multiplied by 6. A formula can be as simple as a constant (`= 1`) or hold any mathematical operator - `= 26.8 + (4.5*LN($YVALUE$))` - so watch the bracketing.

Used as `= $RGBCOLOR$`, the formula creates a series holding the area color at each depth as an RGB value. That series can in turn drive the color coding of a data sequence presentation, and in this case the presentation layout does not need to contain an X-Y diagram itself - useful, for example, for cross-sections with several colored data sequences.

The **Area without anchor points** has a special role: the formula defined on it applies to all measurement points that fall outside every other area.

## Reference: Scale and Tag Line Properties

### Scale labeling (Text)

Controls how numerical values are displayed along the scale axis:

* **Label side** - Place labels on the left or right side of the scale.
* **Decimal places** - Number of decimal places shown for numerical labels.
* **Start value position** - By default the start value is shown beneath the top line; it can be placed above the top line to avoid text overlaps.
* **Font** - Select font, size, and other typographic properties; the preview shows the current settings.

### Scale view

Controls the graphic appearance of the scale itself:

* **View type** - Choose the preferred graphic representation; the interval width is set by the main divisions.
* **Line type** - Select the line type used for the scale line.
* **Color** - Choose from the dropdown; select "Individually" to open the full color dialog for a custom color.
* **Line thickness** - Set in mm (preferred for print accuracy) or pixels (screen-only graphs). When set in mm, the preview thickness may not match print output exactly.

### Main help tags (tick marks)

Controls the appearance of major tick marks on the scale:

* **Tag line length** - Set automatically or to a fixed value.
* **Tag line alignment** - Default is top right; can be adjusted to centre right or bottom right.
* **Color and line type** - Select from dropdown or choose "Individually" for a custom color.
* **Line thickness** - Set in mm (preferred) or pixels.


# Report Elements

How to use the Report Element to produce tabular output and Excel exports across multiple objects

The **Report Element** is the layout component for tabular output: general data, layer data, samples, and measurement data, displayed inside a layout as a configurable table. Combined with a **Multi-Object Frame**, it is also GeoDin's most practical path for exporting tabular data across many objects at once.

For the related layout components (borehole graphic logs, depth scales, samples, groundwater, well design), see [Borehole Elements](/visualization-layouts-and-reporting/creating-custom-layouts/borehole-elements). For the broader template structure, see [Report Templates](/visualization-layouts-and-reporting/report-templates).

## Exporting tabular data via the Report Element + Multi-Object Frame

The most practical pattern for exporting master data or layer data to Excel from multiple objects at once combines a **Multi-Object Frame** (German: *Mehrfachobjektrahmen*) with a **Report Element**.

**Steps:**

1. In the layout editor, insert a **Multi-Object Frame** from the element toolbar.
2. Drag the desired objects (or a query) from the GeoDin Object Manager into the Multi-Object Frame - this populates the frame with the selected objects.
3. Inside the Multi-Object Frame, insert a **Report Element**.
4. In the Report Element properties, set the **Data source** (e.g. General Data, Layer Data, or a specific measurement data type).
5. Add columns using the blue **+** button. For each column, assign a **Text Macro** (the parameter to display) and a **Heading**.
6. To export, use the toolbar at the bottom of the layout view: because the layout contains a Report Element, an **Export to Excel** button appears. Click it to produce an Excel file with one row per object.

{% hint style="info" %}
This pattern is the recommended way to produce tabular exports of master data or layer data for multiple objects - for example, exporting chloride values from a groundwater chemistry data type for all objects in a query.
{% endhint %}

## Grouping and custom views in the Stammdaten Grid

The general data grid (Stammdaten Grid) supports dynamic grouping of rows by column values, allowing quick reorganisation of objects without creating a new query.

**Enabling the grouping area:**

1. In the general data grid, right-click any column header.
2. From the context menu, select the option to show the **grouping zone** (a grey area appears above the column headers).
3. Drag one or more column headers into the grouping zone. Objects are immediately grouped by the values in those columns. Multi-level grouping is supported - drag additional column headers to create nested groups.
4. To remove a grouping column, drag it back out of the grouping zone.

**Saving custom views:**

Use the **Save current view** button in the grid toolbar to save the current column order, visibility, sort, and grouping configuration under a custom name. Saved views can be recalled from the drop-down at any time.

***

## Reference: Report Element

### Data source and columns

| Property        | Description                                                                                                                                    |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data source** | Choose **General Data**, **Layer Data**, **Samples**, or a specific measurement data type (e.g., CU). Sets the data the report rows draw from. |
| **Columns**     | Added with the blue **+** button. Each column requires a **Text Macro** (which parameter to display) and a **Heading**.                        |

### Choosing the data source

The entries offered in the **Data source** list depend on the report type.

For an **original data report**, choose either one of the object's data tables (layer data, sample data, well design and so on) or the measurement values available for a measurement point type. The measurement point entries are marked with `-}` and a blue sphere - for example `-} filter` or `-} samples` - and produce a view of the individual values of the data types tied to that measurement point type, such as groundwater chemistry or groundwater dynamics for a filter.

For a **report calculation** such as a statistic, the choice is instead which measurement point type the data is taken from: samples, groundwater measurement point, or object measurement point.

**Measurement point choice:** When the data source resolves to the measurement values of a measurement point type, every measurement value of every matching measurement point of the object is printed unless the set is narrowed. Use the measurement point choice to restrict it: select the data field, then enter the required content in the **Contents** field and choose **Include** (only these measurement points are reported) or **Exclude** (these measurement points are ignored). Where the data field allows it, several contents can be entered separated by commas. A typical use is limiting the report to selected sample types.

**Additional sort field:** Report data is sorted by `INVID` and depth. A further sort field can be defined here.

### Removing unwanted rows

Three options thin out rows that carry no information for the chosen columns.

* **Remove empty rows** - drops rows that are empty from a configurable starting column onwards. For example, in a report of sample date plus potassium content, the dates on which other parameters were analyzed but potassium was not would otherwise appear as rows with an empty potassium cell; with the option active and the starting column set to the potassium column, those rows are dropped.
* **Remove identical lines** - removes any line whose content is identical to the line before it.
* **Remove rows without measurement data** - removes a line when no measurement data exists for the current sample. Unlike **Remove empty rows**, which only inspects one predefined starting column, this option also handles columns whose text macro mixes measurement data and general data - rows of that kind cannot be evaluated by **Remove empty rows**.

### Column type: text or image

Each report column is either a **text** column or an **image** column; the choice switches which section of the column properties configures the output. Text columns are driven by a labeling instruction, entered directly or assembled with the **Build** icon (see [Text Macros in Reports](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports); barcode and QR code columns and the backslash and translation options are described in [Export](/exporting-data/export)).

For an image column, the **Document** option prints a stored document as the image:

* **Link** - the ID of the object or measurement point whose documents are searched. This is normally `INVID`, derived from the data of the report line; the data fields available depend on the report's data source, so in a report listing projects the link can be a project ID instead. The keyword `Database` refers to documents assigned directly to the database.
* **Document name** - the name of the document to print. This assumes the documents are named after the objects or measurement points shown in the report.

### Row selectors

Rows can be excluded from the report by parameter condition - for example, skip values above or below a threshold. Selectors are configured in the Report Element properties and filter the displayed rows without modifying the underlying data.

### Conditional formatting

To highlight data by value, use **Column Properties > Presentation Options**: set a condition (e.g., "if CU > 50") and a color (e.g., color the row red). Conditional formatting applies at display and export time.

### Multi-block layouts

Multiple report blocks can be combined in one layout - for example, a general-data report and a measurement report placed side by side in the same frame. Each block has its own data source and column configuration.

### Footers and headers

Each report group can include a **footer** carrying additional information per group (see [Customizing Log Layouts](/visualization-layouts-and-reporting/creating-borehole-logs/customizing-log-layouts) for the HasLoop grouping pattern). For layouts using a **HasLoop** selector, add a **header** row of type **text** and use the text macro `$%SelectorContent:Selector name$` (as selector name, put the name of your HasLoop selector) to print the group name above each dataset group.

### Report types

| Type              | Description                                                                                              |
| ----------------- | -------------------------------------------------------------------------------------------------------- |
| **Original data** | Displays raw database values as-is: summary tables, sample overviews, measurement tables, borehole tabs. |
| **Calculations**  | Processes data before display: statistics, list comparisons, plausibility checks, grain size analyses.   |

### Exporting report data

Two export paths are available:

* **Right-click in edit mode** - right-click the Report Element -> **Export as Excel** or **Export as CSV**. Exports the visible data for the current object selection.
* **Report Access button** - in the layout overview, use the **Report Access** button to export to Excel without opening edit mode first.


# Text Macros and Variable Text

How to use the Text element and Variable Text element in GeoDin layouts, with macro syntax and display options

The **Text element** places static or fixed text anywhere on a layout. The **Variable Text element** places dynamic text that resolves live database values at render time - used for headers, footers, titles, and any labeled field that changes per object. Both elements are placed inside or alongside an object frame in the layout editor.

For the macro syntax reference (delimiters, concatenation, conditional separators, Build dialog, coding/norm/user modes, translation), see [Text Macros in Reports](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

## Adding a Variable Text element

Add a **Variable Text element** to the layout (for general steps on adding elements, see [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) and [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts)).

Once the element is placed, configure it:

1. Click the **Build** button in the element properties to open the macro editor.
2. Select macros from the available categories - **General parameters**, **Samples**, **Layer data**, and others. Use the **search bar** to find a specific macro by name.
3. Set the display options: **Show depth**, **Show layer data**, **Orientation**.

Common macros used in Variable Text elements: long name (full location name), project name, driller, borehole, EPSG code, X coordinate, Y coordinate.

## Optional settings

* **Coding / Norm / User mode** - controls which descriptor source feeds the macro. For G1 object types these are mostly equivalent; the **User** option allows arbitrary plain text mixed with macros.
* **Static text fields** - the plain **Text element** places fixed label text anywhere on a layout; it does not resolve database values.

***

## Working with text macros

Dynamic text fields resolve GeoDin parameters at render time. A macro placed inside an object frame references the object currently bound to that frame - for example, `$location_name$` pulls the current borehole name dynamically.

Macros can reference parameters from any table - general data, sample table, measurement tables, data sequences. Multiple parameters can be concatenated into a single string, for example to build a dynamic caption like "Sample `$sample_reference$` penetration from `$depth_from$` to `$depth_to$` meters".

Square brackets `[ ]` inside a macro act as conditional separators: the bracketed content is only rendered if the macro inside has a value, avoiding stray commas when fields are empty.

The **Build** button opens the macro editor, which also supports calculated parameters - for example, layer thickness derived from top and base depths.

**Translation support:** a single layout can hold multiple translations. Switching the file language under **File > Language** prints the same template in different languages without modification.

***

## Reference: Text element

The **Text element** displays static content - the same text on every output. It can be placed anywhere on a layout, including outside object frames. For shared element properties (element name, drawing layer, z-order, font, line, and fill properties), see [Element Properties](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties).

## Reference: Variable Text element

The **Variable Text element** displays dynamic content resolved from the GeoDin database at render time. It is typically used for headers, footers, and labeled fields that change per object.

| Property                 | Description                                                                                                                                 |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Build button**         | Opens the macro editor. Categories available: General parameters, Samples, Layer data, and more. Use the search bar to find macros by name. |
| **Show depth**           | Includes the depth value of the referenced row in the rendered text.                                                                        |
| **Show layer data**      | Includes layer attributes alongside the macro value.                                                                                        |
| **Orientation**          | Sets text orientation on the layout.                                                                                                        |
| **Coding / Norm / User** | Controls the descriptor source. **User** allows custom plain text combined with macros.                                                     |

Macro syntax - delimiters (`$...$`), concatenation, conditional separators (`[...]`), and the full list of available parameters - is documented in [Text Macros in Reports](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

## Reference: System variables and empty values

Besides the general data variables, a variable text element can use **system variables**, which describe the output rather than the object. System variables always start with a percent symbol and are listed alongside the other variables in the **Build** dialog; which of them are available depends on the object type in use.

| Variable    | Content                           |
| ----------- | --------------------------------- |
| `%VERSCALE` | Currently selected vertical scale |
| `%DATE`     | Current system date               |
| `%FILE`     | Current file name                 |

(These are layout output variables. The `%`-prefixed variables used to assemble layer descriptions from dictionary key groups are a separate set - see [Object Operations Reference](/object-types/object-operations-reference).)

**Empty macro values:** A variable only resolves when the object is linked to the object frame. Where the text stays empty because the general data is missing, a question mark is written at that position. The question mark is a preview placeholder only - it marks the spot in the graphic preview and is not printed in the output.

## Reference: Fill Color and Transparency

### Color / Transparency

Controls the fill color and transparency for fill patterns used in layout elements.


# Cross-section graphic element

The cross-section layouts graphic element controls how a cross-section graphic is embedded in a layout, including saving formats and document storage. For scale, axis range, labeling, and cross-section panel settings, see [Cross Section Layouts (cross-sections)](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).

## Cross-section file formats

Cross-sections can be saved in two formats:

* **GLO (GeoDin Layout)** - template only, no connected data. Use for reusable cross-section templates.
* **GGF (GeoDin Graphic Format)** - layout with connected borehole data. The cross-section can be opened later with its data intact.

For a full comparison of GLO and GGF formats, see [Layout Files and Lists](/visualization-layouts-and-reporting/creating-custom-layouts/layout-files-and-lists).

## Storing a cross-section in the project

A GGF cross-section can be stored directly in the project's **Documents** area:

1. In the Documents branch, create a new folder.
2. Add a new document and choose the GGF file.
3. Save the file in the database, or link to an external file.

This makes the cross-section accessible to all users of the project.

## Selecting boreholes for a cross-section

The cross-section module includes a **"from the top" map view** for selecting boreholes spatially. This view is accessed from the **All Objects** branch using the **Cross Section** method. Use it to select boreholes by their geographic position before defining the line of section.

## Depth scale

The depth scale division in a cross-section can be changed - for example, from a 1 m main division to a 5 m main division. For axis range and main division configuration across all layout elements, see [Cross Section Layouts (cross-sections)](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).

***

## Working with GeoDin Onsite form layouts

The following section describes **GeoDin Onsite** form layout behavior - the Onsite mobile data collection application, not the desktop layout editor covered above.

GeoDin Onsite is a digital form-filling application. It currently ships with 10 form layouts, selected from the 150+ layouts that exist in Gaia Forms (the predecessor tool).

Form types: **G1 drilling form** (code `G1D`), **Step 3 form** (ISO standard), **picture log**, **standalone Sample Picture Log** (code `SPL`), and a combined **Drilling Report + SPL bundle** (`Dr+SPL`).

The G1 drilling form has 8 pages by default, but pages are switchable via "Show/hide pages" (menu under the logo). Users can turn pages on/off based on need - for example, switching off SPT, discontinuities, sub-samples and switching on water levels yields 5 pages.

Page order inside a form can be rearranged using up/down arrows (no drag-and-drop; legacy-style reordering).

**Form bundles** are two forms chained together as one (for example, G1 drilling form immediately followed by a sample picture log page). To the user it looks like a single form type selectable from the new form list. Once created, a bundle cannot be split.

In a Drilling Report + SPL bundle, when adding a new sample picture, Onsite does not require scanning a QR label - instead it shows the samples already defined on the drilling pages so the user selects an existing sample and attaches a picture to it.

Forms are validated via a **Validate** button (also appears as a tick icon); validation lists all missing or invalid fields.

Fields are color-coded: **red** = compulsory, **black** = optional.

Forms contain standard GeoDin tables (same layout as in GeoDin) for layer identification, samples, and other data.

Layer identification uses Munsell color chart, minor constituents, stratification, bed thickness, spacing, and similar attributes - producing standard GeoDin codes with brackets and attributes.

Standard selection: **Configuration > Integration > GeoDin** lets the user select which drilling or description standard to use. The current Onsite version includes 5 standards with their relevant description types. Once a form is started, the standard cannot be changed for that form.

Default form values (driller name, driller assistants, rig name, view name, unit system, local coordinate system EPSG code) are configured once and auto-filled into new forms.

Forms have a validation state - incomplete forms with missing required fields cannot be published as complete.


# Creating Borehole Logs

Borehole logs are created as complex graphic elements in a layout: you draw an object frame, add the **Borehole log/Borehole tab** element inside it, and define the data it displays. This page covers the creation steps, how the borehole log element behaves in a layout, and the full set of report and presentation settings.

## Creating a borehole log graphic

The second toolbar contains the complex graphic elements - tools for borehole logs, well design, data sequences etc. General information on adding and editing graphic elements can be found in [Edit graphic](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics); detailed descriptions of the individual graphic elements are available in [Borehole elements](/visualization-layouts-and-reporting/creating-custom-layouts/borehole-elements).

{% stepper %}
{% step %}

#### Step 1: Draw the object frame

The object frame is the base for geological/geotechnical graphic drawing elements, whereby there is a difference between an object frame and a (multi) object frame. Before adding complex graphic elements, one of these frames has to be drawn and selected. See [Object frames](/visualization-layouts-and-reporting/creating-custom-layouts/object-frames).
{% endstep %}

{% step %}

#### Step 2: Add an element inside the object frame

Add the complex graphic element - for a borehole log, the element **Borehole log/Borehole tab** - inside the selected object frame.
{% endstep %}

{% step %}

#### Step 3: Define the featured object or objects

Define the object or objects the element displays at **Data source**.
{% endstep %}
{% endstepper %}

***

## Working with borehole log graphics

With the graphic element **Borehole log/Borehole tab** the borehole log can be realized with fill patterns, including the labeling with depth values and layer description, and presentation of the consistency - or optionally a presentation of the layer description in scaled tabular form.

The borehole log or the table is distributed automatically over several pages if the chosen height scale requires it and scaling on one page is not selected. In this case the two page icons in the upper symbol bar are available to switch from the previous page to the next.

The element **Borehole log/Borehole tab** can be moved and scaled inside the object frame. All other graphic elements are vertically brought into line automatically to the new position.

It is also possible to insert the graphic element **Borehole log/Borehole tab** several times into one object frame. This makes it possible, for example, to display an object graphically as a borehole log and tabular with the according layer description side by side.

When the width of the well design is changed, the standard settings result in:

1. the left border is fixed and the well design is enlarged to the right when a new object is linked to the layout,
2. the mid-axis is fixed and the well design is enlarged both to the left and right when a change is made to the horizontal scale, the constant width or the percentage width.

If the maximum diameter of all casing/piezometer series, multiplied with the number of casing/piezometer series, is larger than the diameter of the borehole, the presentation as constructed is not possible (borehole diameter `D`, maximum series diameter `MaxR`, and `MaxR × 4 > D`). The individual casing/piezometer series then have to be displayed side by side, despite being constructed staggered in reality.

{% hint style="info" %}
The relative borehole widening can solve the problem of staggered casing/piezometer series that are too wide to draw to scale.
{% endhint %}

***

## Reference: report and presentation settings

### Report type

**Original data report**

Using this option you configure reports which show the original data of the objects in summary. This can for example be a tabular presentation of a borehole tab, an overview of all samples of a borehole or tables of measurement values of the groundwater chemistry. Nearly all existing data in a GeoDin database can be documented in any combination.

**Report calculation**

Using this option you create reports which process measurement value data further before being used in a report, or calculate statistic parameters. The type of report is not always displaying the original values of the database. You can select the report types:

* **List comparison**
* **Statistic**
* **Annual statistics**
* **Laboratory control report**
* [Plausibility report](/data-analysis/data-checks-and-validations)

For grain size analyses:

* [Particle size parameter](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart)
* [Sieve analysis](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart)
* [Hydrometer analysis](/visualization-layouts-and-reporting/display-particle-size-distribution-psd-as-a-bar-chart)

**Plug-in reports**

This type of report requires the installation of plug-ins (external modules) of a third party. These plug-ins take over the configuration and calculation of the report. If no plug-ins are installed, no reports of this type can be created and the selection of this report type is not sensible. Otherwise choose the recommended report type of the plug-in. Because the plug-in is completely responsible for the calculation of the report, no further settings can be made in GeoDin (all smaller branches of the presentation settings are faded out).

### Horizontal scale

Here the preferred **Horizontal scale** can be selected. Entered diameters of borehole and casing elements are drawn with accurate scale.

* **Constant width** causes an automatic setting of the displayed (maximum) borehole diameter of the well design according to a fixed value.
* **Centre display** ensures that the well design always remains centered irrespective of the data or horizontal scale.

A **not scaled presentation of the borehole** is possible by entering `<>0%` in the particular entry field. The borehole is displayed smaller or larger according to the horizontal scale. All casing elements are still drawn in the selected scale. This option can be used to display fill patterns or staggered piezometers better.

### Text labeling

Selection of the labeling with depth values (optionally also absolute heights related to the ground level) and information concerning the borehole, fill and special features (element information). The angle of inclination of the location can optionally be taken into consideration for the labeling; the depth values are then recalculated according to the angle of inclination. The data field which contains the angle of inclination has to be selected in the branch [Scale](/visualization-layouts-and-reporting/scale-bars-and-depth-scales).

**Translation**

Select the language for text labeling. The selection of another language than the input language requires multi-lingual maintained dictionaries. The presentation of fill patterns is not influenced by the selection.

**Fonts**

The chosen font can be selected in the drop-down menu. Also size and other features are selectable. The preview shows the current settings.

### Borehole element labeling

Select if the chosen well design elements should be labeled and which labeling instruction should be used for this.

With the activated option **Standard** the elements are labeled with a predefined standard text. If you choose the option **User**, the labeling instruction can be entered in the text field or be constructed using the icon **Build**.

The construction of labeling instructions is described in detail in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

Text tags to the element can optionally be aligned automatically to the element border or centered.

### Grid

* **Show grid to end depth** - the background grid can be drawn until the end depth of the borehole, even when the measurement values do not reach this depth. The option is only active if a borehole log element is included in the object frame which is drawn until the end depth. Also the height of the graphic element data sequence must be large enough for the presentation until the end depth.
* **Draw in foreground** - if showing the data sequence in a grid, choose this option for the grid to be displayed in the presentation. Otherwise it is drawn behind the borehole log, curve or data sequence element and therefore partially hidden by filled borehole logs and curves.
* **Draw grid without data** - only active if the layout contains at least one displayable element (for example a borehole log or another data sequence graphic). If the current object contains no data concerning the selected measurement series, the grid of the data sequence element is drawn; otherwise the space in the layout remains empty.

### Profile display (graphically)

Select if the borehole log should be drawn (otherwise only labels are displayed).

The data presentation allows the presentation of borehole data in different country norms. For this, [Standards](/administration/ground-description-standards) and fill patterns are necessary. Once entered, borehole logs can this way be put out in the original language with the customary fill pattern, as well as in any foreign language with completely different fill patterns. In the mode **Automatic** the language and corresponding presentation norm of the data entry are used.

Optionally the width of the profile can be selected **Automatic** or directly (**Default**).

### Main layers

In most cases the presentation of a borehole log is based on the main layers. Some object types support the data entry, as well as the presentation, of **Components**.

Optionally the main layers can be drawn colored or black and white, transparent or opaque. For the printout, the line thickness of the fill patterns can be selected.

### Show symbols

Selection if components are displayed by symbols. Additionally the size and position of the symbol can be chosen regarding the centre of the borehole.

### Show areas

Selection whether components should be displayed as areas. Additional selection of the position of the area according to the center of the borehole.

### Layer query

If you choose the option **Layer query** as presentation form, the borehole log is not filled with the fill patterns of the petrographic description from the original layer data, but with the fill patterns of the filled layer order. The calculation is done directly before the presentation of the profile, so that a correction of the layer features in the layer data editor leads to an immediate change in the borehole log presentation.

The presentation can either be based on a [Layer query file](/data-analysis/layer-queries/complex-layer-queries) or the input of [Individual conditions](/data-analysis/query-builder-reference/conditions-and-operators).

### Individual conditions

The presentation of the result of a layer query basing on a single query is possible without a layer query file. In this case a borehole log is completely filled with one fill pattern, because only one query is put to a layer. All layers which do not comply with the query remain empty in the profile.

Select the data field and enter the code to be searched. Choose a fill pattern at the branch [Fill](/administration/fill-patterns-and-symbols). The layers in the borehole log which comply with the single query are displayed with this fill pattern.

### Consistency

Selection of the view of consistency, compactness and groundwater on the right side of the borehole.

* **Draw** - deactivate this option if you don't want consistency, compactness and groundwater to be drawn.
* **Show in legend** - define whether the symbols for consistency, compactness and groundwater are to be shown in the automatic legend.
* **Line type** - define how the lines are drawn; a detailed description can be found at [Line type](/administration/fill-patterns-and-symbols).

### Show as line

The borehole can be displayed as a vertical line if the option **Draw line** is activated. With an activated centerline, the nodal point between centerline and layer boundary is a snap point for the construction of layers in cross-sections.

If the borehole is displayed completely (no section entry), a horizontal line is drawn at the end depth of the borehole, whose thickness depends on the adjustment of the borehole width. If the borehole is only shown in a section which does not reach the end depth, the horizontal line is not drawn.

### Show filters

If an existing well design is added to a groundwater measurement place, this option can be used to add the presentation of the filter length in the borehole cross-section.

### Text macro

For the layer description you can choose between the following labeling modes:

| Mode       | Description                                                                                                                                                                                                                                                                                                                            |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Text**   | The borehole is shown with a pre-defined selection of data fields with a text translation of the dictionary codes.                                                                                                                                                                                                                     |
| **Norm**   | Uses standard macro definitions for the layer descriptions, depending upon in which standard the geological information has been collected (e.g. DIN 4023, BS 5930). The codes used are stored in the Standard field in the relevant dictionary - if no codes are present then the dictionary entries in the main window will be used. |
| **Coding** | The codes stored in the database are used for labelling.                                                                                                                                                                                                                                                                               |
| **User**   | The user-definable option can be customized via **Build**. Detailed descriptions are given in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).                                                                                                                                  |

* **Reverse slash** - this option allows the reverse slash to be interpreted as a line break.
* **Ignore unknown variable names** - if you use universal layouts that are built for multiple object types, this option is useful in ignoring variable names of data fields that are not present.
* **Join same layers** - adjacent layers in the borehole log or the borehole table can be unified to one layer if the content of the selected data fields is identical.

### Snap distance

The snap distance - the maximum distance which cannot be exceeded for connecting one point automatically to another - can be adjusted between 1 and 50 mm. The selection of the distance is possible using the menu entry **Preferences > Snap preferences**.

Graphic elements with nodes that are influenced by the snap function are: line, rectangle, polyline and borehole profile.

Generic element properties (element name, drawing layer): see [Element Properties](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties). The variable text element is described in [Text Macros and Variable Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text).


# Customizing Log Layouts

Log layouts are customized in the GeoDin graphics window: graphic elements are arranged inside object frames, organized on drawing layers, and tuned through the settings branches and layout interfaces described below. Creating the borehole log graphic itself - drawing the object frame, adding the element, defining the data source - is covered in [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs).

## Working with frames, layers and layout lists

### Object frames

The object frame is the key element for the presentation of geological objects. It is used for combination (grouping) of the graphic elements of a geological object; an object frame therefore has to be drawn for each borehole if more than one borehole should be shown in one graph.

Using the tool, an object frame is drawn. The frame should be large enough to hold all the graphic elements. The selected frame is represented by 4 grey squares and 4 grey side lines; if not selected, the frame is represented by 4 grey angles.

The object frame is a special type - a further development - of the group frame. The selection of the object frame as the active graphic element is done with the mouse in the boundary area of the frame, or with the **Ctrl** key pressed at any place inside the frame. The special features for the scaling of group frames are also available for the object frames.

Inside the object frame the individual graphic elements can be arranged in any way. For example a borehole log and borehole table can be displayed in detail using the large number of possibilities for the labeling instructions. The geological graphic elements inside the object frame always refer to a borehole; the borehole to be shown is chosen by the object frame.

The behavior of the **Borehole log/Borehole tab** element inside the frame (page distribution, moving and scaling, multiple instances) is described in [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs). The snap function is activated and deactivated using the menu entry **Preferences > Snap** or the shortcut **Ctrl+K**; it is described in [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics).

**Converting an object frame**

An object frame can be converted into a (multi-) object frame and vice versa. Select the frame and open the context menu with a right-click on the frame, then select the entry **Convert object frame**. After a confirmation, the object frame is converted into the other type.

{% hint style="warning" %}
Some graphic elements (well design, groundwater, special symbols and samples) can only be used in an object frame, not in a multi-object frame - they are removed during conversion, and the confirmation window lists all removed objects. If the frame is linked to a dataset in the GeoDin object manager, the connection is also removed during conversion; re-establish the link by dragging the object onto the layout.
{% endhint %}

<figure><img src="/files/YmDDS4nnAr1qBFDZWRYx" alt="Object frame layout schematic"><figcaption><p>An object frame grouping the graphic elements of one borehole: one layout page highlights the location point frame; the second shows dashed placeholders for the depth scale, borehole profile, groundwater and samples elements.</p></figcaption></figure>

### Drawing layers

A graph can be arranged in different drawing layers. The drawing layers are used to divide the graphic logically into several parts - fixed title blocks, for example, can be drawn in an extra drawing layer to separate them from variable graphic elements.

The use of different drawing layers can be summarized as follows:

* Because only graphic elements of the current drawing layer can be selected, inadvertent editing of elements in other layers is impossible.
* If a large number of graphic elements is used (for example in a geological cross-section), elements can be found and selected more easily if they are distributed on several drawing layers.
* Drawing layers can be hidden, so temporarily disturbing graphic elements do not have to be removed from the graph. The construction of the image is faster if you temporarily hide unneeded elements.
* Drawing layers may contain information which is either exclusively shown on the display or when printing. This way certain contents can be shown for specific user groups or applications.

Each drawing layer has a name; the name of the current layer is displayed on the right in the status bar. Creating new drawing layers or changing the drawing area is done by selecting the menu entry **Arrangement > Drawing layer**, with the key combination **Ctrl + E**, or by selecting the branch **\<Drawing layers>** directly in the object properties. The dialog itself is described under *Drawing layers dialog* in the Reference section below.

### Layout lists

Layout lists and collections (`.GLL`/`.GLC`), their advantages and report sequences are described in [Layout Files and Lists](/visualization-layouts-and-reporting/creating-custom-layouts/layout-files-and-lists). Editing a layout list file takes place in the GeoDin graphics window (see [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics)): open it either via **Open file** or - if the standard layout list is to be opened - via the button **Standard layout list**. Only a `.GLL` file can be declared as the standard layout list. In `.GLL` files, layouts can additionally be compiled into groups, e.g. to find a specific layout more quickly.

***

## Reference: layout settings and interfaces

The presentation settings branches **graphically**, **Main layers**, **Layer query** and **Individual conditions** for borehole logs are described in [Creating Borehole Logs](/visualization-layouts-and-reporting/creating-borehole-logs). Generic element properties (element name, drawing layer): see [Element Properties](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties).

### Image element

The graphic element image can be used for company logos, topographic background for a ground plan etc. The following graphic formats are possible:

| Format                    | Extensions        |
| ------------------------- | ----------------- |
| Bitmap                    | `*.bmp`           |
| Windows Enhanced Metafile | `*.emf`           |
| Icon                      | `*.ico`           |
| JPEG                      | `*.jpeg`, `*.jpg` |
| GeoDin graphic files      | `*.ggf`           |
| Picture Exchange          | `*.pcx`           |
| Portable Network Graphics | `*.png`           |
| TIFF                      | `*.tiff`, `*.tif` |
| Windows Metafile          | `*.wmf`           |

After adding this element it is first shown with a blue dashed frame. The selection of an image is made in the branch **Data source**.

### Parameter

Select here a parameter from the available data types. You receive a selection dialog by clicking on the button right in the entry field.

### Text labeling

**Labeling with depth** - The depth values of the layer boundaries are placed left of the borehole log. Optionally the depth values can be displayed in m below surface or converted correlated to the ground level measurement point (**absolute**). The decimal places option allows you to set how many decimal places are shown (the default value is one decimal place, i.e. 12,4). The incline of the borehole can optionally be taken into consideration; the depth values are then recalculated using the entered angle of incline. For this, the data field which contains the angle of incline must be adjusted in the branch [Scale](/visualization-layouts-and-reporting/scale-bars-and-depth-scales).

**Labeling with layer data** - The layer data are added on the right side of the borehole log. If they consist of layer data with the option of component descriptions, it can be defined whether the labeling of the components is done in the depth in which the component is described. Choosing the option **Layer description only once**, a layer which is parted is only labeled once.

**Language** - The selection of a different language than the input language requires [Standards](/administration/ground-description-standards). The presentation of fill patterns is not influenced by the selection.

The (vertical) text orientation of the labeling can be chosen, as well as the line type of the tag lines of text related to the borehole log.

### Depth labeling (Text)

Controls how depth values are displayed alongside the borehole log:

* **Default** - Depth shown in metres below ground surface.
* **To Datum** - Uses the elevation entry to calculate height relative to datum (typically mean sea level).
* **Adjust inclination** - Recalculates displayed depths to vertical or horizontal using values from a specified data entry field (e.g. angle of inclination).
* **Decimal places** - Number of decimal places shown on depth labels.
* **Special text 1 / Special text 2** - Adds groundwater level information where supported by the object type. Only applicable to SEP1 object types where groundwater date information has been entered in the "Additional information" field of the layer description.
* **Font** - Select font, size, and other typographic attributes; the preview shows the current settings.
* **Background** - Set to *Transparent* to allow underlying graphic elements to show through character areas; set to *Opaque* to crop background content behind the text (default: white background, colour configurable).

### Tag lines (Tags)

Controls the visual style of the tag lines connecting depth labels or layer text to the borehole log:

* **Line type** - Select the line type for tag lines.
* **Color** - Choose from the dropdown; select "Individually" to open the full color dialog for a custom color.
* **Line thickness** - Set in mm (preferred for print accuracy) or pixels (screen-only use). When set in mm, the preview thickness may not match print output exactly.

### Layout interfaces

These layout interfaces offer setting options and are usable for layouts which contain the corresponding graphic elements:

| Interface         | Setting options for            | Usable for layouts containing                                                                                                                                                                                                                                                         |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scales**        | Horizontal and vertical scales | [Borehole log](/visualization-layouts-and-reporting/creating-borehole-logs), [Well design](/workspace-and-data-management/creating-objects/well-design-data), [Data sequence](/importing-data/data-sequences), [Samples](/workspace-and-data-management/creating-objects/sample-data) |
| **Labeling**      | Text elements                  | [Text and Variable text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text)                                                                                                                                                                  |
| **Data sequence** | Data sequences                 | [Data sequence](/importing-data/data-sequences)                                                                                                                                                                                                                                       |
| **Reports**       | Report elements                | [Measurement value graphic](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics)                                                                                                                                                                  |

### Drawing layers dialog

All existing drawing layers are listed here; the number of elements in each drawing layer is displayed in the second column. The current drawing layer is marked with a pen symbol. With the help of the boxes the visibility of a drawing layer can be adjusted.

The icons on the right side of the list are used for editing the drawing layers:

| Icon                          | Function                                                                                                                                                                                                                                                                                                         |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **New drawing layer**         | A new drawing layer is created. A unique name has to be chosen.                                                                                                                                                                                                                                                  |
| **Delete drawing layer**      | The selected drawing layer is deleted after a security check. Deleting is also possible if the layer still contains graphic elements - deleting the drawing layer also deletes all its graphic elements.                                                                                                         |
| **Set current drawing layer** | The selected drawing layer becomes the current one (also possible by double-clicking the entry in the list). Invisible layers cannot be chosen as current drawing layers.                                                                                                                                        |
| **Properties**                | Change the name of the selected drawing layer and its visibility for screen and printer. It is also possible to enable the layer for the quick settings within the layout overview. The visibility options for screen display and for certain pages are only active in the layout overview, not in editing mode. |
| **Extended settings**         | All properties become visible within the list and can be deactivated with double-clicks.                                                                                                                                                                                                                         |
| **Access all layers**         | Generally no graphic elements can be selected from other (not current) drawing layers. If it is absolutely necessary to move graphic elements from different layers together, activate **Access all layers** - elements from all layers can then be selected and manipulated.                                    |

### Layout snippets

With the help of layout snippets individual layouts parts can be combined to make a completely new layout. These snippets can be standardized backgrounds, frames with company logos etc. Instead of drawing these elements in each layout, snippets can be integrated in the current layout to present information. GeoDin accomplishes this by saving a link to the snippet, rather than the snippet itself, so that any change made to the snippet is automatically reflected in all layouts where the snippet has been used.

To use snippets in the current layout choose the option **Use layout snippets** in the node 'Additional properties'. The branch 'Layout snippets' is then available to which snippets can be added. There is no limit to the number of snippets that a layout may contain and a snippet can be created from other snippets.

* **Name** - Give the snippet a name. Each snippet is automatically embedded in a special separate drawing layer (that is identified by this name).
* **Layout name** - Click in this field to choose the layout snippet file. The link to the file is saved with a relative path, hence snippets should be saved in the same folder or in sub-folders as the layouts. This ensures that layouts retain the relationship to their snippets even when the folder containing the layouts is moved. This is however only recommended practice and not obligatory - snippets can be stored in any folder, though this requires potentially more care.
* **Using layout snippets** - If a snippet is temporarily not required, it may be deactivated rather than deleting it from the layout. In this case it will not be loaded or calculated. If the drawing layer containing the snippet is made invisible, the snippet will not be shown, but will be loaded and calculated.
* **Bring to front** - The default setting places snippet elements in the background; this option allows them to be placed in the foreground.
* **Scale to page** - If a layout snippet has a different page size than the current layout, it will be added in the top left corner of the current layout, where it can be more easily scaled to fit the current page size. To achieve this the graphical elements must use [Anchors](#anchors), which control how scaling and positioning are carried out when changing the page size/orientation.

### Anchors

Anchors tie a graphic element to a specific point in the layout, which is what makes a layout survive a change of paper format - a company logo, for example, stays in the bottom right corner. The default anchor point is the top left corner.

**Anchorage**

| Anchorage                                      | Behavior on a page-size change                                                                                           |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| One corner                                     | No scaling. The horizontal and vertical distance to the chosen corner is kept.                                           |
| One margin (for example horizontal at the top) | Scaling along that margin. The height of the element is kept, as are the distances to the left, right, and top margins.  |
| All four corners                               | Horizontal and vertical scaling. All four corners of the element keep their distance to the related corners of the page. |

**Dynamic positioning**

The standard calculation for anchor points is static. With dynamic positioning, the distance to the margins is calculated relative to the page-size change instead: if an axis grows, the anchor position moves relative to that enlargement.

**Horizontal and vertical alignment of anchor points**

In addition to anchorage, the element can be aligned to the page. The alignment applies to the anchor points and is carried out when the page size changes. It makes it possible, for example, to center an element without scaling it:

| Anchorage              | Alignment                             | Result                                                                                                                       |
| ---------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Left top               | Horizontal center and vertical center | The anchor point keeps its position in the center both ways; the element size is unchanged.                                  |
| Left top               | Horizontal center                     | The anchor point keeps its horizontal center position; the element size is kept.                                             |
| Left top               | Vertical center                       | The anchor point keeps its vertical center position; the element size is kept.                                               |
| Top left and top right | Vertical center                       | The element scales horizontally because of the left and right anchors, and keeps its distance to the vertical center.        |
| Left top and right top | Top                                   | The element scales horizontally; it keeps its distance to the top of the page, so a reduced page height makes it move down.  |
| Left top and right top | Bottom                                | The element scales horizontally; it keeps its distance to the bottom of the page, so a reduced page height makes it move up. |

### Selection syntax

To describe parameter relations, string symbols are used like in labeling macros or formulas, for example `$NO3$` for nitrate. The condition has to contribute a logical result (true or false). Example for a condition (nitrate > 10): `$NO3$ > 10`. Several partial conditions can be connected with the logical operators AND and OR.

#### The Selector dialog

A condition is entered in a selector. The dialog has three parts:

* **Name** - any name you like. It makes selectors easier to tell apart in the object properties when several are defined, and it is the name shown in the layout interface when the selector is permitted to appear there.
* **Table** - the table or data type whose data field content the condition applies to. Click the icon at the right of the entry field to choose. The list also offers the option **-All data types-**, which is useful when one parameter occurs in several data types (for example `$SMPDATE$`): the selector then only has to be created once, regardless of which data type ends up being used in the presentation.
* **Condition** - the selection criterion, entered as a logical term. Clicking inside the input field opens a building dialog listing the possible parameters; a parameter name is applied to the editing field by double-clicking it.

**Chaining several selectors**

Several selectors are managed in the list of selectors. They are worked out in the order set there, and a dataset has to fulfill *all* of them to stay in the result list - single selectors are correlated with an **AND**. Restricting values to a time period, for example, is defined with two selectors:

```
Selector 1: Name = Start date   Condition = $SMPDATE$ >= '20150601'
Selector 2: Name = End date     Condition = $SMPDATE$ <= '20150630'
```

Only samples falling inside June 2015 fulfill both conditions, so only those appear in the presentation.

**Parameterized conditions**

Instead of writing a complete condition such as `$WAT:CL$ > 100`, the comparison value can be left as a parameter. The layout interface then no longer shows the whole condition - only the value has to be entered:

```
$WAT:CL$ > %NUMERICPARAM
```

The following placeholders are available:

| Placeholder     | Use with                                        |
| --------------- | ----------------------------------------------- |
| `%NUMERICPARAM` | Comparative parameters with numeric data fields |
| `%STRINGPARAM`  | Comparative parameters with string fields       |
| `%DATEPARAM`    | Comparative parameters with date fields         |

Using a parametric condition activates the **Default value** input field, where a standard value for the parameter is predefined - for example `100`. The default value is shown and entered in the format appropriate to the field, so a date can be typed according to the current country setting rather than in selection syntax.

Parameterization pays off in combination with the option **Make available as quick setting**: in the selection parameter of the layout, only the value is entered, not the condition text. The value chosen this way can also be printed in the layout with the `$%SelectorContent:...$` macro - see [Using the operator HASLOOP in reports](#using-the-operator-hasloop-in-reports) for the syntax.

#### String fields and wildcards

For **string fields** `=` can be used for an exact analogy and `like` for a similarity. If `like` is used the comparison string can contain wildcards: the symbol `%` stands for several characters, `_` for one character. The search term `Bore%` finds all samples that start with "Bore"; `Borehole_` only finds those samples which have exactly one character behind "Borehole" ("Borehole 1" is found, "Borehole 10" is not).

#### The operator HAS

Additionally, for drawing series fields the operator **HAS** is allowed. It detects if a subordinate symbol series exists and is useful for fields with dictionaries in which more than one code can be entered, divided by commas. The syntax styles are:

```
1) $DATAFIELD$ Has 'Code'
2) $DATAFIELD$ Has ('Code')
3) $DATAFIELD$ Has ('Code1','Code2'[...,'Code'])
4) $DATAFIELD$ Has 'Code1,Code2,...,CodeN'
```

If more codes are entered in the `Has` condition, minimum one of the specified codes must be in the data field. This is equal to the formulation: data field has code 1 or data field has code 2 etc. If parentheses are used (styles 2 and 3) the search terms can contain a comma. If the single quotations are used (styles 1 and 4) the comma is the separator between several terms.

For the entry of search terms also **wildcards** are allowed. For example the condition `$DATAFIELD$ HAS '%'` is always true if any content is found in the data field. A comparison using `HAS '%'` results in false if the data field is empty. To receive a comparison result true if the data field has a content or is empty, use the operator `%ANY`: `$DATAFIELD$ HAS '%ANY'`.

For comparisons with data fields the following syntax is used: `$BOREBEG$>'20021021'` (date `yyyymmdd` in inverse commas).

#### Using AND and OR

**Using AND** - This operator creates a combined limitation. For example `($PH$>7) AND ($COND$>200)`: only the data sets which comply with both conditions, for example a pH value of 7,6 and a conductivity of 245, are available. If only one of both conditions is not fulfilled - for example pH 6,3 or conductivity 178 - the data set is not complying with the conditions and is not selected.

**Using OR** - This operator creates a completing limitation. For example `($PH$>7) OR ($LEITF$>200)`: only one of both conditions must be complied with. That means a data set with pH 7,6 and COND 245, as well as a data set with pH 6,3 and COND 245, and also pH 7,5 and COND 178, fulfills the conditions and is selected.

{% hint style="info" %}
When using the operators AND and OR, the single terms have to be enclosed in parentheses.
{% endhint %}

#### Selecting the dataset position

To select a particular dataset the variables `%FIRST` and `%LAST` can be used. The first or the last dataset of a queried series of datasets is supplied. By adding a numeric operator the position of the dataset to select can be moved. Example: `%LAST-1` supplies the dataset before the last dataset of a measurement series. If the dataset position is invalid, an empty data volume is returned.

Both operators cannot be combined (neither with each other, nor with any other terms). Selectors which contain the operators `%FIRST` or `%LAST` can be combined with other selectors. In this case the order of appearance is decisive, because the selectors are executed one after the other.

Example:

```
Selector1=$SMPDATE$<'199100101'
Selector2=%LAST
```

A subset of datasets is determined which originate from a date before the 1.1.1991. The last dataset of this subset is used.

```
Selector1=%LAST
Selector2=$SMPDATE$<'199100101'
```

The last dataset of the measurement value is selected. If it has a date before the 1.1.1991 it is valid; otherwise the result is empty.

#### Return result for syntax errors

If the selection contains a faulty data field reference or typing errors it cannot be calculated. Depending on how it is used, this can lead either to a display of all datasets (selection ignored) or no datasets at all (all datasets are invalid). By extending the syntax, the return result can be defined for these cases. This is helpful if the selections refer to data fields which not all used databases contain. This could be for example measurement value parameters, which can be selected individually for each database by the user and therefore can vary from database to database.

The syntax is `[OnError:Result=true]` or `[OnError:Result=false]`. The value in brackets has to be at the end of the string, and the `[OnError:...]` statement is not case sensitive. Example: `$DATAFIELD1$ ='v' [OnError:Result=true]` - the result of the query would be true if `DATAFIELD1` does not exist in the database. If the data field is there, the selection is true if the field content is 'v', otherwise the selection result is false.

#### Using the operator HASLOOP in reports

By writing `$DATAFIELD$ Has 'Code1,Code2,...,CodeN'`, all data which fulfill the selection are taken and displayed in a report in one step. To reach a group of datasets with an attribute, the operator **HasLoop** can be used. The syntax is identical to the operator `Has` and allows several spellings: `$DATAFIELD$ HasLoop 'Code1,Code2,...,CodeN'`.

Other than `Has`, the selection and the display of the datasets in the report create a loop, so that single reports are combined one after the other:

```
$DATAFIELD$ Has 'Code1'
$DATAFIELD$ Has 'Code2'
...
$DATAFIELD$ Has 'CodeN'
```

The result is a report which contains the datasets in the order of the group sequence. Using the [Footers](/visualization-layouts-and-reporting/creating-custom-layouts/report-elements) of a report, each individual group can be given additional information. Often there should be a header line with the group name above the dataset group: add a header of type 'text' and use the text macro `$%SelectorContent:Selector name$` (as selector name put the name of your HasLoop selector).


# Creating Cross Sections

A cross section in GeoDin is a vertical slice through the ground that displays borehole data - logs, samples, groundwater levels, and data sequences - projected onto a user-defined line of section. This page is a reference for the cross-section window panels and their settings. For layout element options (axis ranges, data sequence display, layout lists), see [Cross Section Layouts](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).

## Reference: Cross-section panels

### Objects

By selecting the **Objects** branch in the cross-section object properties tree, the **Cross-section: Objects** window opens. The window is freely scalable and stays visible until another branch is selected or the window is closed.

Objects for the cross section can be added directly by drag and drop from the GeoDin object manager. Single objects, queries, or groups can be selected and dropped onto the list or the site plan. If an object is already included in the list, it is not added again.

Objects can be loaded from any database or project - data for a cross section does not need to be stored in a single project or database.

In the site plan, loaded objects are shown with a marker and label. The site plan can be zoomed and panned with the available tools.

**Borehole list**

The selected boreholes are displayed in a site plan. An object can be selected either in the list or in the site plan - it appears in red in the site plan and is highlighted in the list. The coordinates, elevation, and depth of the selected object are shown below the list.

Use the **Remove** button to remove an object from the list; it is also removed from the site plan.

**Coordinate transformation**

If borehole coordinates span different meridian zones (Gauss-Krüger coordinate system), use the zone selector to transform all coordinates into a single zone. The site plan updates accordingly, making it possible to define a continuous line of section.

If boreholes are on the southern hemisphere (Y coordinate increasing downward), enable **Southern hemisphere** to mirror the site plan.

Object coordinates can be multiplied by a selectable factor if required.

Switching between cross-section parts (objects, line of section, scales, cross-section scenarios) is possible by clicking directly on the branch in the object properties window, or by using the buttons in the upper right of the window.

### Line of section

By selecting the **Line of section** branch, the **Cross-section: Line of section** window opens. The window is freely scalable and stays visible until another branch is selected or the window is closed.

Two tools are available for defining the line of section:

* The first tool defines the line of section itself. The line can contain any number of nodal points; the position of each nodal point can be edited.
* The second tool projects objects onto the line of section. Objects are always projected at a right angle using the shortest distance to the line. Clicking a projected object deselects it. Objects already used as nodal points cannot be projected again.

The line of section can be built by connecting individual objects as nodal points, with additional objects projected onto the line. It is also possible to define nodal points freely without objects, then project all objects onto the resulting line.

The table on the right lists all nodal points and objects used as nodal points, with their coordinates. Coordinates of nodal points can be edited directly in the table. If a nodal point coincides exactly with an object, the object name is shown. Changing the coordinates of such a nodal point disconnects it from the object (the object can still be projected onto the line). Nodal points that are not needed can be removed with the **Remove nodal point** button.

The entire line of section can be deleted with the **Remove line of section** button.

**Saving and loading a line of section**

The line of section can be saved to a file with the **Save line of section** function. Each nodal point's coordinates are saved in LIN format (ASCII):

```
1
4444440.00000 5555200.00000
4444418.67902 5555150.35802
4444450.00000 5555100.00000
4444410.00000 5555050.00000
END
END
```

A saved line of section can be reloaded with the **Load line of section** function. This also allows importing lines of section from other programs, provided they are stored in LIN format.

### Cross-section scenarios

Scenarios define which graphic elements are shown for each borehole in the cross section. A scenario contains one graphic element (a scene) to be applied across all selected boreholes. Example scenes: a borehole log scene, or a variable text element showing the borehole name.

All depth-related graphic elements can be used in a scene: borehole logs, data sequences (cone penetration tests, geophysical logging data, sample data), well design, and groundwater levels.

**Available scene types**

| Scene                        | Description                                                  |
| ---------------------------- | ------------------------------------------------------------ |
| Distance ruler               | Horizontal labelling line shown beneath the cross section    |
| Well design                  | Well construction elements                                   |
| Report                       | Tabular data report                                          |
| Borehole profile             | Borehole log                                                 |
| Ground surface               | Surface elevation line                                       |
| Groundwater                  | Groundwater level                                            |
| Depth scale                  | Vertical depth scale bar                                     |
| Legend for borehole profiles | Legend items for profiles, symbols, samples, and groundwater |
| Measurement graphic          | Data sequence graph (CPT, geophysical, sample data)          |
| Samples                      | Sample markers                                               |
| Special features             | Special feature symbols                                      |
| Data sequences               | Data sequence values                                         |
| Symbols                      | Object symbols                                               |
| Variable text                | Text element pulling values from the database                |

By default, the borehole log, borehole name (variable text), and two scale bars are selected. Additional scenes can be added, removed, or modified.

Use the **Add** button to add more scenes and select the graphic element type. The drawing order follows the sequence in the list - the top scene is drawn first, the bottom scene last. Change the order with the arrow buttons. In cases of overlap, drawing order determines which element appears on top.

Cross-section scenarios can be saved and loaded independently of boreholes (file format: `*.gsz`). Click **Save** to store the scenario (`*.gsz`); **Load** applies a saved scenario to another cross section. All predefined scenes are available and can be adjusted as required. Multiple scenario files can be created for different cross-section themes.

## Reference: Scene settings

### Cross section scene

For each scene, a name can be assigned and its visibility toggled (shown or hidden in the graphic).

**Element width**

The display width of the scene element can be set manually or left on **Automatic**, which lets the cross-section module calculate a reasonable default width. For data sequences such as penetration tests that require a specific width, enter the value here. Widths from 1 to 100 mm are accepted.

**Element height**

Available for measurement graphics only. Sets the desired height of the scene in the graphic.

**Relative scenario position**

The position of each scene element relative to the anchor point of the object can be adjusted horizontally for all elements. Variable text elements can also be moved vertically.

The anchor point (X:0, Y:0) is the calculated position of the object in the cross section based on its coordinates and elevation. Example positions:

* **Borehole log** - drawn directly on the anchor point (X:0, Y:0)
* **Scale bar** - drawn 20 mm to the left: X:−20, Y:0
* **Groundwater symbol** - drawn 10 mm to the right: X:10, Y:0
* **Borehole name (variable text, top-aligned)** - shown above the borehole: X:0, Y:−5
* **End depth (variable text, bottom-aligned)** - shown below the borehole log: X:−5, Y:5

**Using scenes**

Select whether the scene is applied to all objects in the cross section (default), or only to the first object on the left and the first on the right. The latter option is intended for scale bars, which typically appear only at the outer edges of the cross section. Individual object assignment can be configured under [Objects](#objects).

### Column properties

**Creating columns**

In addition to manually creating columns, you can automate this process based on data fields from the chosen data source. This option is useful for reports designed for export (for example, Excel). Further column heading options and formatting of automatic macros can be defined under **Options**. It is better to use a fixed report width, independent of the number of columns.

**Report width**

Define whether your report should have a fixed width.

With this setting you can fix the report width even if there are invisible or removed (if empty) columns. Each remaining column has its width calculated proportionally to the report width.

**Example:**

| Column   | Defined width | Visible        |
| -------- | ------------- | -------------- |
| Column 1 | 20 mm         | Yes            |
| Column 2 | 40 mm         | Yes            |
| Column 3 | 50 mm         | Yes            |
| Column 4 | 30 mm         | Yes            |
| Column 5 | 10 mm         | No (invisible) |
| Column 6 | 20 mm         | No (invisible) |

Fixed report width: 200 mm. Sum of visible columns: 20 + 40 + 50 + 30 = 140 mm.

Resulting widths: Column 1 = 29 mm, Column 2 = 57 mm, Column 3 = 71 mm, Column 4 = 43 mm

**Horizontal report orientation**

This setting is only active when the report width is not fixed and columns are either invisible or empty columns are removed. In that case the report will be smaller than the element frame allows, and can be positioned horizontally. The default orientation is left.

**Vertical report orientation**

This setting is only available when the report data overflows one page. The default orientation is top.

{% hint style="info" %}
Both orientation settings are independent of element anchors, as they relate only to their respective element container.
{% endhint %}

## Reference: Display settings

### Undo

Sets the maximum number of undo steps and the maximum memory available for the **Undo changes** function. The current memory capacity in use is displayed.

If large cross-section graphics are created frequently and sufficient RAM is available, increase the maximum memory allocation.

{% hint style="info" %}
Setting the maximum number of steps to 0 deactivates the undo function.
{% endhint %}

### Show filters

When an existing well design is added to a groundwater measurement point, this option adds the filter length to the borehole cross-section display.

### Snap

The snap distance - the maximum distance within which one point automatically connects to another - can be set between 1 and 50 mm. The snap distance is configured via **Preferences** > **Snap preferences**.

Graphic elements whose nodes are affected by the snap function: line, rectangle, polyline, and borehole profile.

### Line types

Sets the line type for separating lines between subsections of the interbedding.

A line or outline is shown in the chosen color and line type. To use a color not in the drop-down, select **Individually** at the top of the list and choose a custom color in the color dialog.

Line thickness can be set in mm or pixels. Prefer mm: thickness in mm is independent of print resolution, so the preview may differ from print output. Pixel-based thickness is only appropriate for graphics viewed on screen only.

### View

Defines options for the scale bar element.

**Number of main divisions**

Select how many divisions to display. The scale bar contains n+1 sections, where n is the number entered.

**Alignment**

The scale bar element has a dynamic size that adjusts relative to the configured percentage and is rounded to a common scale. This option sets whether the anchor point is the left or right edge of the scale bar.

Example: a scale bar set to 25% of the map might resolve to 5 cm -> exact value 8,223 m -> rounded to 8,000 m -> the element is slightly smaller than the original 25%.

### Distance ruler

The **Distance ruler** scene adds horizontal labelling to the objects shown in the cross section (for example, distances between boreholes). Rulers are arranged in a horizontal line, usually shown beneath the cross section. Each ruler is a configurable rectangle with the required labelling content.

The ruler starts at the position of the first cross-section object and ends at the last object on the right. The relative start and end positions can be adjusted with the two **Position** entry fields.

### Labelling the distance ruler

The **Header:** input field takes free text describing what the ruler lists - for example `Distance:` or `Hole name:`. This text appears at the left end of the ruler.

The labelling itself is defined in the macro entry field, using the same labelling macros as elsewhere in the graphic (name, elevation, and so on). Three additional macro variables are available under the calculated parameters:

| Macro                   | Value                                                                                                                                   |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `$%Distance$`           | Distance between two cross-section objects measured along the line of section - that is, between their projected positions on the line. |
| `$%ObjectDistance$`     | Actual distance between two cross-section objects, calculated from their coordinates.                                                   |
| `$%ProjectionDistance$` | Distance between a cross-section object and the line of section.                                                                        |

The distinction matters as soon as objects are projected. Where a borehole is projected onto the line of section, `$%Distance$` measures from its projected point to the next point on the line, which is not necessarily the real distance between the two boreholes - use `$%ObjectDistance$` for that. If no objects are projected, that is, all points lie on the (crooked) line of section, then `$%Distance$` and `$%ObjectDistance$` are equal.

The labelling defined in the macro is drawn for each cross-section object. In practice, information about the objects themselves reads best below the objects, and the distances between objects read best between them.

For general text-element labelling options, see [Cross Section Layouts](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).

## Reference: Import layer boundaries

Layer boundaries from external files can be imported using **File** > **Import** > **Layer boundaries**. An existing profile cross section in the current graph is required before importing.

Use the **Import file** icon to open the file. The file must contain four columns in space-delimited ASCII format:

| Column | Content      |
| ------ | ------------ |
| 1      | 0 (constant) |
| 2      | Easting      |
| 3      | Northing     |
| 4      | Elevation    |

Example:

```
0 4444440.00000 5555200.00000 50.2
0 4444425.00000 5555180.00000 50.7
0 4444430.00000 5555150.00000 50.3
0 4444450.00000 5555100.00000 51.1
0 4444410.00000 5555050.00000 50.3
END
```

{% hint style="warning" %}
The coordinate systems used in the cross section and in the import file must match and must be at right angles.
{% endhint %}

The polyline from the file is shown in the left preview so it can be checked against the actual line of section. Elevation values for coordinates that do not align exactly with the line of section are projected perpendicularly onto it.

Use the **Add layer boundary** button to transfer polylines into the graph. Multiple layer boundaries can be imported without closing the dialog.

***

For axis ranges, scales, and labeling options, see [Cross Section Layouts](/visualization-layouts-and-reporting/creating-cross-sections/cross-section-layouts).


# Cross Section Layouts

The cross-section layout interfaces control how scales, axis ranges, labels, and data sequences are presented in a cross-section graphic. These settings are accessible from the cross-section properties tree after the cross-section is started. For cross-section panel settings (objects, line of section, scenarios, display settings), see [Creating Cross Sections](/visualization-layouts-and-reporting/creating-cross-sections).

***

## Reference: Scales

The **Scales** interface sets the horizontal and vertical scales and is available for layouts that contain the following graphic elements: [Borehole log](/visualization-layouts-and-reporting/creating-borehole-logs), [Well design](/workspace-and-data-management/creating-objects/well-design-data), [Data sequence](/importing-data/data-sequences), and [Samples](/workspace-and-data-management/creating-objects/sample-data).

Here the desired horizontal and vertical scales of the cross-section can be defined.

If the option **Automatic page layout** is active, a suitable paper size is selected automatically. This way, the manual adaption of the page size in the **Page layout** branch of the graphic properties is not necessary.

The position of the cross-section, measured from the upper left corner, can be set in the fields **Position X** and **Position Y**. The position is also taken into account when calculating the necessary paper size.

It is possible to select different vertical scales for the ground elevation and for the borehole profiles. This is especially helpful in cases where the differences in elevation are large relative to the borehole depth. Otherwise, a reasonable scale for the start elevation would lead to a too small print of the borehole profiles.

**Scale text macros**

The scales used in the cross-section can be written automatically into existing text elements. If a layout contains text elements with the content:

* `$%SectionHorizontalScale$` - Horizontal scale of the cross-section
* `$%SectionVerticalScale$` - Vertical scale of the cross-section

the text is replaced with the corresponding scale value. This way, any scale specifications in prepared layouts are filled automatically and do not need to be changed manually.

## Reference: Axis range

In the **Interval** section the option **User defined** can be selected.

| Option            | Effect                                                                                                                                |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Automatic**     | Uses actual measurement values to define the lower and upper limit of the axis (minimum and maximum value).                           |
| **Round**         | Rounds the main division ticks at the minimum and maximum of the displayed interval to an even number.                                |
| **Percent value** | Extends the displayed interval by the entered percentage, so the minimum and maximum values do not coincide with the diagram margins. |

For the presentation of values, the options **Logarithmic** and **Mirror axis** are also available.

**Main divisions**

The selection of the main divisions can be done by entering the division unit or by entering a number of main divisions. If the view area is set to **Automatic**, selecting **Number of main divisions** is often more useful than setting a division unit. Regardless of the overall view area (for example 0-5 or 0-50,000), a sensibly displayable number of main divisions is created.

The number of **Help ticks** and the number of **decimal places** can also be selected. The option **Cut surplus decimals** cuts surplus zeros in the labelling - especially useful for logarithmic axes, to produce labelling like: 0.001 - 0.01 - 0.1 - 1 - 10 - 100 - 1,000.

## Reference: Presentation options

If you choose the presentation type **bar** or **curve** for the series of a data sequence graph, you can interrupt the bar or curve where it is known that sections exist in which samples were not taken continuously and the bar or curve would otherwise give the impression that measured values are available throughout. Enter the length of the section from which the section is not examined.

The chosen setting applies to all series of the diagram and does not need to be set for each individual series. Besides this general setting, the option can also be selected separately for each series. For per-series configuration, see [Measurement Value Graphics](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics).

## Reference: Labeling

The **Labeling** layout interface offers input options for text elements and is usable for layouts that contain the graphic elements [Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) and [Variable text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text).

## Reference: Cross-section panel settings

**Graphic elements of a cross-section**

The graphic elements of the profile cross-section are stored in special drawing layers. Editing these graphic elements is possible only by changing the properties in the cross-section - they cannot be selected with the mouse. To manipulate the elements individually, the cross-section elements must be written into standard graphic layers using the **Break up cross-section** function. Each object is written into a special layer; these layers are shown in the layer list with a cross-section symbol, cannot be edited, but can be toggled visible or invisible.

All settings made in the cross-section - defining the line of section, changing the scale, or changing the display properties of a scenario - are visible immediately. Display property changes are automatically applied to all applicable objects.

**Starting a cross-section**

A cross-section can be started by different methods:

1. From a query or group of objects: double-click the method icon ![Cross-section](/files/Fl77RpOFWKMTU4C1zviS) **Cross-section** - the graphics window opens, the cross-section starts, and all objects of the query are loaded into the site plan.
2. From the menu **Extras** > **Cross-Section** in the graphics window - starts the cross-section without objects added automatically. Objects can be added manually by drag and drop into the **Cross-section Objects** window.
3. By navigating to the **Cross-section** branch in the properties of the current graphic - select the desired cross-section and click **Start** to make the settings branches available.

**Start and Close**

To start or resume work on a cross-section (and thus the contained graphic elements), use the **Start** switch. The branches for selecting objects, defining the line of section, setting the scales, and changing the cross-section scenarios are displayed. The **Close** switch ends editing the cross-section and the branches with the settings are hidden.

**Refresh cross-section**

With this button, the objects in the cross-section are read again from the database and the cross-section is refreshed. Use this option to transfer changes made to data in the database to the cross-section.

**Options**

Defines how the objects in the cross-section are stored in the cross-section graphic.

| Option                                            | Behavior                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Save object data in the cross section graphic** | Borehole data is saved in the graphic file. Changes to the data in the database have no effect on the graphic when the file is reopened (static cross section). No database connection is required to edit or share the file. Not available if the cross section contains elements that require a database connection, for example data sequences. |
| **Save object link in the cross section graphic** | Only a link to the borehole data is saved. Changes to the data are reflected when the graphic file is reopened (dynamic cross section). A connection to the current database is required to edit the graphic. If possible, save the file in the documents branch of the current database to ensure access when reopening.                          |

**Break up cross-section**

If it is necessary to edit the individual graphic elements of a cross-section, the cross-section can be dissolved with the **Break up cross-section** switch. Graphic elements and layers are then unlocked and individual elements can be selected and edited normally.

{% hint style="warning" %}
The link to the cross-section is lost and cannot be restored if the cross-section is dissolved. It is no longer possible to edit the display properties for the element or set the scales of the cross-section. The loaded objects and the line of section are removed from the current cross-section.
{% endhint %}

**Drawing order**

The entire cross-section can be moved as a whole to the foreground or background relative to other objects.

With the **Visible** and **Invisible** buttons, the drawing layers of the current cross section are toggled with a single click. Use this to remove the cross-section temporarily from the graphic.

## Reference: Horizontal scale bar

The **Horizontal scale** scenario creates a horizontal scale bar in a cross-section.

By defining the **Minimum width** you can set the horizontal extent for the scale bar. Depending on the coordinate range for the cross-section, a scale bar with rounded divisions is created - the minimum width setting may therefore have a limited effect.

The positioning options allow you to place the horizontal scale bar according to your requirements.

## Layout lists

Layout lists (`.GLL`) and layout collections (`.GLC`) allow multiple layouts to be grouped for report sequences and quick access. For file formats, editing, and the GLL->GLC conversion, see [Layout Files and Lists](/visualization-layouts-and-reporting/creating-custom-layouts/layout-files-and-lists).

{% hint style="info" %}
Only `.GLL` files can be declared as the standard layout list. `.GLL` files can no longer be created - use `.GLC` for creating new layout lists.
{% endhint %}


# Creating Site Plans

The site plan tool constructs a georeferenced plan of GeoDin objects in a configurable map frame, with automatic non-overlapping label placement. Objects are added from any database or project - they do not need to share a project. Scenarios control how object symbols, labels, and the map frame are drawn.

## Creating a site plan

The site plan tool can be started in three ways:

1. **From a query or group of objects:** double-click the method symbol ![Site plan](/files/mD2RyXLtL883fY1DmpGA) **Site plan**. The graphics window opens and the site plan tool starts with all objects of the query or group already added.
2. **From the graphics window menu:** choose **Extras** > **Site plan**. The site plan tool starts without objects; add the desired objects later by drag and drop from the GeoDin object manager onto the site plan or the object list in the **Objects** window.
3. **From the object properties:** navigate to the **Site plan** branch in the object properties of the current graphic, select the desired site plan, and click **Start**. The branches for creating and editing site plans are added to the object properties.

Once started, the construction workflow follows four steps:

1. Select the desired objects (see [Reference: Objects](#reference-site-plan-properties) below).
2. Define the extent of the map frame.
3. Define the map scale and the position of the site plan on the print (see [Reference: Scale](#reference-site-plan-properties) below).
4. Select and configure the presentation options for map frame, point symbols, object names, and other scenarios (see [Reference: Site plan scenarios](#reference-site-plan-properties) below).

All settings made in the site plan branch - adding objects, changing scale or display properties - are immediately reflected in the site plan graphic.

## Optional settings

* **Snap distance:** the maximum distance for connecting one point automatically to another; adjustable from 1 to 50 mm via **Preferences** > **Snap preferences**. Affects graphic elements with nodes (line, rectangle, polyline, and borehole profile).

***

## Working with site plans

**Graphic elements of site plans**

All graphic elements used for site plan construction are placed in special drawing layers of the graphic. These elements can only be edited by changing their parameters in the site plan branch - it is not possible to select and edit them directly, unless the site plan is dissolved using **Break up site plan**.

Each site plan scene (object symbols, object names, map frame, etc.) is placed in a separate drawing layer. These layers appear in the layer list with a site plan symbol and can be shown or hidden like any other drawing layer.

**Start and Close site plan**

Use the **Start** button to begin or continue editing a site plan and all objects included. The branches for object selection, map scale and position, and site plan scenarios become visible. The **Close** button stops editing mode and hides the properties branches.

**Break up site plan**

The **Break up site plan** switch dissolves the site plan element so that individual graphic elements and layers are unlocked and can be selected and edited normally.

{% hint style="danger" %}
The link to the site plan is lost and cannot be restored after breaking up. It is no longer possible to edit general display properties or set the scales of the site plan. The objects loaded are removed from the current site plan.
{% endhint %}

**Drawing order**

The entire site plan can be moved as a whole to the foreground or background relative to other objects.

**Portal links**

GeoDin-portal layouts can set references to other sites - this is the essential difference from normal GeoDin layouts.

{% hint style="info" %}
To use portal links, activate the portal function in the advanced properties.
{% endhint %}

Portal links are differentiated by their jump target:

* **Change page** - scroll through a multipage portal layout.
* **Go to portal page** - jump to a portal layout.
* **Get portal report** - retrieve a PDF of a portal report.
* **Go to website** - jump to an arbitrary URL in the internet or intranet.
* [Show document](/workspace-and-data-management/managing-documents) - call a document from the GeoDin document manager or from the file system.

Selecting a link below the **portal links** node opens the properties dialogue for that link. The following properties can be set:

* **Name of the link:** free name for the link.
* **Conditions:** specify whether and to what conditions the portal function is bound:
  * **-without conditions-** - the portal function is always active.
  * **-Data set conditions-** - click the editing field to enter a data set condition (enter directly or use a frame query).
  * **-Conditions of cell content-** - condition based on cell content; enter directly or use a frame query. The **type of the cell content** must be set: **-Numeric-** (numbers and `+`/`-`/decimal point), **-Alpha numeric-** (numbers, letters, and special characters), or **-Date setting-** (standard date format, e.g. `mm.dd.yyyy`). The syntax for conditions is described in [Selection syntax](/data-analysis/query-builder-reference/conditions-and-operators).
* **Font colour:** font colour of the link as displayed in the browser.

**Go to website target**

To set the target of a portal link of type **Go to URL**: select the **portal links** node in the element properties tree, set the type to **"Go to URL"**, then at the **Go to URL** node enter the target as free text or choose it from a frame query.

### Go to portal page target

A link of type **Call portal page** jumps from the current layout to a target layout. Select the **Call portal page** node below the link: when the source layout is connected to a database, every GeoDin portal layout reachable from the start layout is listed under **Available layouts**. Pick the target and confirm with **OK** - the selected layout then acts as the target layout.

{% hint style="info" %}
A newly created layout must be saved before it can be selected, and the layouts have to be in the same directory to appear in the list.
{% endhint %}

Activate the **\[return image only]** checkbox at the **Call portal page** node to return the target layout's image as a graphic instead of performing the jump - useful for embedding it as an information window or placing it in an HTML document in place of a wildcard. A jump to a portal layout from a single object frame requires an Object ID: add an entry at the **Object-ID's** node and select the ID to transfer. Queries and layout interfaces can be defined in addition and passed to the target layout.

*Example:* create a variable text element to call a portal layout, then in its object properties select **Properties** > **Portal links**, add an entry with the blue **+**, and name it (for example `hydraulic head`). Below that entry, select **Portal link** and choose the type **Call portal page**. At the new **Call portal page** node, select the target layout from **Available layouts** and confirm with **OK**. Finally, add an entry under **Object-ID's** and select the ID to transfer.

### Preparing a layout for portal use

A standard graphic offers no portal function. Switch on **Activate portal function** in the graphic's extended properties: a **Portal properties** branch appears, and the **Variable text** and **Variable image** elements gain the option of setting up portal links. Layouts recognized as portal layouts are marked with a colored symbol in the layout list tree, and in edit mode a jump can be performed with `AltGr` + left mouse button.

A single object frame presents one object - either a GeoDin object or a measuring point - and always refers to an `INVID`. For an object, `PRJ_ID` and `LOCID` are extracted from the `INVID` and used as identifiers in the called query; for a measuring point, the `INVID` itself has to be transmitted. Multi object frames transfer no object IDs at all.

For the query side of this exchange - which result fields the called layout must declare, how the restriction is appended to the SQL statement, and the `%INVID` / `%PRJID` / `%LOCID` placeholders for alternative SQL - see [Portal properties](/data-analysis/query-builder-reference#portal-properties) in the query builder reference.

### Using a site plan in the layout overview

A checkbox on the site plan controls where its boreholes come from when the site plan appears in the layout overview. When checked, the site plan in the layout overview automatically uses the boreholes, group, or query currently selected in the GeoDin Object Manager. When unchecked, the layout overview always shows the boreholes that were last saved in the site plan.

This makes the site plan reusable across different selections without editing it: build a report template once, and each time it runs against a different GOM selection, the site plan follows along automatically.

***

## Reference: Site Plan Properties

### Objects

Selecting the **Objects** branch opens the **Site plan: Objects** window. The window is freely scalable and stays visible until another branch is selected or the window is closed.

Add objects by drag and drop from the GeoDin object manager - single objects, queries, or groups can be dropped onto the list or the site plan directly for the site plan or for orientation in the site plan. Objects already in the list are not added again. Objects from any database or project can be used; they do not need to share a project.

Selected objects are shown with a symbol and label in the site plan; the site plan can be zoomed and moved as necessary with the available tools. An object selected in the list is highlighted in red in the site plan. The coordinates, elevation, and depth of a selected borehole are displayed below the object list. Use the **Remove** button to remove an object from both the list and the site plan.

Object coordinates can be multiplied by a user-defined factor if necessary.

If borehole coordinates are in different meridian zones, transform them to a single zone by selecting the desired zone (available for the Gauss-Krüger coordinate system). For boreholes in the **southern hemisphere** (Y coordinate increasing downward), check the **-Southern hemisphere-** option to mirror the site plan.

**Map limits:** the **Map limits** fields automatically display the minimum and maximum X and Y coordinates of the selected boreholes. Edit the values to display only part of the site plan. Manually entered values are preserved when more objects are added. Use **-Set to maximum-** to set the fields to the values required for the current objects, or **-Automatic-** to automate this.

In the preview, the map frame for the object coordinates is shown with a black frame; the red frame shows the extent of the coordinates entered in the input fields.

To round corner coordinates to a convenient number (for example, a multiple of 100), check **-Round up corner values-** and enter the rounding value. The resulting rounded map frame is shown in red in the preview.

Switch between the different parts of the site plan (objects, line of section, scales, and site plan scenarios) by clicking the branch in the object properties window, or using the buttons above the site plan when the object window is large enough to hide the branches.

### Scale

**Define scale** - use this option to define the scale explicitly. The paper size is determined by the corner coordinates and the selected scale. The map size in centimetres at the selected scale is shown, not accounting for coordinate labels at the map frame border.

**Define width and height** - use this option to define the physical size of the site plan on paper. GeoDin calculates and displays the required scale. Enter optional preferred scales in the **"Round scale to"** field as comma-separated values (for example, `1,2,5`); usable scales are those values and their multiples (1, 2, 5, 10, 20, 50, 100, ...).

**Paper size:** the minimum paper size and orientation required for the site plan is displayed. Set the position of the site plan from the upper-left corner using the **"Position X:"** and **"Position Y:"** fields. With **-Automatic page layout-** active, the minimum size shown under `<Min:>` is used for construction.

### Site plan scenarios

Scenarios define the detailed appearance of the site plan. Each scenario contains a graphic element to be displayed for all selected objects - for example, one scenario for the symbol and another for the label.

Possible site plan scene types:

* [Symbol](/administration/fill-patterns-and-symbols) - displaying the point symbols
* [Variable text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) - labelling the objects
* [Map frame](/visualization-layouts-and-reporting/maps-and-site-plans) - display properties of the map frame
* [Text tag](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) - tag lines

Scenes can be added as needed (also twice, if required), except for the **tag line** scene type, which can be added only once. The standard preset includes map frame, point symbol, tag line, and borehole name. Additional scenes can be added, deleted, or edited.

Use the add button to select the desired scene type from the menu. The order of scenes in the scene list determines the drawing order: the upper scene is drawn first, the bottom scene last. Change the order using the arrow icons - this matters when graphic elements overlap.

Scenarios can be saved and loaded independently of the objects currently loaded. Save with **Save** (stores as a `.gpz` scenario file in any directory); load with **Load** to reuse the scenario in another site plan. Any number of scenario files can be created for different thematic site plans.

### Site plan scene

For each scene, enter a name and choose whether the scene is visible.

**Relative scene position:** controls where scene elements are drawn relative to the base position. The effect depends on the scene type:

* **Symbol scenes:** the relative position offsets where the symbol is drawn relative to the object's original plot position. Use this to create exploded-chart presentations (for example, four circle segments drawn slightly offset from the object position).
* **Text scenes:** determines where the text is printed relative to the position of the non-overlapping labels. Only necessary when multiple scenes contain labels (for example, one scene with a large bold label and another with a smaller depth label). Without a relative position, a single variable text scene supports multi-line labels using `\` (backslash) as a line separator.

  **Example:** for a borehole name in Bold Italic plus an end-depth label in a smaller font, define two scenes:

  1. Variable text with macro `$LONGNAME$`
  2. Variable text with macro `End depth: $ZCOORDE$ m` and relative position X:0, Y:3 (moves the text 3 mm downward)
* **Map frame scenes:** defines the position of frame elements relative to the selected map extent.

  **Example:** to draw a second map frame 3 mm outside the first, add a second Map frame scene with position X:3, Y:3.

### Symbol

The **Symbol** scene type displays symbols at object locations. Symbol type, colour, and size can be defined as **Fixed** (same for all objects) or **Variable** (read from a data field in the general data for each object):

**Symbol type**

* **Fixed:** the selected symbol type is applied to all objects.
* **Variable:** the selected general data field must contain valid [Symbol tables](/administration/fill-patterns-and-symbols) entries. If no valid entry is found, no symbol is drawn for that object.

**Symbol colour**

* **Fixed:** select the color directly.
* **Variable:** the selected database field must contain a valid colour number (1-16 from [Color tables](/administration/fill-patterns-and-symbols)); invalid entries result in the symbol being drawn in black.
* **-Transparent-** background: graphic elements behind the symbol show through unfilled areas.
* **-Opaque-** background: all graphic elements behind the symbol are completely hidden regardless of unfilled areas.

**Symbol size**

Size (height and width) ranges from 0.2 to 100 mm. With **Variable** selected, the data field must contain valid entries; otherwise the symbol is drawn with a diameter of 2 mm.

**Symbol pen**

* **-As symbol color-** active: symbol lines are drawn in the same color as the symbol fill color.
* **-As symbol color-** inactive: only the filled areas are drawn in color; lines are drawn as selected separately.

## Reference: Drawing Layer Properties (Layout Snippets)

### Drawing layer properties

When a layout snippet is used, GeoDin automatically creates a drawing layer named after the snippet. Elements on this layer cannot be directly selected or edited in the layout. The following settings control how the layer is displayed:

* **Visible** - Controls overall layer visibility.
* **Screen presentation** - Defines whether the layer's elements are shown on screen. This setting affects the layout overview only, not the layout edit mode.
* **Printing** - Defines whether the layer's elements are included in print output.
* **Make available for layout quick settings** - Allows the drawing layer to be shown or hidden via the layout overview's quick settings panel.

### Column properties

**Creating columns**

In addition to manually creating columns, you can automate this process based on data fields from the chosen data source. This option is useful for reports designed for export (e.g. Excel). Further column headings options and formatting of automatic macros can be defined **Options**. It is better to use a fixed report width, independent of the number of columns.

**Report width**

Define if your report should have a fixed width.

With this setting you can fix the report width even if there are invisible or removed (if empty) columns.

Each remaining column has their width calculated proportional to the report width.

**Example:**

Column 1: 20mm

Column 2: 40mm

Column 3: 50mm

Column 4: 30mm

Column 5: 10mm (invisble)

Column 6: 20mm (invisible)

fixed report width: 200mm

Complete width of the remaining columns is 20+40+50+30=140.

The outcome of this is:

Column 1: 20/140\*200=29mm

Column 2: 40/140\*200=57mm

Column 3: 50/140\*200=71mm

Column 4: 30/140\*200=43mm

**Horizontal report orientation**

This setting is only active when the report width is not fixed and coulmns are either invisible or empty columns removed. Hence the report will be smaller than the element frame would allow and can be positioned horizontally. The default orientation setting is left

**Vertical report orientation**

This setting is only available when the report data overflows one page. The default orientation setting is top.

***Note:*** *Both settings are independant from element anchors, since they are only releated to their respective element container.*

#### Options per column

Each column has its own **Options** branch controlling how repeated or empty content is handled:

| Option                                          | Effect                                                                                                                                                                                                                                             |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Remove empty column**                         | Removes the column when it is empty. A standard value can be declared as the content that counts as empty.                                                                                                                                         |
| **Remove identical content in following rows**  | Leaves out the cell content in following rows when it matches the cell above. The additional option **-Also remove lines inbetween-** hides the horizontal lines between the cells with identical content.                                         |
| **Adopt intermediate lines from other columns** | Bases the line separation of this column on another specified column. A column cannot refer to itself or form circular references; if a change of column order creates one, it is flagged as a warning here. Warnings are ignored for the display. |
| **Remove identical content between lines**      | Where lines are separated by another column, content blocks are formed - this option removes identical content within those blocks.                                                                                                                |
| **Calculations in footers**                     | Calculates statistical data from the current column for use in the report footers.                                                                                                                                                                 |


# Depth-Oriented Images as Borehole Profiles

### Requirements

* Image files in **BMP, JPG, PNG, or TIF** format.
* Document object type **`(DOC) Depth-oriented image [DOC_DEPT]`** installed in GeoDin and registered in the database.

### Step 1: Check object type installation

Verify that `(DOC) Depth-oriented image [DOC_DEPT]` is installed in your GeoDin system. If not, install it (see [Installing Object Types](/object-types/installing)).

### Step 2: Prepare and attach images

Name your image files clearly (e.g., by drill core section) for easy depth assignment. Add the images as documents to the borehole and register the document description `(DOC) Depth-oriented image [DOC_DEPT]` in the database if needed. For each image, enter depth values under the **Dimensions** tab.

{% hint style="info" %}
Place all core photos in one folder (e.g., `core photos`) for easier display later.
{% endhint %}

<div align="center"><figure><img src="/files/Z7tT0ILnETU2i6qbhQrJ" alt=""><figcaption></figcaption></figure></div>

### Step 3: Display images in a layout

1. Use a reference graphic element based on the borehole's vertical scale (e.g., borehole log, well design, samples).
2. Add a **borehole log** element next to the reference element.
3. In the borehole log's **object properties**, set the data source to **Documents**.
4. Click **Browse Documents** and select the folder containing the depth-oriented images.
5. GeoDin will automatically stitch images at the correct depths based on the **Dimensions** tab values.

<figure><img src="/files/S94CZA3pvQggNeVMHsdc" alt=""><figcaption></figcaption></figure>

### Optional image display settings

* **Pixel position from/to:** Defines which pixel lines correspond to the depth values. Top margin equals pixel position 0.
* **Pixel position left/right:** Crop unwanted left and right margins by specifying pixel positions.
* **Pixel position header from/to:** Define a header area to display above the image column. Enable "Draw header" in object properties under `Properties > Document settings > Header`.
* **Rotation angle:** Rotate the image before mosaicking into the profile.

***

The borehole log element is not limited to layer data and documents: any database table with a depth value (e.g., sample data or well design data) can serve as its data source. Select the table with the icon at the right of the entry field in the element's object properties. For layer data, choose between **Original data** (the database contents as recorded) and analyzed contents based on a [layer query](/data-analysis/layer-queries).

Detailed borehole-log element reference: [Borehole Elements](/visualization-layouts-and-reporting/creating-custom-layouts/borehole-elements).


# Display PSD as a Bar Chart

This page explains how to display a **particle size distribution (PSD)** as a **depth-oriented bar chart** in a GeoDin layout. The workflow has three stages: recording sample data, entering PSD values, and configuring the layout element. All three stages are required.

## Walkthrough

{% stepper %}
{% step %}

#### Step 1: Record the sample data

Before creating any visualization, the **sample data for the particle size analysis** must be entered into GeoDin.

* Open the **Data management** method.
* Create a new sample entry.
* Define the **depth interval** of the sample.

This step ensures that the particle size data can later be linked correctly to depth.

<figure><img src="/files/GaX0rR9j794yw2pqXr8u" alt=""><figcaption><p>A sample entry in the Data management method - the depth interval fields are visible at the top of the form.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 2: Record the particle size distribution

Once the sample data exists, the **particle size distribution values** must be entered.

* Open the **Measurement data** method.
* Select the measuring point type **samples (geot. borehole)**.
* Navigate to the data type **(G1) PSD**.
* Enter the particle size analysis values for the sample.

GeoDin stores the PSD values that will be visualized in the layout in the next steps.

<figure><img src="/files/qpvorYEhrxQCVFJVCZfT" alt=""><figcaption><p>The Measurement data method with (G1) PSD selected - particle size values are entered in the table on the right.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 3: Add a data sequence element to the layout

* Open the **Graphic printing and editing** option from the **Methods** column.
* Create an object frame within the new layout as described in the [Layout Overview](https://docs.geodin.com/navigating-the-geodin-workspace/user-interface) section.
* Drag the **Data sequence** element into the object frame (blue box) of your GeoDin layout using the corresponding tool.

<figure><img src="/files/Z6BCQEMmXYlNHpbHQIfE" alt=""><figcaption><p>The layout with the object frame (blue box) ready to receive the Data sequence element.</p></figcaption></figure>

* Create a new series for each particle size component using the **plus (+) button**.

{% hint style="info" %}
Each **series** represents **one component** of the particle size distribution.
{% endhint %}

<figure><img src="/files/T3BoA14yOcvGiE011sLG" alt=""><figcaption><p>The series list after adding multiple components - each row corresponds to one particle size fraction.</p></figcaption></figure>

* Select the particle size component for each series under **Parameter**.

<figure><img src="/files/ULIifmuGQIqC3V0kK5ue" alt=""><figcaption><p>The Parameter field for a series - use this to assign the correct PSD fraction (e.g. clay, silt, sand) to each series.</p></figcaption></figure>

* Define the depth interval (start and end depth / recovery) of your sample.

<figure><img src="/files/iiHQz1S8rwao9iun7Ej4" alt=""><figcaption><p>Depth interval settings for the series - the start and end depth fields link the bar chart to the correct sample depth.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 4: Define fill patterns and colors

To visually distinguish the particle size components, configure the fill pattern and color for each series.

1. Navigate to the corresponding series (e.g. `PSD:CLAY`).
2. Open the **Fill pattern** branch.
3. Select the **Vector** option and an appropriate fill pattern (e.g. clay fill pattern according to **GEOT1ENG**).
4. Switch to the **Colour / Transparency** branch.
5. Select the desired color, or use the default color of the selected fill pattern.

<figure><img src="/files/n7UJQoUCQTrYsPv6133d" alt=""><figcaption><p>The Fill pattern branch - Vector is selected and a standardized GEOT1ENG clay pattern is applied.</p></figcaption></figure>

<figure><img src="/files/31yzUPglfq7nZhVxVjX1" alt=""><figcaption><p>The Colour / Transparency branch - the color can be set independently or inherited from the fill pattern.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 5: Configure the parameter axis

Because particle size distributions always total **100%**, the axis must be configured accordingly.

* Navigate to the **Axis range** branch.
* Activate **user-defined display** of the parameter axis.
* Set the axis interval to **0 to 100**.

{% hint style="warning" %}
Setting the axis to 0-100 is required for correct proportional representation. An incorrect range will distort the bar chart.
{% endhint %}

<figure><img src="/files/LplUyQ98X98auH0qkgR8" alt=""><figcaption><p>The Axis range branch with user-defined display active and the interval set to 0-100.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 6: Stack and normalize the series

To create a proper stacked bar chart:

* Navigate to the **Series** branch.
* Select diagram type **Stack series**.
* Activate the option **Recalculate to 100%**.

This ensures all components together form a complete particle size distribution.

<figure><img src="/files/CiirEQEMKuzmOZwL34i3" alt=""><figcaption><p>The Series branch with Stack series selected and Recalculate to 100% active - this produces a fully normalized stacked bar chart.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Step 7: Adjust series order and heading

**Series order**

* Open the **Series definitions** branch.
* Use the **blue arrows** to change the order.
* The **lowest entry** in the list is displayed on the **left-hand side** of the bar chart.

<figure><img src="/files/OsORIobVS5o1Cp9xymHS" alt=""><figcaption><p>The Series definitions branch - the blue arrows reorder the series; the bottom entry appears on the left of the bar chart.</p></figcaption></figure>

**Diagram heading**

* The diagram heading is defined by the **first series**.
* Assign a **custom heading** that differs from the parameter name if needed for layout readability.

<figure><img src="/files/RDdKa3ORIgRTMHjSbKQy" alt=""><figcaption><p>The heading field for the first series - entering a custom name here controls the diagram title shown in the layout.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

The result is a **depth-oriented stacked bar chart** that displays the particle size distribution for each sample across depth, supporting soil composition interpretation, standardized reporting, and depth-related geotechnical analysis.

<figure><img src="/files/qmPRweaa2a9SuqfbzpNx" alt=""><figcaption><p>The completed depth-oriented PSD bar chart - each patterned or colored bar segment represents one particle size fraction, stacked to 100% at each sample depth.</p></figcaption></figure>


# Groundwater Visualizations

The **Groundwater** graphic element displays groundwater levels in a borehole log or cross-section column. It reads groundwater codes entered in the layer description or the groundwater table, then renders the appropriate triangle symbols, depth labels, direction arrows (for rising or falling levels), and tag lines. Use it whenever a layout needs to show measured or artesian groundwater conditions alongside stratigraphy.

For general graphic-element properties shared across all layout elements (element name, drawing layer, z-order), see [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties).

***

## Reference: Groundwater element properties

### Data source

If the current object has more than one layer table, select the layer table that contains the groundwater information. Set to **Automatic** to use the first available layer table of the borehole.

For object types that record groundwater levels in a separate table (for example, SEP 3), this selection has no effect - the information is always read from the dedicated groundwater table.

**Groundwater coding - SEP-compatible boreholes**

For standard SEP-compatible boreholes, groundwater levels are coded in the **Additional information** field of the layer data entry mask. The supported codes are:

| Code  | Meaning                      |
| ----- | ---------------------------- |
| `gw`  | Groundwater level            |
| `gws` | Groundwater level increased  |
| `gwf` | Groundwater level decreased  |
| `gwr` | Groundwater level stationary |
| `gwa` | Groundwater artesian         |

Each code must be followed by the measured depth in round brackets.

**Example:** `gw(3.90)`

Optional additional text (for example, a date) can be added inside the brackets, separated by a semicolon.

**Example:** `gw(3.90; 01.08.2005)`

Groundwater levels above the surface level (artesian) are prefixed with `+` inside the brackets.

**Example:** `gwa(+0.8)`

The appearance of the groundwater triangles for each code is controlled by the dictionary settings and can be adjusted in the dictionary.

**Groundwater coding - SEP 3 boreholes**

For SEP 3 boreholes, groundwater levels are recorded in the separate **Groundwater** collection mask rather than the borehole table. Artesian levels are entered as negative values (a `-` prefix), where negative = above surface level and positive = below surface level.

### Graphic properties

| Option                 | Effect                                                                                                                                    |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Tag lines**          | When active, horizontal tag lines are drawn at each measured depth. When inactive, only the groundwater symbols and labels are displayed. |
| **Scale width to fit** | Automatically adjusts the element width to match the labeling width.                                                                      |
| **Tag lines right**    | Tag lines start from the right side by default. Deselect to start from the left; this overrides any NORM settings.                        |

**Presentation mode**

Defines which standard (language) is used for presentation, and therefore which symbols are displayed. The default is **Automatic**.

**Show in legend**

Controls whether the groundwater symbols appear in the automatic legend for the same object frame.

### Symbol

| Option                     | Effect                                                                                                                             |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Draw symbol**            | When active, groundwater symbols are drawn. Deselect to suppress symbols entirely.                                                 |
| **Colour from dictionary** | Uses a color other than the standard color. The color is defined via the **Fill pattern** button in the relevant dictionary entry. |

### Tags

| Option                     | Effect                                                                                                                |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Draw tags**              | When active, tag lines are drawn at measured depths alongside the symbols and labels.                                 |
| **Colour from dictionary** | Uses a color other than the standard color; defined via the **Fill pattern** button in the relevant dictionary entry. |
| **Tags right**             | Tag lines are drawn from the right by default. Deactivate to draw from the left.                                      |

### Labelling

| Option                     | Effect                                                                                                                |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Colour from dictionary** | Uses a color other than the standard color; defined via the **Fill pattern** button in the relevant dictionary entry. |
| **Fit width**              | Automatically adjusts the element width to the labelling width.                                                       |

### Groundwater symbols

Defines the line type for rendering groundwater symbols. A line or outline is drawn in the chosen color and line type.

To use a color not available in the drop-down list, select **Individually** (the first list entry) and choose a custom color in the color dialog.

Line thickness can be set in mm or pixels. Prefer mm - this produces consistent output regardless of print resolution. Pixel-based thickness is only suitable for screen-only layouts.

### Consistency

Controls the display of consistency, compactness, and groundwater indicators on the right side of the borehole column.

| Option             | Effect                                                                                                                                                                |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Draw**           | When deactivated, consistency, compactness, and groundwater are not drawn in this area.                                                                               |
| **Show in legend** | Controls whether the symbols for consistency, compactness, and groundwater appear in the automatic legend.                                                            |
| **Line type**      | Defines how the lines in this area are drawn. See [Fill Patterns and Symbols](/administration/fill-patterns-and-symbols) for a full description of line type options. |

### Show filters

When a well design is attached to a groundwater measurement point, activating this option adds the filter length to the borehole cross-section display.


# Scale Bars and Depth Scales

The **Depth Scale** graphic element displays a separate height scale in a borehole log or well-design layout. It can be added to an object frame as often as required. Its behavior depends on the presence of at least one **Borehole log/Borehole tab**, **Well design**, or **Data sequence** element in the same object frame.

For general graphic-element properties shared across all layout elements (element name, drawing layer, z-order), see [Element Properties Reference](/visualization-layouts-and-reporting/creating-custom-layouts/element-properties).

***

## Reference: Depth Scale Properties

### Depth scale

The length of the element matches the length of the object frame. It can only be moved horizontally. All changes to vertical position and size follow the main elements (borehole log, well design, and data sequence). The element is shown as blue dashes when no object is linked or embedded in the object frame.

**The element name**

The element name identifies graphic elements in the GeoDin graph tree view. Use meaningful names when building complex layouts. For some graphic elements a related element can be entered. Here also the element name is used.

**Drawing layer**

Displays the drawing layer on which the element is placed. Use the **In another layer** icon to move it to a different layer. See [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) for further information on drawing layers.

### Scale

Select the vertical scale here.

The base unit of the paper is cm. You can also switch to m, in, or ft.

Use **Factor for depths** to convert objects recorded in a different unit system: the actual depths are multiplied by the entered factor. For example, metres to feet uses factor 3.28084. To display in an inch-per-foot scale, change the base paper unit to `in` and set the factor to 3.28084. If your object data is already in feet, change the base paper unit to `in` and keep the factor at 1.

By default, a layer or sample interval is not split across pages - the page break falls at a layer or sample interval boundary. If a section at the selected scale is taller than one page, the element is not shown (red dashed frame).

* **-Auto correct-** - automatically corrects the height scale so that sections are not split across pages.
* **-New page-** - allows a unit to be distributed across multiple pages.
* **-Fit to page-** - automatically calculates the vertical scale so the entire object fits on one page. Not advisable for very deep objects where labeling text may not all be displayable.

You can also read the scale from a data field variable using the **"Read from"** input field. This works like a variable text element: the relation to a database field is defined by a variable in `$` symbols. For example, enter `$comment$` to read the scale from the basic data set "comment" field. This allows storing an ideal presentation scale in the object data, independent of the selected layout.

**Interval**

To display only part of an object, use the **-Interval-** option. Enter the depth range in m below surface. With **-Automatic-** activated, the whole object is shown.

**-New page - User defined-** sets an exact depth at which the page break is performed, independent of layer or sample interval boundaries. Only use this with sensible scales (the preset area must fit on the page) and appropriate graphic element heights. If the element does not have the required height, drawing completes but the screen area may not always refresh correctly.

**-New page - Automatically optimize-** instructs GeoDin to recalculate the page break depth. GeoDin checks whether a layer or interval boundary is located in the possible page break area (approximately the last 10% of the page). If a boundary is found, it is used as the break; otherwise the layer or sample interval is split between pages. With this option active, an object can be shown at any vertical scale.

**-Dynamic ground level-** activates automatic positioning of the ground level: the ground level moves dynamically and the element always begins at the upper edge of the graphic element. Without this option, the ground level stays at a fixed vertical position, which may cause graphic elements to be hidden or extend beyond the page margin for objects with large elements above ground level.

**Angle**

The angle of incline of an object can be entered while labeling an element with depth values and optionally used for the graphic presentation. First define the data field containing the angle of incline. Use **0° = vertical** or **0° = horizontal** to select how the inclination value is interpreted:

* **0° = vertical** - value 0 or empty = vertical borehole; value 89 = nearly horizontal; value 90 is ignored.
* **0° = horizontal** - value 90 or empty = vertical borehole; value 1 = nearly horizontal; value 0 is ignored.

To label recalculated depths, choose **-Display adjusted inclination-** (for example in the [Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) graphic element). With **-Display adjusted inclination-** active, the element is shown at a compressed scale relative to the angle - important for correct layer correlation in cross-section presentations. With **\<Automatic>** activated, labeling always uses recalculated depth values. To show recalculated depth values in labeling only while the graphic presentation uses the recommended scale, do not activate **-Display adjusted inclination-**.

### Depth tag

Select the line type for the depth tag line.

A line or outline is displayed in the chosen **Color** and **Line type**. To select a color not in the dropdown, click the first entry **"Individually"** to open the color dialog.

The line thickness can be set in mm or pixels. Prefer mm for print consistency - with mm, the thickness in the preview differs from print output and is independent of print resolution. Pixels are suitable only for screen-only layouts.

### Horizontal scale

Select the preferred **Horizontal scale** here. Entered diameters of borehole and casing elements are drawn at accurate scale.

* **-Constant width-** - sets the displayed (maximum) borehole diameter of the well design to a fixed value.
* **-Centre display-** - keeps the well design centered regardless of data or horizontal scale.

Without these options, standard behavior when the width of the well design is changed:

1. The left border is fixed; the well design enlarges to the right when a new object is linked to the layout.
2. The mid-axis is fixed; the well design enlarges both left and right when the horizontal scale, constant width, or percentage width is changed.

A **not-scaled presentation** is possible by entering `<>0%` in the entry field. The borehole is displayed smaller or larger according to the horizontal scale, while all casing elements remain in the selected scale. This is useful for displaying fill patterns or staggered piezometers.

If the maximum diameter of all casing/piezometer series, multiplied by the number of series, is larger than the borehole diameter:

* Reality: Diameter of the borehole = D; Maximum diameter of the casing/piezometer series = MaxR
* If MaxR × 4 > D, individual casing/piezometer series must be displayed side by side even though they are staggered in reality. The relative borehole widening option addresses this.

### Depth axis

In this branch no properties can be selected directly. Choose a subordinate branch to edit detail properties.

### Move and scale

Selected graphic elements can be moved to a new position by dragging with the left mouse button pressed. The position on the paper is shown in the status bar during the operation.

To scale an element, select it and drag a corner marker in the chosen direction. The size is also shown in the status bar.

When scaling group or object frames:

* Scaling a group frame using the corner marker keeps the group elements at their current size (they are not scaled).
* If the group frame is reduced so much that elements no longer fit, the group elements are reduced automatically.
* To scale group elements together with the group frame, hold **Ctrl** during the movement.

Rectangles and ellipses can be scaled to squares and circles by holding **Ctrl** while scaling or adding. The same method draws exact vertical or horizontal lines.

Exact positioning or scaling can be entered via the **Position** branch in the object properties.

Keyboard shortcuts for moving selected elements:

* **Ctrl + arrow key** - displacement 0.1 mm
* **Shift + arrow key** - displacement 1 mm

***

## Reference: Scale Layout Quick Settings

These layout interfaces provide setting options for horizontal and vertical scales. They apply to layouts containing:

* [Borehole log](/visualization-layouts-and-reporting/creating-borehole-logs)
* [Well design](/workspace-and-data-management/creating-objects/well-design-data)
* [Data sequence](/importing-data/data-sequences)
* [Samples](/workspace-and-data-management/creating-objects/sample-data)

### Vertical scale

Enter the vertical scale to use in the presentation.

**Requirements:** the layout must contain at least one of: Borehole log/Borehole Tab, Well design, Data sequence, or Sample element.

**Effect:** the layout quick setting is applied to all of the above element types present in the layout.

### Axis scale - time axis

Adjusts the time axis scale.

**Requirements:** the layout must contain at least one measurement value graphic with diagram type [Time series](/visualization-layouts-and-reporting/time-series-charts) selected.

**Effect:** the time axis scale of all time series in the layout is affected.

### Axis scale - X-Axis

Adjusts the X-axis scale of an XY diagram.

**Requirements:** the layout must contain at least one measurement value graphic with diagram type [XY-diagram](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams) selected.

**Effect:** all XY-diagrams in the layout apply the selected X-axis scale.

### Axis scale - Y-Axis

Adjusts the Y-axis scale of an XY diagram.

**Requirements:** the layout must contain at least one measurement value graphic with diagram type [XY-diagram](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams) selected.

**Effect:** all XY-diagrams in the layout apply the selected Y-axis scale.


# Time Series Charts

The **Time Series** diagram type is one of the diagram types available in the **Measurement Value graphic element**. It plots measurement values against time for one or more series, with configurable presentation styles (curve, bar chart, symbols), axis settings, and aggregation options. Add a Measurement Value graphic element to a layout and select **Time Series** as the diagram type to use this feature.

For general steps on adding layout elements, see [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) and [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts).

***

## Reference: Time Line Series

An individual time line series defines three characteristic features:

1. Selection of the data to be displayed
2. Selection of the parameters or formulas to be displayed
3. Selection of the type of presentation (graphic properties)

Three series types are available:

**Presentation of measurement values from a GeoDin database**

The data source defines which measurement values are used for the presentation and which parameters of the measurement point are to be displayed.

**Aggregation of existing series**

This type of series is based on already existing series and allows, for example, the display of sums or means of those series.

**Pre-defined line**

This series type displays a pre-defined horizontal line - for example, a limit line - in the time line diagram.

Selecting the series type changes the structure of the object properties so that the relevant settings can be adjusted. To distinguish individual series more easily in the object properties tree, give each series a free name in the **Name series** input field.

**Time interval**

By default, a series is displayed for the entire time interval of the time series graph as defined by the time scale settings, for as long as data for the series is available. In some cases it is useful to define a special displayed time interval for a particular series - for example, when a threshold value changes due to regulatory amendments. This way, displaying the threshold as a pre-defined line can include the validity period of the threshold using a specific time interval. Select **-Use user-specified time interval-** and choose the desired interval. The series is then displayed only within the selected time interval.

## Reference: Processing Options

The **Processing options** branch of a time line series controls whether the raw measurement values or calculated statistics are plotted.

**-Use measured values-**

All individual measured values of a data series are used for the display.

**-Calculation of statistical values-**

Statistical values calculated from the individual measured values are displayed instead. Two settings define the calculation:

* **Calculation type** - mean values, sums, minima, maxima, or median.
* **Time range** - minutes, hours, days, months, or years. The time range determines which values of a data series are summarized into one new value for the display - for example, a monthly average of water level measurements.

**Time calculation**

Defines the point on the time axis at which the calculated value is drawn. With a monthly time range, **-at the start time of the range-** places the value on the 1st of the month and **-at the middle of the range-** places it on the 15th.

**Calculate values for**

The calculated values can be plotted against either the **-left axis-** or the **-right axis-**. Assigning series to different axes makes it possible to show parameters with very different value ranges in one diagram. If an axis is selected here, make sure that axis is also displayed and labeled.

## Reference: Multiple Series in One Element

The **Series** branch collects the options that affect how more than one time series is presented within a single graphic element.

**Diagram type**

Choose **-Stack series-** for series that are usually shown as bars, so they are drawn as a stacked graphic. The stack can optionally be standardized to 100%. Grain size analysis is a common use of this view.

**Series order**

Choose **-Show each series-** to display individual series side by side in separate diagrams, each with its own axes and labels. With this option selected, the horizontal order of the series can be controlled.

If all series are instead drawn on top of one another in one diagram, the default is a single x-parameter axis. When the series show differing parameters - rather than differing measurement points for the same parameter - use **-Each series has individual parameter axis-** to show several axes at different relative positions above the diagram. Axis settings are then made individually for each axis.

**Show empty series**

Series that contain no measurement values for the current GeoDin project are shown as an empty diagram when this option is active; otherwise they are removed.

**Default series width** - Sets the usable horizontal area for each individual diagram.

**Default series spacing** - Sets the space between the single diagrams in the horizontal view.

## Reference: Time Series List Controls

The following toolbar icons appear in list controls throughout the time series properties (both the **Time series** list and the **Series definitions** list):

**New** - Add an entry to the list.

**Duplicate** - Create a copy of the selected entry. The new entry is added at the end of the list and selected automatically.

**Delete** - Remove the marked entries from the list.

**Move selected entry up** - Move an entry up in the list. Moving entries is also possible using drag and drop.

**Move selected entry down** - Move an entry down in the list. Moving entries is also possible using drag and drop.

**Edit without refresh** - Edit list entries without triggering a refresh. Moving a series or column definition in the list can cause long processing depending on the underlying data, because many pages may be affected. Use this icon to edit the list without actualization; abandon editing with the cross or confirm with the tick mark.

**Double-click an entry** - Closes the list and navigates in the object properties tree to the selected entry, so its properties can be edited.

## Reference: Presentation Options

Optionally, a time line series can use curves, bars, and symbols - in any combination. If no presentation type is chosen, the series is not displayed (this can be useful for series used only for aggregations).

**Curve**

Select the **Curve** presentation type to display a continuous line. Optionally choose an interruption criterion based on the time span between two measurements - this avoids the visual impression of continuous measurements when data has gaps. Combined with a symbol or bar diagram, this produces different graphic presentation types for irregular measurement intervals.

By default, data records are ignored when the chosen parameter has no value (but a time exists), and a line is drawn through these records. Use the option **break line for empty records** to interrupt the line at such records instead.

**Bar chart**

Select the bar width. As with the **Symbols** type, choose whether bars should be drawn in areas where samples were taken only infrequently (interruption areas).

**Symbols**

Choose whether symbols are drawn in areas where samples were taken infrequently.

## Reference: Measurement Value Graphic Element

The **Measurement Value graphic element** is used to display time series, X-Y diagrams, triangle diagrams, and hydrochemical special diagrams. It can be inserted into an object frame as often as required.

**The element name**

The element name is used to identify graphic elements in the GeoDin graph tree view. Use meaningful names when building complex layouts. For some graphic elements a related element can be entered. Here also the element name is used.

**Drawing layer**

Displays the drawing layer on which the element is placed. Use the **In another layer** icon to move it to a different layer. See [Layout Editor Basics](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics) for further information on drawing layers.

## Reference: Measurement Graphic Series

An individual series defines two essential features:

1. Selection of the amount of data to be shown
2. Selection of the type of presentation (graphic properties)

For example, in an X-Y diagram, triangle diagram, or hydrochemical special diagram - to display measurement values of one measurement point as red symbols and another as blue symbols - create two series: set the data source for the first to the first measurement point and select red as the symbol color; set the data source for the second to the second measurement point and select blue.

To distinguish individual series in the object properties tree, give each series a free name in the **Name series** input field.

**Series label**

By default the diagram is labeled with the names of the displayed series. An alternative label can be entered here.

## Reference: Time Axis

The time axis can be labeled with any text, displayed below the center of the diagram. The font for this text is selected in the **Parameter labels** branch.

The option **-Draw top diagram boundary-** draws a horizontal closing line at the top of the diagram; without it, the diagram is open at the top.

## Reference: Time Interval

The time interval of the time axis defines the starting and ending time of the presentation. The points in time can be selected separately using the following options:

**Automatic** - The point in time is defined by the existing measurement values.

**Point in time** - The point in time is entered directly in the input field.

**Relative** - The point in time is selected relative to other points in time. This option can be selected for only one of the two endpoints. Optionally, use **Round up time difference** to round the calculated point in time to a round value of the time interval (for example, the 1st of the month).

**Current time** - Available for the ending time only. The current time is used as the ending point.

The starting and ending points resulting from the settings or the actual measurement values are displayed as information.

Stiff diagrams are the exception: they can only be used with one data record - the first record, the last one, or a specific point in time.

**Example:** to display the measurement values of the last 10 years until today - set the ending point to **-Current time-** and the starting time to **-Relative-** with a value of 10 and **Years** selected in the dropdown.

## Reference: Formula Syntax

For graphic elements related to measurements and measurement graphics - such as time series, triangle diagrams, and others - formulas are used for the featured parameters. In the simplest case a formula contains only the variable for the parameter; complex mathematical formulas combining several parameters are also supported.

In formula entry fields, use the **Build** button (right icon in the entry field) to build a formula from a list of possible parameters.

Like the labeling instructions, relations to parameters of the database are expressed using `$`-symbols:

**Example:** `$WAT:NO3$`

This defines the parameter 'nitrate' from the data type 'ground water chemistry' for the presentation.

**Mathematical operators**

In addition to single parameters, any formula combining parameter names with mathematical operators is supported:

**Example:** `$WAT:NO3$ * 2`

Uses the parameter 'nitrate' multiplied by 2.

Supported mathematical operators: `+` `-` `*` `/`

Supported functions (argument in round brackets):

* `ABS`
* `ROUND` - example: `ROUND($WAS:NO3$)`
* `EXP`
* `LN`
* `LOG`
* `SIN`
* `COS`
* `SQR`
* `SQRT`

**Detection limits**

Detection limit values from tables are entered as negative values by convention (for example, `-1` for `<1`). If used without special handling, these produce incorrect results. Use the `@B(x)` construct under the `$`-symbols to handle them, where `x` is a factor specifying how much the detection limit contributes to the result:

**Example:** `$BENZENE@B(0,5)$ + $TOLUENE@B(0,5)$ + $XYLENE@B(0,5)$`

With a factor of `0,5`, a detection limit of 5 mg (stored as `-5`) contributes `2,5` to the result.

***

## Reference: Layout Interfaces (Time Series Quick Settings)

These layout interface options control the time axis of time series in a layout.

### Time line presentation for the last

**Using layout interfaces**

The time interval of a time line series can be adjusted so that the measurement values of the current point in time are taken into consideration to a defined time span in the past.

**Requirements:** the layout must contain at least one measurement value graphic with diagram type **Time series** selected.

**Effect:** the presentation area of the time axis of all time line series in the layout is set to the selected time interval in the past of the current date.

### Axis scale - time axis

**Using layout interfaces**

The time axis scale can be adjusted.

**Requirements:** the layout must contain at least one measurement value graphic with diagram type **Time series** selected.

**Effect:** the time axis scale of all time series in the layout is affected.


# Well Design Diagrams

The **Well design** graphic element renders well construction and completion diagrams after DIN 4021, including labeling with depth, fill, and casing elements. It is placed inside an object frame alongside other depth-synchronized elements such as borehole logs and depth scales. For well design data entry, see [Well Design Data](/workspace-and-data-management/creating-objects/well-design-data).

## Reference: Well Design element

### Well design

Using the graphic element *Well design* well designs after DIN 4021, including the labeling with depth, fill and casing elements, can be carried out.

The well design is automatically divided in several pages, if the set scale requires it. In this case the page icons in the upper symbol bar are available to change to the next or previous page.

The element well design can be moved and scaled inside the object frame. All other graphic elements are automatically adjusted to the new position. Also it is possible to insert the graphic element well design in the object frame several times. This allows drawing the well design of a object in several displaying modes or translations.

**The element name**

The element name is used mainly to identify the graphic elements of a GeoDin graph better in the tree view of graphic elements. By using significant names for graphic elements a complex graph can be designed very clear. For some graphic elements a related element can be entered. Here also the element name is used.

[Drawing layer](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics)

Display of the drawing layer, on which the graphic element is placed. Using the icon **In another layer** the graphic element can be moved in anther drawing layer. You find further information on drawing layers in the chapter [Drawing layer](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics).

### Data source

If a GeoDin object has several (versioned) well designs, here the selection of the well design version to be shown is possible.

### Graphic properties

Select the mode (country standard) for the graphic presentation of the well design in the drop down menu **"Data presentation"**. Usually the setting is 'Automatic'.

Other options for the graphic presentation:

**Draw in color**

Select if the graphic should be displayed in black/white or in color.

**Draw well casing/piezometer**

Select if the lining thickness of the well casing/piezometer elements should be drawn scaled (supposed the lining thickness is recorded in the well design data).

**Draw borehole**

With deactivated option the frame of the borehole including the fill patterns are dropped from the view.

**Draw special features**

With deactivated option the elements of the special features are dropped from the view.

**Line type from dictionary**

If this option is switched off, the [Line types](/administration/fill-patterns-and-symbols) is taken from the line setting of the graphic.

If this option is switched on, it is taken from the BLCODE field in the assigned dictionary of the borehole table.

**Draw backfill**

If this option is switched off, the frames of the borehole including the signatures of the backfillings are omitted from the display.

#### Making a backfilled pipe visible

A pipe drawn with its default signature is opaque, so a backfill entered in the well design data is hidden behind the pipe rather than rendering through it. To make the backfill visible inside the pipe:

1. Open the dictionary that contains the pipe types.
2. Select the pipe type, then open its **Signature**.
3. Check **transparent** (the fill pattern must be set to **Empty**).

See [Editing fill patterns and symbols](/administration/fill-patterns-and-symbols) for the mechanics of the Signature dialog. You can apply this to an existing pipe type or create a new one for it. Once the signature is transparent, enter the backfill in the well design data as usual - it now renders through the pipe.

**Fill pattern line thickness**

Select the line thickness of the shown fill patterns (only printout).

**Draw wall thickness**

Specify whether the wall thickness of the pipe elements/special fixtures should be drawn to scale (provided the wall thickness was recorded in the expansion data).

### Borehole

Select if the chosen well design elements should be labeled and which labeling instruction should be used for this.

With activated option -Standard- the elements are labeled with a predefined standard text. If you choose the option -User-, the labeling instruction can be entered in the text field or be constructed using the icon **Build**.

The construction of labeling instructions is described in detail in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

Text tags to the element can optionally be selected automatically to the element border or centered.

### Backfill

Select if the chosen well design elements should be labeled and which labeling instruction should be used for this.

With activated option -Standard- the elements are labeled with a predefined standard text. If you choose the option -User-, the labeling instruction can be entered in the text field or be constructed using the icon **Build**.

The construction of labeling instructions is described in detail in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

Text tags to the element can optionally be selected automatically to the element border or centered.

### Special features

Select if the chosen well design elements should be labeled and which labeling instruction should be used for this.

With activated option -Standard- the elements are labeled with a predefined standard text. If you choose the option -User-, the labeling instruction can be entered in the text field or be constructed using the icon **Build**.

The construction of labeling instructions is described in detail in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

Text tags to the element can optionally be selected automatically to the element border or centered.

### Filter information

Select if the chosen well design elements should be labeled and which labeling instruction should be used for this.

With activated option -Standard- the elements are labeled with a predefined standard text. If you choose the option -User-, the labeling instruction can be entered in the text field or be constructed using the icon **Build**.

The construction of labeling instructions is described in detail in the chapter [Text macro](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

Text tags to the element can optionally be selected automatically to the element border or centered.

### Piezometers

Choosing the option -Automatic piezometer spacing- these are placed automatically in the well design. For the piezometers 1 to 9 also a free horizontal position in the view can be chosen.

See also **Piezometer number** (below).

### Piezometer number

Select if the particular piezometer should be drawn.

Additionally the distance of the piezometer from the center axis of the well design can be adjusted. For a negative distance the piezometer series is displayed left of the center axis, for a positive distance right of the center axis.

***Note:*** *This setting only takes an effect, if the option -Automatic piezometer spacing- in the branch Piezometers is deactivated.*

See also **Piezometers** (above).

### Complex graphic elements

The second toolbar contains complex graphic elements. Here you find tools for borehole logs, well design, data sequences etc.

Detailed descriptions of the particular graphic elements are available in the subordinated chapters:

General information on adding and editing of graphic elements can be found in chapter:

[Edit graphic](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics)

The object frame is a base for geological/geotechnical graphic drawing elements, wherbey there is a difference between a object frame and a (multi) object frame. Before adding complex graphic elements one of these frames has to be drawn and selected.

The method to create graphs with complex graphic elements can be structured in the following steps.

**1. Drawing the object frame**

**2. Adding an element inside of the object frame**

To draw a geological graphic element inside the object frame, you select the object frame and then the chosen tool from the symbol bar. The graphic element can only be drawn, placed and scaled inside the object frame. After insertion the graphic elements are shown as blue dashed markings and show the space that will be needed for presentation of the borehole data. Editing the geological graphic elements is equal to the editing of the elementary graphic elements.

**3. Defining the featured object or objects at**

**Data source**

or

**Data source**

### Axis range

Select here the distance of the main divisions for the depth-axis, as well as the chosen number of help divisions.

### Diagram design

In the branch Diagram design any areas, texts and symbols can be added to the diagram. Other than for the drawing of single areas, texts or symbols with the standard tools, here the created elements are fixed part of the diagram, which means they are automatically moved and scaled and offer additional special functions, for example for the automatic labeling with legend texts.

You add a single **Surfaces**, [Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) or [Symbol](/administration/fill-patterns-and-symbols) in the particular branches of the object properties.

If areas, texts or symbols exist, their display can be showed and hidden using the particular option. You do not have to remove the areas or text, if you temporarily do not want to display them.

### Show filters

If an existing well design is added to a groundwater measurement place, this option can be used to add the presentation of the filter length in the borehole cross-section.

### Horizontal scale

**Use of the layout interfaces**

Select here a horizontal scale for the presentation of the well design.

**Requirements in the layout**

The layout has to contain at least one graphic element [Well design](/workspace-and-data-management/creating-objects/well-design-data).

**Results in the layout**

All well designs of the layout apply the horizontal scale.

## Reference: Measurement Value Graphic element

The following sections describe properties of the **Measurement Value Graphic** element when used for hydrochemical and special diagram types. For general Measurement Value Graphic setup and diagram types, see [Measurement Value Graphics](/visualization-layouts-and-reporting/creating-custom-layouts/measurement-value-graphics) and [X-Y Diagrams](/visualization-layouts-and-reporting/creating-custom-layouts/x-y-diagrams).

### Parameter list

Defined parameters for calculation are expected for the diagrams Piper, Durow, Formatio, Pie, Bar. Because a parameter name for a substance can be changed in a database, it is possible to adjust the preset correlation in the parameter list. Double-click the parameter to adjust and select its entry in the view of the object properties.

### Measurement value graphic

The graphic element measurement value graphic is used to display time series, XY-diagrams, triangle diagrams and hydrochemical special diagrams. It can be inserted into a object frame any often.

**The element name**

The element name is used mainly to identify the graphic elements of a GeoDin graph better in the tree view of graphic elements. By using significant names for graphic elements a complex graph can be designed very clear. For some graphic elements a related element can be entered. Here also the element name is used.

[Drawing layer](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics)

Display of the drawing layer, on which the graphic element is placed. Using the icon **In another layer** the graphic element can be moved in anther drawing layer. You find further information on drawing layers in the chapter [Drawing layer](/visualization-layouts-and-reporting/creating-custom-layouts/layout-editor-basics).

### Piper diagram

The Piper diagram after PIPER (1944) is one of the most common methods to display hydrogeochemical analyses.

In two three component diagrams the ratio of the molar equivalent concentration of the anions and cations and in a combined rhombus diagram the ratio between (Na+K)/(Ca+Mg+Fe) and (HCO3+CO3)/(SO4+Cl+NO3) is shown.

Classification after the Piper diagram is based in contrary to the method after Valjaschko on the predominant solution contents, the major ions.

To display an analysis in a Piper diagram the main ingredients have to be analyzed (Ca, Mg, Na, K, HCO3+CO3, SO4, Cl), hence a not analyzed ingredient can be calculated using the ion balance. Nitrate is, if analyzed, added to the sulfate, iron to the calcium.

The calculation/estimation via the [Ion balance](/data-analysis/geotechnical-analyses) is activated by default.

To display the original molar equivalent concentrations without ion balance, this option can be deactivated.

GeoDin interprets all special values (-99, -88 etc.) as 0 and all other negative values (under the detection limit) as absolute values.

If the parameters Fe or NO3 are defined as empty in the parameter definition, they are also removed from the diagram labelling.

***

## Reference: Fill Color and Transparency

### Color / Transparency

Controls the fill color and transparency of area fills in well design diagrams:

* **Default color** - The background color for a fill pattern is taken from the fill pattern table by default.
* **User defined** - Select this option to override the default and choose a custom color for the area fill.
* **Transparent fill** - Allows overlaying filled areas with a transparent fill pattern so underlying elements remain visible. Note: not all print output devices support transparency.
* **Line thickness** - Adjustable only for vector fill patterns; affects print output only. Changing this setting has no visible effect on the screen.


# Diagram and Chart Properties

Reference for diagram, chart, and drawing-layer display properties - and the pre-/post-selection data filtering used by measurement-value presentations

This page documents the display properties available for diagram and chart graphic elements used in GeoDin site-plan layouts and print graphics, and is the reference for the pre-/post-selection data filtering those presentations use. For constructing site plans - scenarios, scenes, object selection, and scales - see [Creating Site Plans](/visualization-layouts-and-reporting/creating-site-plans).

***

## Reference: Diagram Types

The following diagram types are available as graphic elements in GeoDin layouts. Select the diagram type when configuring the element properties.

### Durov Diagrams

The **Durov diagram** is an alternative to the Piper diagram for hydrochemistry visualization. It plots major ions as percentages of milli-equivalents in two triangles, projected onto a square grid perpendicular to the third axis. The plot reveals clustering of data points with similar compositions. An ion balance calculation is performed automatically for missing ingredients.

The **Durov diagram 2020** variant allows freely definable axis parameters (which must normally be converted to percent). Per triangle, sides add up to 100%. The axis division and labeling are fixed, but the orientation of the triangle axes and parameter labeling are freely definable. In the **extended Durov diagram**, additional squares are added at the bottom and right for an extra parameter in each direction with freely defined scales.

Analysis values held in mg/l have to be converted to milli-equivalents in the parameter definition. The following formulas are the usual conversions for a Durov diagram 2020:

| Triangle | Parameter | Formula                                 |
| -------- | --------- | --------------------------------------- |
| Left     | SO4       | `$WAS:SO4$*2/96.0626`                   |
| Left     | CL+NO3    | `($WAS:CL$/35.453)+($WAS:NO3$/62.0049)` |
| Left     | HCO3      | `$WAS:HCO3$/61.0168`                    |
| Upper    | Ca        | `$WAS:CA$*2/40.078`                     |
| Upper    | Mg        | `$WAS:MG$*2/24.305`                     |
| Upper    | Na+K      | `($WAS:NA$/22.9897)+($WAS:K$/39.0983)`  |

### Schoeller Diagram

Displays a set of parameters taken from a freely defined parameter list; the number of parameters in the list divides the x-axis. Individual data points can be shown with a user-defined symbol. To configure the diagram, define the parameter list and the measurement graphic series. Separate checkboxes control whether the parameters at the left and right edges are displayed with a margin. The x-axis and y-axis labels and their font are set on the same properties page.

### Formation Diagram (LBGR)

A classification method for high-mineralized natural waters (Valjaschko, 1960s), extended by Rechlin et al. for slightly mineralized freshwater. Distinguishes four elementary water types based on molar equivalent ratios of main ingredients (not predominating ions): **Carbonate Type** (unsaturated NaHCO3 water), **Sulfate Sodium Type** (carbonate saturated, sulfate not - dissolved Na2SO4), **Sulfate Magnesium Type** (carbonate and sulfate saturated with earth-alkali ions), and **Chloride Type** (calcium exceeds carbonate and sulfate). Requires analysis of Ca, Mg, Na, K, HCO3+CO3, SO4, Cl. The LBGR hydrogeochemical formation model (Brandenburg) distinguishes 9 formation types from precipitation through deep water-bearing layers.

### Pie/Bar Chart

Displays parameters or formulas compared against each other using independently adjustable fill patterns and colors. Only positive values are drawn; use a formula such as `$WAS:CL@B0,5$` to convert negative values. Each data record produces one diagram per page. Statistics can be calculated using formulas like `$WAS:CL@MAX$` in the parameter list.

### Circle Diagram

Plots a parameter value on a radius axis against another parameter as an angle value, displayed as a user-defined symbol. Requires defining a radius parameter, an angle parameter, and the series to be shown.

### Boxplot

Graphically represents the distribution of an ordinally scaled characteristic. The **box** spans the middle 50% of data (25th to 75th percentile, IQR). A continuous line marks the **median**. **Whiskers** extend up to 1.5x IQR; their actual length is determined by the last data value within that limit (so whiskers may differ in length). Values beyond the whiskers are plotted individually as outliers.

## Reference: Series and Calculated Lines

### List Management

Where multiple elements can be defined (series, columns, calculated lines, etc.), they appear in an ordered list. Use **New**, **Duplicate**, **Delete**, and arrow icons to manage entries. **Edit without refresh** suspends recalculation during bulk edits. Double-click an entry to navigate to its properties.

### Calculated Horizontal Lines

Horizontal reference lines can be added to any series in addition to curves, bars, or symbols. Available calculation types: **Minimum**, **Mean value**, **Maximum**, and **Median** (computed from measurement values), or a numeric value from **Object data**. Choose whether statistics use only the **displayed time interval** or **all measurement values** regardless of the visible range.

### Default Line

Displays a horizontal line at a user-defined value. Select whether the line references the left or right axis.

### Aggregation Preferences

An aggregation series is calculated from other series. Available types: **Mean values**, **Sums**, and **Differences**. For differences, values of all series from the second onward are subtracted from the first (e.g., series 3,1,2 yields value3 - value1 - value2). Enable **Only values measured at the same time** to restrict calculations to coincident timestamps. The **Stack** option enables stacked or bar display with percentage-based segments.

Two constraints apply to the stacked and bar display types. A stacked display requires all series values to be positive. The percental display scales all series to 100% and automatically sets the scales of the Y-axes to the user-defined range 0-100, whereas the real-value display shows the absolute values. Once drawing is activated, the batch settings appear on the series to be stacked so that the color options can be set.

### Measurement Frequency

Filters which datasets of a measurement series are displayed using a time-interval. Useful for distinguishing data logger records from manual measurements by defining two series with different frequency settings and line colors. Lines are automatically interrupted at frequency boundaries.

### Confidence Limit

Configures confidence limit display on time series. Properties: **Display name** (for legend), **Confidence level** (0-1, typically 0.95), **Upper/lower confidence level** selection, **Draw curve** and **Draw symbols** toggles (with sub-node styling), and **Show in legend** option.

## Reference: Data Filtering

GeoDin filters measurement value data sets at two points in the presentation pipeline: a **pre-selection** runs before the data types are correlated into combined data sets, a **post-selection** runs afterwards on the correlated result. Both are built from the same kind of selectors and use the same condition syntax.

### Pre-selection

A pre-selection filters the measurement value data sets against fixed criteria - for example "use data sets where chloride > 12" - **before** the data types are combined. It consists of any number of individual selectors (single conditions) that are combined with AND, so a data set must satisfy every selector to survive the filter. Because a single selector can itself contain logical operators, a pre-selection can often be expressed with one selector.

**Presentations using one data type.** When the presentation uses parameters of a single data type only (for example two substances from the data type groundwater chemistry), no data types have to be correlated: both parameters already belong to the same measurement value data set at a given time. The pre-selection simply chooses the data sets that meet the conditions.

**Presentations using several data types.** When the presentation mixes parameters of different data types - for example water level from groundwater dynamics against nitrate from groundwater chemistry - those values live in separate data sets, and there are typically more water level readings than chemical analyses. A presentation such as an XY diagram can only use data sets in which both measurements were taken at the same time, so the data sets of the different data types are combined into one complete data set using correlating criteria. Because the pre-selection is applied before that combination, it can remove data sets of one data type from the correlation entirely, which visibly changes the result.

**How data types are correlated.** The correlating criterion depends on the measurement point type of the data type:

| Data type correlated with                 | Correlating criterion                                    |
| ----------------------------------------- | -------------------------------------------------------- |
| Measurement point type filter or borehole | Analysis date (the **date** column of the analysis)      |
| Measurement point type sample             | Sample name (the **sample name** column of the analysis) |

Where two or more data types hold analyses with the same date (or sample name), those data sets are merged into one complete data set. Data sets that cannot be correlated are not lost - they are carried into the combined result, with empty columns for the parameters that were not measured.

**Example.** Groundwater dynamics (water level) and groundwater chemistry (nitrate, laboratory) hold these analyses:

Data type 1 - groundwater dynamics:

| Date       | Water level |
| ---------- | ----------- |
| 2005-10-01 | 12.3        |
| 2005-10-02 | 12.4        |
| 2005-10-03 | 11.8        |
| 2005-10-04 | 11.7        |
| 2005-10-05 | 12.1        |

Data type 2 - groundwater chemistry:

| Date       | Nitrate | Laboratory |
| ---------- | ------- | ---------- |
| 2005-10-01 | 12      | A          |
| 2005-10-04 | 14      | B          |
| 2005-10-04 | 13      | A          |

Correlating the two data types produces:

| Date       | Water level | Nitrate |
| ---------- | ----------- | ------- |
| 2005-10-01 | 12.3        | 12      |
| 2005-10-02 | 12.4        |         |
| 2005-10-03 | 11.8        |         |
| 2005-10-04 | 11.7        | 14      |
| 2005-10-04 |             | 13      |
| 2005-10-05 | 12.1        |         |

The two chemistry analyses of 2005-10-04 make the relation ambiguous, and in that case the data sets are correlated at random. Adding a pre-selection selector with the condition on the Laboratory column, `Laboratory = 'A'`, removes the laboratory B analysis before the correlation and makes the result deterministic:

| Date       | Water level | Nitrate |
| ---------- | ----------- | ------- |
| 2005-10-01 | 12.3        | 12      |
| 2005-10-02 | 12.4        |         |
| 2005-10-03 | 11.8        |         |
| 2005-10-04 | 11.7        | 13      |
| 2005-10-05 | 12.1        |         |

### Post-selection

Filters data sets from correlated data types using logical conditions - see [Pre-selection](#pre-selection) for how the data types are correlated. Define a **Name** (shown in layout interfaces) and a **Condition** using selection syntax. Conditions can be parameterized with placeholders: `%NUMERICPARAM` (numeric fields), `%STRINGPARAM` (text fields), `%DATEPARAM` (date fields). Set a **Default value** for parameterized conditions. Enable **Make available as quick setting** to expose the parameter in layout interfaces. Display selector content in layouts using `$%SelectorContent:Selector_name[@format]$` - use `@t` for translated values or `@c` for key codes.

Several selectors are managed together in the list of selectors. They are evaluated in the order set in the list and are combined with **AND**: a data set stays in the result only if it fulfills the condition of selector 1 **and** selector 2 (and so on). Restricting a presentation to a time period therefore takes two selectors:

| Selector | Name       | Condition                 |
| -------- | ---------- | ------------------------- |
| 1        | Start date | `$SMPDATE$ >= '20150601'` |
| 2        | End date   | `$SMPDATE$ <= '20150630'` |

Only samples that fall into June 2015 fulfill both conditions and are included in the presentation.

Each condition is defined against a data field in a preset table or data type; click the icon at the right of the **Table** field to choose one. That list also offers the option **-All data types-**, which is useful when one parameter occurs in several data types (for example `$SMPDATE$`) - the selector then only has to be created once, regardless of which data type the presentation ends up using. The condition itself is entered in the **Condition** field; clicking inside it opens a building dialog listing the available parameters, and double-clicking a parameter name inserts it. The syntax is described under [Selection syntax](/data-analysis/query-builder-reference/conditions-and-operators).

## Reference: Text and Labeling

### Point Labels

Displayed points can be optionally labeled by activating the **Label** option. The label content is defined by a labeling macro, entered directly or built using the **Build** icon. See [Text Macros and Variable Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text) for macro syntax details.

### Time Axis Text Formatting

Time axis labels support **absolute** or **relative** time values. Absolute format codes: `d`/`dd` (day), `ddd`/`dddd` (weekday), `m`/`mm` (month number), `mmm`/`mmmm` (month name), `yy`/`yyyy` (year), `h`/`hh` (hour), `n`/`nn` (minute), `s`/`ss` (second). Relative mode starts at 0 and labels the time difference from the start in selectable units (days, months, etc.) with configurable decimal places.

### Diagram Text Positioning

Text elements can be fixed text or linked to legend labels. Position is defined in a 0,0 to 1,1 coordinate system relative to the diagram area (0,0 = lower-left, 1,1 = upper-right). Enable **Use absolute coordinates of the chart axes** to tie positioning to displayed parameter values. **Remove text outside the chart area** hides text that falls outside the diagram due to axis changes. Link to a legend label using the syntax `%Leg:S=<series>,L=<label>` for dynamic text.

### Legend Labels

Used either within a diagram (via a text element linked with `%Leg:S=,L=` syntax) or in a separate legend element. Labels combine free text with variable data field names (text macro syntax). The **Translation (language)** setting controls dictionary retranslation; defaults to "Automatic" (uses the object type language). If no translation exists, the abbreviation is displayed directly.

## Reference: Appearance Properties

### Fill, Color, and Outline

**Fill pattern** applies to symbols with filled areas (no effect on line-only symbols). Enable **Draw area transparent** to show background elements through unfilled areas; disable it to hide background behind the symbol rectangle. **Line type** adjusts symbol contour presentation. **Color** is selected from the dropdown or set to "Individually" for custom colors. **Line thickness** can be set in mm (recommended for print consistency) or pixels (screen-only use).

### Color and Transparency

The default fill pattern background color comes from the fill pattern table. Select **User defined** to override. **Transparent** fill patterns allow overlaying with visible underlying elements (not supported by all output devices). Line thickness adjustment applies only to vector fill patterns and affects print output only.

### Font

Select font family, size, and style from the dropdown. **Alignment** uses six anchor points for precise positioning (status line shows position relative to the alignment point). **Angle** rotates text up to 360 degrees. **Background** mode: *Transparent* shows graphics through individual characters; *Opaque* crops the text with a background color (default white, customizable).


# Report Templates

How to work with report templates, layout snippets, report elements, and text macros in GeoDin

GeoDin ships with pre-built report templates organized by object type. You can customize these templates or create new ones from scratch using the layout editor.

## Template basics

Templates are accessed via the **Layout** section in the Graphic Printing and Editing method. Default layouts ship in `GeoDin\Layouts\`, organized by object type - for example, G1 includes borehole logs, stiff/parameter layouts, water content vs. depth, and Atterberg limits charts.

Users can add custom layout folders via `Available Layouts > + button > browse to folder` (e.g., a network share for team-wide templates).

### File formats

Templates can be saved in two formats:

* **GLO (GeoDin Layout)** - template only, no data connection. Reusable across projects. Only GLO files appear in the Available Layouts overview.
* **GGF (GeoDin Graphic Format)** - layout with connected data (e.g., a specific cross-section with 10 boreholes). Can be reopened by drag-and-dropping into GeoDin.

Save as GLO for reusable templates; save as GGF to preserve a specific graphic with its connected objects.

{% hint style="warning" %}
When editing a default layout, always use `File > Save As` (never Save) to avoid overwriting the shipped default. Create a folder like `[YourCompany]_Layouts` and copy defaults there before editing. If a default is accidentally overwritten, there is no built-in reset - you must request a copy from the GeoDin team. In a network installation, overwriting a default affects all users.
{% endhint %}

### Layout snippets

A layout can embed another layout as a **snippet** - for example, a company header/footer stored once in `Common_A4_LHF.GLO` and referenced by many templates. Changing the logo in the snippet file automatically updates all layouts using it. In edit mode, snippets appear as green-boxed regions that cannot be edited inline; open the snippet layout directly to modify it.

### Multi-language support

Templates can carry translations and print in different languages depending on the `File > Language` setting - the same template can output in German or English without modification.

For detailed layout creation steps, see [Creating Custom Layouts](/visualization-layouts-and-reporting/creating-custom-layouts).

***

## Report elements

The **Report element** is a table-based component for displaying tabular output of general, layer, sample, or measurement data within a layout.

### Setting up a report element

1. **Data source:** choose from General Data, Layer Data, or Samples > specific data type (e.g., CU triaxial tests)
2. **Column configuration:** use the blue `+` button to add columns. Each column has a **Text Macro** (the parameter to display) and a **Heading**.
3. **Selectors:** exclude rows by parameter conditions (e.g., skip values above or below a threshold)
4. **Conditional formatting:** set presentation options to highlight data - for example, "if CU > 50, color the row red" via `Column Properties > Presentation Options`

Multiple report blocks can be combined in one layout (e.g., a general-data table and a measurement table side by side).

### Report types

Two categories of reports are available:

* **Original data reports** - display raw data in summary (borehole tabs, sample overviews, measurement tables)
* **Calculation reports** - process data before display (statistics, list comparisons, plausibility checks, grain size analyses)

### Exporting report data

Reports can be exported to Excel or CSV in two ways:

* From edit mode: right-click the report element > Export as Excel or CSV
* From the layout overview: use the Report Access button (no need to open edit mode)

***

## Text macros and annotations

### Variable text element

The **Variable Text** element displays dynamic data from the database in headers, footers, and annotations. Use the `Build` button to select macros from available parameters.

Common macros include: long name (full location name), project name, driller, borehole, EPSG code, X coordinate, Y coordinate. The macro search bar in the Build dialog speeds up finding specific macros.

### Image element

Load company logos and reference images via `Object Properties > Data Source > Load image file`. Supported formats include BMP, JPG, PNG, TIF, EMF, WMF, and GGF.

### Legend element

The **Legend** element auto-detects fill patterns from objects currently in the frame. Configure via `Options > ... > choose which graphic element to reference` (e.g., select the object frame to show all fill patterns in that frame).

{% hint style="info" %}
The auto-generated legend only includes patterns from objects currently displayed. For an "all possible fill patterns" legend, it must be built manually.
{% endhint %}

For a focused guide to text-macro syntax, conditional separators, calculated parameters, and translation support, see [Text Macros in Reports](/visualization-layouts-and-reporting/report-templates/text-macros-in-reports).

{% hint style="info" %}
PSD (Particle Size Distribution) layouts are pre-built and shipped with GeoDin. It is recommended to customize existing PSD templates rather than building from scratch.
{% endhint %}

Template creation is documented comprehensively in the in-product **F1** guide, covering object frames, single vs. multiple frames, macros, and dynamic objects.

### Create report

![Create report](/files/f4ipvj9FGAb2y0JugLPl) **Create report**

With the method **"Create Report"** at a database it is possible to fill a prefabricated text with data from a database by using special macro commands. The file format is odt (open documenttext). As the macro commands can be corrupted by other internal Office commands when saving the file, we recommend to use only one text processing program (Ms Word, Libre Office) when creating the report.

At first you choose an odt source file. When reading the data the program gets the constants definitions and displays them in a dialogue. You must choose a target file to start this procress.

All constants will be replaced when clicking the **Ok** button, then the layouts will be loaded and the appropriate elements will be replaced as well. Depending on the size of layout and data this process can take a long time.

A protocol shows the changes and errors when finished. Until this very point all replacements were performed in internal steps. Once you apply the protocol with the **continue** button the target file is going to be written.

You will find a demonstration, including prepared layouts, on our CD in the directory ***GeoDin**\\**DEMO**\GeoDin Beispiel Demodatenbank\\**AutoBerichtserstellung*** for the sample database.

Refers to a prefabricated GeoDin graphic or layout and delivers back the image from the graphic.

\#GeoDin:getimage?layout= hydraulicheadquicksetting.GGF\&QLConfig1=TimeLineAxisRange+Param1=01.01.2002+Param2=31.12.2002#

QLConfig1=TimeLineAxisRange defines parameters for quick settings of layouts. Possible modifications are TimeLineAxisRange, TimeLineLeftAxisParam, TimeLineRightAxisParam and Coordinates.

+Param1=01.01.2002+Param2=31.12.2002 is as the type of the quick setting of the layout and defines the parameters. For a time domain these are 2 parameters with particular dates.

***Note:*** *There must be a place holder in the document already to set both scale and size of the image. Afterwards this place holder image will be replaced by the GeoDin image. Due to this the macro command getimage must be located above the place holder.*

Refers to a GeoDin image or layout as getimage does. The difference is the access on text elements within the graphic and their output. At this point a report element can be used as well. In this case the result will be the output of the first cell of the report.

**Example of a frame query, this can be used for getimage too:**

*#GeoDin:gettext?layout=hydraulicheadtexts.GGF\&Query1=year+Param1=01.01.2002+Param2=31.12.2002\&elementname=MaxValue#*

elementname=MaxValue defines the element in the layout meant for analysis

+Param1=01.01.2002+Param2=31.12.2002 is as the name of the framework query and defines the parameters. For a time domain these are 2 parameters with particular dates.

It is recommended to define as many text elements via a layout as possible, otherwise you have to load a new layout for each text element.

This variant relates to calculations without a specific reference to the data. No database relations are necessary. Possible macros may look like this:

You can use the date in the format DD,MM,YYYY. The macro mentioned above would give back the current year.

Furthermore it is possible to set often occurring values during the creation of the report. This is done by defining constants. For example: if you have a report over a year with embedded graphics, in which the time axis is parameterised:

*#GeoDin:getimage?layout=WasserstandSchnelleinstellung.GGF\&QLConfig1=TimeLineAxisRange+Param1=01.01.2002+Param2=31.12.2002#*

For frequently use of the axis setting all setting parameters would have to be readjusted each year. But here it is possible to define constants, which are going to be specified while the document is loading. The macro looks like the following:

*#GeoDin:getimage?layout=WasserstandSchnelleinstellung.GGF\&QLConfig1=TimeLineAxisRange+Param1=DateParam?StartDatum|+Param2=DateParam?EndDatum|#*

*#GeoDin:getimage?layout=WasserstandSchnelleinstellung.GGF\&QLConfig1=TimeLineAxisRange+Param1=01.01.DateParam?Berichtsjahr|+Param2=31.12.DateParam?Berichtsjahr|#*

Replacements from get-commands can be highlighted, if successful in green, otherwise red. For this reason you have to validate these reports manually after an automated setting. The commands for gettext and getmacro can be deleted from the target text by using the button **delete successfully replaced command from the text**.

Replacements of constants cannot be highlighted in a special way because they can also be part of macro commands (see example).


# Borehole Log Reports

How to generate borehole log reports in GeoDin using templates, layouts, and the borehole log graphic element

Borehole log reports are GeoDin's primary output for documenting individual boreholes. Templates and layouts drive the report output, combining borehole description text, layer fill patterns, water levels, borehole design diagrams, data-sequence plots, test result tables, static labels, and dynamic macros into a single printable document.

## Borehole element configuration

The borehole element supports three drawing types: **Graphic Log**, **Tabular Log**, and **Log with Default**. Elements can be resized within the layout; a red outline indicates insufficient space for the description text.

**Scale options:**

* Fixed ratios (e.g., 1:100, 1:200)
* Fixed depth intervals (e.g., only show the first 10 m)
* "Fit to Page" (dynamic scale per object)

A depth interval setting can force a page break - for example, setting an end depth of 10 m causes the borehole to continue on page 2. Scale, interval, page break, and fit-to-page settings interact and must be balanced together.

{% hint style="info" %}
Each borehole with measurement data is marked with a small blue sphere icon next to it in the tree view.
{% endhint %}

For cross-section reports, see [Cross-Section Reports](/visualization-layouts-and-reporting/report-templates/cross-section-reports). For printing and exporting reports, see [Bulk Print and PDF Export](/visualization-layouts-and-reporting/report-templates/bulk-print-and-pdf-export).

***

## Reference: Report graphic element

### Overview

The **Report** graphic element displays tables with database contents or calculated reports (statistics, list comparisons, etc.). It can be inserted into an object frame multiple times. Each graphic element has a configurable **element name** (for identification in the tree view), a **drawing layer** assignment, and **arrangement controls** (bring to front / send to back) for overlapping elements.

### Report types

| Type                     | Description                                                                                                                                                                                                                                            |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Original data report** | Shows original data in summary: tabular borehole presentations, sample overviews, measurement value tables. Nearly all data in a GeoDin database can be documented in any combination.                                                                 |
| **Report calculation**   | Processes measurement value data before reporting - includes list comparison, statistics, annual statistics, laboratory control reports, plausibility reports, and grain size analyses (particle size parameter, sieve analysis, hydrometer analysis). |
| **Plug-in reports**      | Requires external plug-in modules. The plug-in handles all configuration and calculation; no further settings can be made in GeoDin.                                                                                                                   |

Row types, page breaks, and dynamic captions are common to all report calculations and are documented under [Export](/exporting-data/export#reference-report-row-types).

#### List comparison

The list comparison is a report calculation in which the measured values of different parameters are compared with a comparative list, so that exceedance of or approximation to a comparative value is shown in tabular form. Configure it with:

| Setting            | Description                                                                                                                                                                                                            |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data type**      | The data type for which the list comparison is calculated. The list of possible data types depends on the selected data source (measurement point type).                                                               |
| **List group**     | A list group from the offered entries. If the chosen data type is not correlated with any comparative list, a list comparison is not possible.                                                                         |
| **List**           | The comparative list itself.                                                                                                                                                                                           |
| **Parameter list** | **manual** - choose the parameters to be considered one by one. **automatically create from** - take the parameters to be considered from a measurement program, or alternatively use all parameters of the data type. |

Display tolerances and the behavior for parameters with or without a list value are set under [Parameter settings (list comparison)](/exporting-data/export#reference-parameter-settings-list-comparison).

#### Statistic

The statistic is a report calculation in which statistical values such as minimum, maximum, standard deviation and variance are shown in tabular form. The values can be structured temporally, and several parameters can be examined at once.

**Parameter settings**

* **manual** - a parameter list is shown below the statistic, in which any parameter can be added or removed.
* **automatically create from** - gives access to the parameter lists of prepared measurement programs. Select a data type and a measurement program; alternatively all parameters of a data type can be used.

**Time based classification**

| Option                 | Effect                                                                                                                                                                                                                           |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **without**            | The measurement values are not divided into time periods. All measurement values of the whole time span of the measurement are considered for the statistic values.                                                              |
| **monthly**            | The measurement values are analyzed monthly. The monthly statistic contains several statistic values per parameter depending on the time interval of the entire measurement series. Only the year of the first data set is used. |
| **monthly multi year** | As monthly, but all data sets are used independent of year for the chosen time period.                                                                                                                                           |
| **yearly**             | The measurement values are analyzed yearly. The annual statistic contains several statistic values per parameter depending on the time interval of the complete measurement series.                                              |

**Pool measurement points**

If several measurement points exist for a single object, these can be combined. If several objects are used in one object frame, all their measurement points can be combined to create a statistic across locally separated measurement points of an area.

How parameters with no data in a period are shown is controlled by the [blank-value options](/exporting-data/export#reference-blank-values-in-statistic-reports).

#### Laboratory control report

The report type **Laboratory control report** displays single parameters as rows. Samples, filters, boreholes, or object manager queries can be specified as the data source under report > report type > data source (in the object properties).

With samples as data source, the result looks like this:

```
Measurement parameter    Measurement value   Unit
Cyanide (total)          0.333               mg/kg DW
Metals
Lead                     40.000              mg/kg DW
Nickel                   50.000              mg/kg DW
PAH
Naphtalene               4.200               mg/kg DW
```

The columns define which information about the parameter is displayed - measured value, unit, and optionally the extended measurement value specifications such as measurement method, sample preparation, or detection limit. The rows define which parameters and which subheadings ("Metals", "PAH" in the example) appear. A sample with several measured parameters is displayed with a corresponding number of rows; if several samples are connected to the layout, the same number of row blocks is created for each sample. Row blocks can be separated by subheadings (for example the sample name) or page breaks - see [Report row types](/exporting-data/export#reference-report-row-types) and [Dynamic captions](/exporting-data/export#reference-dynamic-captions).

Rows carrying a parameter need their line type set to **measurement parameter** beforehand; rows carrying a subheading need line type **Text**.

**Parameter-level defaults**

Standard unit of measurement, standard limit of determination, and standard method do not have to be entered for each individual measured value. They can be defined once at the parameter itself.

{% hint style="info" %}
These defaults can only be set in the system configuration.
{% endhint %}

| Default                  | Where to set it                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------ |
| Unit                     | The **Unit** field of the parameter.                                                 |
| Standard detection limit | A discrete text line `DEFAULTQUANTIFLIMIT=<value>` in the parameter's editing field. |
| Standard method          | A discrete text line `DEFAULTMETHOD=<string>` in the parameter's editing field.      |

### Image element

The **Image** graphic element can be used for company logos, topographic backgrounds, and similar. Supported formats: BMP, EMF, ICO, JPG, GGF (GeoDin graphic files), PCX, PNG, TIFF, WMF. After adding, the element appears as a blue dashed frame; select the image file via the **Data source** settings.

### Well design horizontal scale

Configure the horizontal scale for well design elements. Enter diameters for borehole and casing elements drawn at accurate scale. Options include "Constant width" (fixed maximum borehole diameter), "Centre display" (keeps the well design centered regardless of data), and percentage-based borehole widening for better display of fill patterns or staggered piezometers.

### Report parameter selection

Select a parameter from the available data types by clicking the button in the entry field to open the selection dialogue.


# Cross Section Reports

How to create geological cross-sections in GeoDin - selecting boreholes, defining the line of section, and configuring display scenarios

Cross-sections are one of GeoDin's most powerful visualization tools, combining multiple boreholes into a geological profile with configurable display elements.

## Creating a cross-section

The cross-section workflow runs under the **All Objects** branch via the **Cross Section** method, and follows five steps:

{% stepper %}
{% step %}

#### Select objects

**Select objects** from the map view (drag-rectangle to select; use Remove/Add to refine the list)
{% endstep %}

{% step %}

#### Draw a line of section

**Draw a line of section** by clicking two points, OR click each borehole sequentially for a polyline
{% endstep %}

{% step %}

#### Project boreholes

**Project boreholes** perpendicular to the line of section (single button moves boreholes onto the line)
{% endstep %}

{% step %}

#### Set scales and positions

**Set scales and positions** - choose horizontal and vertical scales; GeoDin auto-selects paper size (A0/A1/A2/A3/A4) to fit, or override via Page Layout
{% endstep %}

{% step %}

#### Configure cross-section scenarios

**Configure cross-section scenarios** - add graphic elements: borehole log, borehole name, depth scale (left/right), samples, data sequence, measurement element, horizontal scale, distance ruler, coordinates, waypoints
{% endstep %}
{% endstepper %}

The workflow supports both automatic perpendicular projection AND manual per-borehole placement.

## Saving and storing cross-sections

Cross-sections can be saved in two formats:

* **GLO** - template only (no data). Reusable for different borehole sets.
* **GGF** - with connected data. Can be reopened later with data intact.

To store a cross-section in the project: navigate to the project's **Documents** area, create a new folder, add a new document, select the GGF file, and choose to either save in the database or link to an external file.

## Scale configuration

Depth scale divisions are configurable (e.g., 1 m intervals with 5 m main divisions). You can set different vertical scales for ground elevation and borehole profiles - helpful when elevation differences are large relative to borehole depth.

To auto-print scales in text elements, use the macros `$%SectionHorizontalScale$` and `$%SectionVerticalScale$` in variable text elements.

For borehole log configuration details, see [Borehole Log Reports](/visualization-layouts-and-reporting/report-templates/borehole-log-reports). For printing and exporting, see [Bulk Print and PDF Export](/visualization-layouts-and-reporting/report-templates/bulk-print-and-pdf-export).

***

## Reference: Cross-section tool

### Starting a cross-section

Three methods to start:

1. **From a query or group** - double-click the Cross-section method icon; the graphic window opens and all objects are loaded into the site plan
2. **From the menu** - `Extras > Cross-Section` in the graphic window; objects must be added manually
3. **From properties** - navigate to the "Cross-section" branch in the graphic properties and click Start

### Working with objects

Objects can be added via drag-and-drop from the object manager - single objects, queries, or groups. Objects from any database or project can be included (they don't need to be in the same project). The site plan shows loaded objects with a sign and label; coordinate transformation between meridian zones is available for the Gauss-Kruger coordinate system.

### Defining the line of section

Two drawing tools are available:

* **Line tool** - defines the line of section with any number of nodal points (coordinates are editable)
* **Projection tool** - projects objects perpendicular to the line of section (shortest distance). Objects used as nodal points cannot be projected.

The line can be saved and loaded as a `.LIN` file (ASCII format with nodal point coordinates), enabling reuse across cross-sections or import from other programs.

### Cross-section scenarios

Scenarios define which graphic elements display for all selected boreholes. Available scene types:

| Scene               | Description                                                       |
| ------------------- | ----------------------------------------------------------------- |
| Distance ruler      | Horizontal labelling between objects (e.g., distances)            |
| Well design         | Well construction display                                         |
| Borehole profile    | Geological log with fill patterns                                 |
| Ground surface      | Surface elevation line                                            |
| Groundwater         | Water level indicators                                            |
| Depth scale         | Vertical scale bar                                                |
| Legend              | Auto-generated legend for profiles, symbols, samples, groundwater |
| Measurement graphic | Test result charts                                                |
| Samples             | Sample position indicators                                        |
| Data sequences      | CPT traces, geophysical logs                                      |
| Variable text       | Borehole names, labels, dynamic macros                            |

Default scenes include borehole log, borehole name, and two scale bars. Scenarios can be saved as `.gsz` files and reloaded for different cross-sections.

Each scene has configurable width, height (for measurement graphics), and relative position to the borehole anchor point. Scenes can be applied to all objects, or only to the first/last object (useful for scale bars on the outside edges).

### Static vs. dynamic cross-sections

Two storage modes:

* **Save object data in graphic** - borehole data is embedded in the GGF file. Changes to the database are NOT reflected. The cross-section can be opened without a database connection.
* **Save object link in graphic** - only links to the database are stored. Changes to the database ARE reflected when reopening. Requires database access.

To edit individual graphic elements, use **Break up cross-section** to unlock the elements into standard layers. This is irreversible - the link to the cross-section assistant is lost.

### Axis range configuration

For data sequence and measurement value displays within cross-sections, axis ranges can be set to automatic (based on actual values), user-defined, or rounded. Options include logarithmic scale, mirrored axis, configurable main divisions (by unit or count), help ticks, and decimal precision. The "Cut surplus decimals" option is especially useful for logarithmic axes (producing labels like 0.001, 0.01, 0.1, 1, 10, 100).

### Importing layer boundaries

Layer boundaries can be imported from external files via `File > Import > Layer boundaries`. The file must contain 4 columns: ID, Easting, Northing, Elevation. The coordinate system must match the cross-section. Imported polylines are previewed before being added to the graphic. Elevation values for coordinates not exactly on the line of section are projected perpendicular.

### Snap function

The snap function (`Ctrl+K` or `Preferences > Snap`) provides exact connections between graphic elements, especially useful for constructing layer boundaries in cross-sections. When creating or moving endpoints, a point snaps automatically to existing endpoints within the configurable snap distance (1-50 mm). The function works across all drawing layers.


# Bulk Print and PDF Export

How to bulk print and export borehole reports as PDF, PNG, DXF, and EMF files in GeoDin

GeoDin allows you to print or export reports for multiple boreholes at once, eliminating the need to process each borehole individually.

## Bulk printing workflow

To bulk print, select multiple objects in the object manager (Ctrl-click or Shift-click), open a layout, and use **Print Preview** to choose an export mode. GeoDin handles hundreds of boreholes in a single operation.

**Three bulk export modes are available:**

1. **Export pages as a contiguous PDF** - all boreholes in one file
2. **Export pages as individual PDFs** - one file per page
3. **Export pages as PDF per object** - one file per borehole (if a borehole spans multiple pages, all pages are included in that file)

**Print targets:** Any system printer (PDF printer, Microsoft Print to PDF, etc.) OR GeoDin's internal PDF printer, which supports PDF, PNG (raster), vector files (EMF), and DXF export.

## Print preview

The **Print Preview** button activates the preview view of a layout with connected data. For multi-page boreholes, use the page navigation arrows (next/previous) to browse pages.

The **Layer Overview** button (lower-left corner) opens the overview of layout layers and drawing elements. Layers can be toggled visible/invisible and reordered (front/back). The **Edit Graphics** button (also lower-left) opens a new blank layout in edit mode for creating or modifying layouts.

For tabular data exports (Excel, CSV, AGS), see [Export](/exporting-data/export).

***

## Reference: Print and report settings

### Fill pattern scaling

In the standard setting, areas are filled with patterns whose dimensions are defined by the pattern itself. In very small areas, a pattern (e.g., a single gravel symbol) may be too large, leaving the area filled only with the background color. With **Automatic scaling** enabled, the pattern is reduced to fit small areas, making them recognizable. Note that this can cause the same symbol to appear in different sizes across a graphic.

### Page print numbers

Page print numbers allow numbering independent of the layout's internal page sequence - useful for reports with appendices. The layout must contain a variable text element with the macro `$%PRNPAGE$`. Change the "Start with page print number" value to offset numbering (e.g., set to 26 to continue from a 25-page report).

### Report sequences

Reports can automate the printout of several layouts in a predefined sequence, such as documenting a borehole with a master data sheet, geological representation, and support plan.

{% hint style="warning" %}
Ensure all layouts in a report sequence have the same format (e.g., A4 portrait), as most printers cannot handle mixed page sizes in one print job.
{% endhint %}

Access a layout list (`.GLC` file) via the **Available Layouts** node. In the print preview, you can:

* Toggle between colour and black-and-white output
* Zoom in/out on the preview
* Select which pages to print (all or a subset)
* Sort the preview by layout or object name
* Export to contiguous PDF, individual PDFs, PDF per object, PNG, or EMF

### Layout overview conditions

In the layout overview, you can set conditions to filter which objects are printed. For example, to create separate layouts for boreholes up to 50 m and deeper boreholes:

* First layout condition: `$ZCOORDE$ <=50`
* Second layout condition: `$ZCOORDE$ >50`

When you select a query or group with one of these layouts, only objects matching the condition are printed. Use the `<Build>` button to construct conditions using available table fields via the text macro dialogue.

### Scale settings for site plans

Define the scale of a site plan by entering a scale ratio (the paper size is calculated from corner coordinates), or by entering width and height (the required scale is calculated). Use the "Round scale to" field to pre-define usable scales (e.g., `1,2,5` produces scales of 1, 2, 5, 10, 20, 50, 100, ...).


# Text Macros in Reports

Text macro syntax, dynamic fields, conditional separators, and translation support in GeoDin reports

Text macros are GeoDin's mechanism for pulling live database values into reports. They appear in headers, footers, variable text elements, report column headings, and labels inside borehole log elements. This page covers macro syntax and the practical patterns that come up when building report templates.

For the broader template structure (layouts, snippets, report elements), see [Report Templates](/visualization-layouts-and-reporting/report-templates). For borehole-log-specific layouts and cross-section layouts, see [Borehole Log Reports](/visualization-layouts-and-reporting/report-templates/borehole-log-reports) and [Cross-Section Reports](/visualization-layouts-and-reporting/report-templates/cross-section-reports).

## Static text vs. dynamic macros

* **Static text** - placed anywhere on a template; the same text prints on every output.
* **Dynamic macros** - placed inside an object frame, reference a GeoDin parameter and resolve at render time. For example, the `location_name` macro pulls the current borehole name dynamically.

## Macro syntax

Macros are delimited with `$` on both sides:

* `$LONGNAME$` - long location name
* `$%PRNPAGE$` - page print number
* `$ZCOORDE$` - Z coordinate (elevation)

Macros can reference parameters from any table - general data, sample tables, measurement tables, and data sequences.

### Concatenation

Multiple parameters can be concatenated into a single string. Example:

```
Sample $sample_reference$ penetration from $depth_from$ to $depth_to$ meters
```

### Conditional separators

Square brackets `[ ]` inside a macro act as conditional separators: the bracketed content is only rendered if the macro inside has a value. This avoids stray commas and orphan punctuation when fields are empty.

### Calculated parameters

The Build dialog can include calculated parameters - for example, layer thickness derived from top and base depths - alongside raw database fields.

## Display options

When configuring a text-macro element you can choose:

* **Show depth** - include the depth value of the referenced row.
* **Show layer data** - include layer attributes alongside the macro.
* **Orientation** - text orientation on the page.

The **coding / norm / user** setting controls which descriptor source feeds the macro. For G1 these are mostly equivalent; the **user** option allows arbitrary plain text mixed with macros.

For G1 ground description specifically, most descriptive content sits inside the single `geological description` macro - unlike other object types which split the description across separate petrography and colour macros.

## Translation support

A single layout can hold multiple translations. Switching the file language under `File > Language` prints the same template in different languages without modification.

## Querying for macro data sources

Text macros can pull from query results, not just direct table fields. Build a SQL query that joins tables across different tests - for example, "show water content only where unit weight is non-zero" - and use the query result as the data source for a template element.

***

## Reference: Format instructions

Beside the field name, a macro can carry format instructions that control how the field content is converted and rendered. This page is the canonical home for that reference; the layout-side elements that consume macros are described in [Text Macros and Variable Text](/visualization-layouts-and-reporting/creating-custom-layouts/text-macros-and-variable-text).

### Syntax

```
$[T1]VARNAME@F[T2]$
```

| Part      | Meaning                                                             |
| --------- | ------------------------------------------------------------------- |
| `T1`      | Any text. It is only output if the data field content is not empty. |
| `VARNAME` | Data field name.                                                    |
| `@`       | Divider between the data field name and the format instructions.    |
| `F`       | Format instructions (see below).                                    |
| `T2`      | Any text. It is only output if the data field content is not empty. |

Everything except `VARNAME` is optional. This is the mechanism behind the conditional separators described under [Macro syntax](#macro-syntax): the bracketed prefix and suffix disappear together with an empty field.

**Example:** `Test: $[Depth below surface ]DEPTH@8.2[m]$`

The depth is read from the data field `DEPTH` as a maximum 8-figure number with exactly 2 decimal places and, if the field content was not empty, wrapped with "Depth below surface" in front and "m" behind:

* With content: `Test: Depth below surface 3,20m`
* With an empty data field: `Test:`

All data fields of the data set can be referenced in one instruction, and the same field can be referenced more than once:

```
Petrography with the depth $DEPTH$m is $PETRO$ (coded: $PETRO@C$)
```

Result: `Petrography with the depth 3,20m is fine sand (coded: fs)`

Format instructions can be combined, and their order does not matter: `$Data_field@.1+ds.$` applied to `8,23` gives `+8.2`.

### Numeric fields

| Instruction  | Effect                                                                                                                                                                         | Example                                       |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- |
| `@.x`        | Number of decimal places. Overrides the decimal places defined for the parameter in the database.                                                                              | `8.23` -> `$Data_field@.1$` -> `8.2`          |
| `@cutdec`    | Removes non-significant decimal places.                                                                                                                                        | `8,20` -> `8,2`; `3,000` -> `3`               |
| `@dsx`       | Sets the decimal separator (default comes from the Windows regional settings).                                                                                                 | `8.23` -> `$Data_field@ds,$` -> `8,23`        |
| `@e`         | Scientific notation.                                                                                                                                                           | `112.20` -> `1.122E+2`                        |
| `@a`         | Recalculates a depth to an absolute value using the borehole elevation (`ZCOORDB`). Only meaningful for fields holding height information.                                     | `1.50` -> `8.50` when `ZCOORDB = 10.00`       |
| `@p`         | Always shows the content as a positive value, even when negative in the database.                                                                                              | `-8.23` -> `8.23`                             |
| `@+`         | Adds a plus sign when the content is positive or zero.                                                                                                                         | `8.23` -> `+8.23`                             |
| `@*Factor`   | Multiplies the content by a factor.                                                                                                                                            | `8.23` -> `$Data_field@*2$` -> `16.46`        |
| `@grd`       | Transforms decimal degrees into degrees, minutes, seconds.                                                                                                                     | `123,456377` -> `123°27'22",9572`             |
| `@sigXX`     | Restricts the output to XX significant figures (2 to 15).                                                                                                                      | `1234,56` -> `$Data_field@sig4$` -> `1235,00` |
| `@B(Factor)` | For values below the detection limit (displayed as `<5`): strips the `<` and `-` symbols and multiplies by the factor, so a fraction of the limit can be used in calculations. | `<5` -> `$PARAM@B(0.5)$` -> `2,5`             |

Any format definition applied to a field defined as scientific notation returns it to standard numeric behavior: `1,122E+2` -> `$Data_Field@.2$` -> `112,20`.

### Character fields

If the data field has no dictionary, format information has no effect. With a dictionary available:

| Instruction | Effect                                                                                  |
| ----------- | --------------------------------------------------------------------------------------- |
| `@T`        | The data field content is retranslated through the dictionary.                          |
| `@C`        | The data field content is used directly (the coded form).                               |
| `@R`        | The content is transferred into the key of the relevant fill-pattern correlation table. |
| `@K`        | Only the text in inverted commas is used.                                               |

If the format instruction is missing, the content is retranslated when a dictionary exists, and used directly when it does not.

For the content `fS,ms4,'Concrete residuals'`:

```
@T  Fine sand, very sandy (medium), Concrete residuals
@C  fS, ms4, 'Concrete residuals'
@R  fS, ms, Concrete residuals
@K  Concrete residuals
```

For `@T` to `@K`, separators to be removed from the result text can be appended. From the content `sa,cl2`, `@R` gives `sa, cl'` while `@R,-+` gives `sacl'` - the separators needed during data entry are stripped. The characters `,-+;():` can be excluded this way. Numeric format instructions can additionally be applied to character fields when the content is a number.

**String functions**

| Instruction                    | Effect                                                           | Example                                                                                                                                               |
| ------------------------------ | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `@Copy(Start,End)`             | Outputs part of the string.                                      | `$COMMENTARY@Copy(1,50)[...]$` outputs the first 49 characters followed by three dots when the field has content - useful for long memo fields.       |
| `@PadLeft(Length,character)`   | Extends the string to the given length with the given character. | `$ARNUM@PadLeft(4,0)$` turns `4` into `0004`.                                                                                                         |
| `@Replace('from','to')`        | Replaces part of the string.                                     | `$PRINSTYPE@Replace('SILT','silt')$`                                                                                                                  |
| `@Replace('CHR13CHR10','...')` | Replaces a line break.                                           | `$GEOLDESC@Replace('CHR13CHR10','')$` collapses a description onto one line; `$GEOLDESC@Replace('CHR13CHR10',' ')$` replaces each break with a space. |

### Date fields

Dates are formatted with the symbols `M`, `D` and `Y`:

```
dd.mm.yyyy    -> 01.03.1996
d mmmm yyyy   -> 1 March 1996
```

### Units

Parameter units can be printed as unit characters (`~US`) or as unit text (`~UL`):

```
$S3STAMM.ZCOORDE~US$  -> m
$S3STAMM.ZCOORDE~UL$  -> meter
```

Unit systems can be switched dynamically (Anglo-American, metric, or database units). To have a layout print the currently valid unit, use:

```
$Parameter[ <#MesUnit FieldName= Parameter>]$
```

**Example:** `$ZCOORDE[ <#MesUnit FieldName= ZCOORDE>]$`


# Overview

Overview of export formats and workflows in GeoDin, including Excel, CSV, AGS, DXF, PDF, and GeoDinML

GeoDin provides multiple export formats for different use cases, from quick tabular dumps to full project-level data packages. This page is the entry point for the Exporting Data section: it gives a one-line summary of each format and links to the dedicated guide.

## Choosing a format

| Format       | Use it when...                                                                                      | Guide                                                                                                        |
| ------------ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Excel**    | You need a structured workbook for analysis, sharing, or as a round-trip import template            | [Excel Export](/exporting-data/excel)                                                                        |
| **CSV**      | The downstream tool prefers plain delimited text, or you need to re-export a data sequence          | [CSV Export](/exporting-data/csv-export)                                                                     |
| **AGS**      | Delivering geotechnical data per AGS 4.0.4 / 4.1                                                    | [AGS Export](/exporting-data/ags-export)                                                                     |
| **DXF**      | The output needs to land in AutoCAD or another CAD tool as editable vectors                         | [DXF Export](/exporting-data/dxf-export)                                                                     |
| **GeoDinML** | Pushing data between GeoDin and GeoDin Onsite, or distributing a project list                       | [GeoDinML Export](/exporting-data/geodinml-export)                                                           |
| **PDF**      | Static deliverables (reports, archives, attachments). Bulk PDF runs through the print/report system | [Bulk Print and PDF Export](/visualization-layouts-and-reporting/report-templates/bulk-print-and-pdf-export) |

## Publish and Export

The **Publish and Export** feature creates a zip file containing an Access database with the selected objects. It is available at both the project level (a group of boreholes) and the individual borehole level (a single-borehole database that can be re-imported elsewhere). AGS export runs through this same feature.

## Onsite export defaults

For exports originating in GeoDin Onsite, the default export path is controlled by `Configuration > Folders > Export folder path` and supports shortcut codes like `[my documents]` and `[desktop]`. Exports are always placed in a project-named subfolder inside the configured path; Onsite creates the subfolder automatically.

PDF exports from Onsite contain a "DRAFT" watermark unless the form was produced via **Publish as Complete**. GeoDinML exports never carry a draft watermark.

***

## Reference: Column properties

When configuring export column properties, the following options are available:

* **Name (also for Excel export):** Columns can be named individually for better identification. When exporting to Excel, this name is used as the column title. Cell formatting can also be configured here.
* **Visible:** Controls whether a column is included in the export.
* **Column width:** Set by entering a number or using arrow keys (default: 20.0 mm). Text content wraps automatically within the cell.
* **Row height:** Calculated automatically to display all content in full. A minimum height can be specified; the maximum of all column minimum heights determines the row's minimum height.
* **Text style:** Selects the text formatting style for cells in this column.

## Reference: Presentation conditions

Presentation conditions control how individual cells in a report column are displayed based on their content. A column has a default font, but presentation conditions can override the font and background colour when specific criteria are met - for example, highlighting values that exceed a regulatory limit.

Multiple conditions can be defined and are evaluated in order. The first matching condition is applied; remaining conditions are skipped. Cells that match no condition use the column's default formatting.

**Example:** In a numeric column, values > 10 should appear violet, values >= 1 red, and all others black. Define two conditions in this order:

1. Cell content > 10 - colour violet
2. Cell content >= 1 - colour red

Cells not matching either condition remain black (the column default).

**Managing condition lists:** Conditions (and other list-based elements such as series or columns) can be added, duplicated, deleted, and reordered using the toolbar icons (New, Duplicate, Delete, Move Up, Move Down). Drag-and-drop reordering is also supported. The *Edit without refresh* toggle suspends live preview updates while reordering, which is useful for large datasets.

## Reference: Post-selection (data filtering)

A post-selection filters data records from already-correlated data types (see [Pre-selection](/visualization-layouts-and-reporting/maps-and-site-plans#pre-selection) for correlation).

* **Name** - A label for the post-selection, shown in layout interfaces when the post-selection is exposed as a quick setting.
* **Condition** - A logical expression that defines the filter criterion. Click inside the field to open the expression builder listing available parameters. Double-click a parameter name to insert it. Syntax is described under [Selection syntax](/data-analysis/query-builder-reference/conditions-and-operators).

**Parameterised conditions:** Instead of hard-coding a threshold (e.g. `$WAT:Cl$ > 100`), use a placeholder so the user can supply the value at runtime:

| Placeholder     | Use with            |
| --------------- | ------------------- |
| `%NUMERICPARAM` | Numeric data fields |
| `%STRINGPARAM`  | Text data fields    |
| `%DATEPARAM`    | Date data fields    |

* **Default value** - Pre-fills the parameter input with a starting value.
* **Make available as quick setting** - Exposes the parameter in the layout's Selection Parameter panel so users enter only the value, not the full expression.

**Displaying selector content in a layout:** Use the variable text element with the macro `$%SelectorContent:Selector_name[@format]$`. Use `@c` to display the dictionary code instead of the translated long name.

## Reference: Blank values in statistic reports

When a statistic report analyses parameters that have no measured values for some periods or locations, three display options control how missing data appears:

| Option                             | Behaviour                                                            |
| ---------------------------------- | -------------------------------------------------------------------- |
| **Display with number = 0**        | A row is created for every parameter; missing counts show `0`.       |
| **Display as empty row** (default) | A row is created for every parameter; missing counts are left blank. |
| **Do not display in the report**   | Parameters with no data are omitted entirely.                        |

When a statistic interval is defined (e.g. yearly), the same three options apply to individual time periods within each parameter - missing intervals can show `0`, be left blank, or be suppressed.

## Reference: Report row types

Each row in a report definition has a type that controls its content:

* **Measurement parameter** - Displays data for a single measurement parameter (value, unit, etc.) as defined by the selected column configuration and parameter assignment.
* **Measurement program** - Inserts an entire measurement program as a block; GeoDin adds parameters automatically in their program sort order. More efficient than adding parameters individually for large data types.
* **Text** - Creates a separator or header row spanning the full report width. Supports text content (including variable text macros), fill colour, and outline styling.
* **Page break** - Forces a page break at the defined position. Commonly placed at the end of a row definition so each sample starts on a new page.
* **Remove text line or page break if no parameter lines follow** - When enabled, suppresses orphaned header rows or page breaks that would appear when a data source has no matching parameter data (e.g. a "Cations" header with no cation values).

## Reference: Text row properties

Text rows can display static text, pre-defined text, or variable text built from data-field macros (via the **Build** button). Translation language can be set to control how dictionary-backed field contents are rendered; the default "Automatic" uses the language specified on the object type.

| Option                                             | Description                                                                                                                                       |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluate line break (backslash) in data fields** | When enabled, `\` characters in database content produce line breaks instead of being displayed literally.                                        |
| **Hide backslash characters in data fields**       | Strips `\` characters from displayed text without converting them to line breaks.                                                                 |
| **Ignore unknown data field references**           | Suppresses unresolvable `$...$` variable references instead of showing them as raw text. Useful for layouts shared across different object types. |

## Reference: Dynamic captions

Dynamic captions provide per-data-record information in column headers of laboratory control reports that display multiple measurements per row. The caption content is defined using text macros. A report can contain only one dynamic caption definition, but multi-line captions are supported (insert a return within the macro). No other row types may precede the dynamic caption row.

## Reference: Footer row properties

* **Name** - Label for the footer line, typically written in the first column. Use the *To column* option to span the label across multiple columns; set to `0` to suppress the label entirely.
* **Type** - Choose between a text footer or a statistical-value footer.
* **Decimal places** - Controls precision of calculated values. Set to `0` to strip trailing insignificant decimals; otherwise all calculated decimals are shown.

**Statistics are calculated per column.** A statistical footer always evaluates the entire column of the report. Whether a column can be evaluated at all is detected automatically from its content: a column holding text produces no statistics. The calculation can also be switched off for an individual column where it is not meaningful - a column of depth values, for example - through the column's own properties (see [Column properties](#reference-column-properties)).

**Group report lines.** Instead of a single footer block at the end of the report, footers can be calculated for groups of lines, so a report that covers several boreholes or samples carries statistics per borehole or per sample. Enter the position of the grouping column in **Number of the column with the grouping feature**; GeoDin inserts a footer each time the content of that column changes.

**Example** - grouping on column 1 (Borehole) inserts a minimum footer at every change of borehole:

| Borehole | Sample | Value |
| -------- | ------ | ----- |
| B1       | P1     | 10    |
| B1       | P2     | 12    |
| B1       | P3     | 15    |
| Minimum  |        | 10    |
| B2       | P1     | 25    |
| B2       | P2a    | 20    |
| B2       | P3     | 28    |
| Minimum  |        | 20    |

## Reference: Parameter settings (list comparison)

* **Sensitivity of response** - Adjusts the tolerance for list-comparison checks. At 100 % (default) the comparison is exact. Reducing to 90 % introduces a 10 % margin, so a measured value of 95 mg/l would be flagged against a limit of 100 mg/l.
* **Parameter display - if list value is available** - Show the parameter always, or only when the measured value exceeds the comparison value.
* **Parameter display - if list value is not available** - Controls whether parameters without a comparison value appear in the report.

## Reference: Barcode and QR code

Report layouts can include barcode or QR code elements. Select the code type, rotation, colour, and whether human-readable text is shown below the code.

Supported types: EAN-13, EAN-8, UPC-A, UPC-E, Code 128, ITF, Interleaved 2 of 5, Code 39, Code 39 Extended, Code 93, Code 93 Extended, MSI, Code 11, QR code.

## Reference: Export measurement values dialog

At the level of a measurement point or a group of measurement points, the Object Manager offers the method **Export measurement values**. Starting it opens a dialog that holds every setting for the export; the matching import method sits beside it (see [Formulas in measurement values](/data-analysis/formulas-in-measurement-values#reference-import-export)).

* **Data type** - the drop-down lists the data types available for the selected measurement point(s).
* **Export type** - Microsoft Access database, UBA CSV, free CSV, GMS, or Access table (lines). The Access format is the most portable of these and is read by many Windows applications.
* **File name** - where the exported file is written.
* **Parameter list** - the list of data fields to export. Click **Edit** to change it.

Every exported data set is augmented with the matching general data: the short and long name of the object and the name of the measurement point (`SHORTNAME`, `LONGNAME`, `INVNAME`), plus the internal measurement point ID and sample number (`INVID`, `SMPID`). With knowledge of the GeoDin data model, those two identifiers let you rebuild the links between exported tables.

For the **Microsoft Access database** type, select an existing database or create a new one as the export target; the format-specific settings below apply to the other types.

### UBA CSV

The UBA format follows the German federal and state agreement on groundwater data exchange (Annex II.x 12.04, table template for the LAWA AK "Optimizing the groundwater service", Chemnitz, 1999-02-04). GeoDin's export covers the measurement values only.

Before this format can be used, the parameters must carry the corresponding format information on the system side - see [Set-up of the information for UBA-export](/administration/object-types-management#set-up-of-the-information-for-uba-export).

The output is a text file in CSV form: one line per parameter, semicolon between entries, comma as decimal separator. The entries appear in this order:

1. Measurement point number
2. Measurement dimension number
3. Division identification number
4. Unit
5. Day
6. Month
7. Year
8. Detection limit
9. Measurement value
10. Features
11. Remarks

| Entry                          | Coding                                                                                                                                                                     |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Division identification number | `1` for the complete content (dissolved and undissolved parts, homogenized sample after DIN), `6` for the dissolved part only (separation by filtration or centrifugation) |
| Unit                           | `02` m3/s, `04` degrees Celsius, `06` mS/m, `07` mg/l, `10` micrograms/l, `23` relative values, `29` mmol/l, `33` m                                                        |
| Features                       | `-` when the measured value lies below the detection limit                                                                                                                 |

The measurement point number is read from the general data of the measurement point (short name); the measurement dimension number and the division identification number come from the system settings; measurement value and time come from the data set of each sample. If the export unit differs from the unit used in GeoDin, the value is converted during the export.

Detection limits resolve in this order: a detection limit entered in the supplementary information of the parameter is used first; otherwise the default stored in the system settings applies. A measurement recorded below the detection limit (for example `-0,05`) is itself used as the detection limit, and `-` is written in the Features entry.

Example of exported measurement values (several parameters from one data set):

```
17/80;1061;1;;13;02;1990;0;7,1;;
17/80;1082;1;06;13;02;1990;0;72;;
17/80;1246;1;07;13;02;1990;194;0,025;;
17/80;1244;1;07;13;02;1990;53;3,8;;
```

### Free CSV

The data are exported as comma-separated text. The first line defines the column names, the point is the decimal separator, and the comma separates the columns. The general-data fields listed above lead the header line, followed by one column per exported parameter:

```
SHORTNAME,LONGNAME,ZCOORDB,ZCOORDE,XCOORD,YCOORD,MKZ,INVNAME,INVZBEG,INVZEND,INVID,INVTYPE,SMPID,SMPNAME,SMPDATE,SMPTIME,NO3,SO4,FE_G,MG,NA,AOX,CKW,BTX
17/80_1,"17/80 Example 1",40.50,56.00,5408320.00,5817447.00,,OP,4.30,6.30,8NKE420004FIL001,FIL,77,17/80_1,13.02.1990,20:12,2.1,0,,,,,,
```

### GMS

The GMS format uses specially defined classification parameters, which can be filled with [general formulas](/data-analysis/formula-basics#general-formulas). Z is calculated with respect to the height datum. So that all data sets can be ordered by height, GMS3 records also export the top of the borehole and the top and bottom of the filter. Where several measurement rows exist per filter, run the export with time selectors to get unambiguous results.

### Access table (lines)

The parameters are written into an MS Access database with the samples in lines and the parameters in columns. Select an existing database or create a new one before exporting, and give the output table a name. If a table of that name already exists in the selected database, GeoDin asks whether the existing data should be overwritten.


# Excel Export

Exporting GeoDin data tables to Excel for analysis, sharing, or as import templates

GeoDin can export any data table to Excel: general data, sample tables, measurement data tables, and data sequence series. The export preserves column titles via cell formatting, so the resulting workbook is ready to read or to use as a round-trip import template.

For CSV equivalents, see [CSV Export](/exporting-data/csv-export). For the import side of the round-trip, see [CSV and Excel Import](/importing-data/csv-and-excel-import).

## Exporting a tabular view

Export commands sit on most tabular views and are identified by the **red dot with two arrows** icon. The same icon and dialog are used across general data, sample tables, measurement tables, and data sequence series - the workflow is consistent regardless of the data type.

The **All Objects > Data Management > General Data** tabular view shows metadata for all locations at once. Exporting this view produces a single workbook covering every location in the database, useful for project-level reporting or as a starting point for bulk-edit-then-reimport workflows.

## Round-trip with import

Excel files exported by GeoDin contain headers matching GeoDin's internal parameter names. They can be re-imported via the import wizard's **Automatic Link** mapping with no manual column-mapping step required.

Typical workflow:

1. Export the relevant data type from GeoDin to Excel (creates a template with correct headers).
2. Edit or fill the file in Excel.
3. Re-import using the import wizard.




---

[Next Page](/llms-full.txt/1)

