- JAG3D-Batch is an extension for the adjustment software JAG3D that facilitates automatic deformation analyses. This tool is useful for users who require an automated open source workflow instructions for geodetic applications. The following is a step-by-step guide. Firstly, the installation and then the workflow with this Python module is described.
- Automated JAG3D deformation analysis for two epochs.
- can be fully automated with additional open source software
Only for Windows (this version is for windows but can be adapted for other platforms running JAG3D)
- Download and unpack JAG3D:
- Get the latest release: JAG3D Releases
- Extract the package and copy all files and folders to your JAG-Batch directory
- Install Python:
- Download and install Python: Python Downloads
- Restart your PC after installation
-
Navigate to your project directory (e.g.,
C:\Users\user\Downloads\JAG3D_Batch
) in Terminal -
Create a virtual environment:
python -m venv .venv
-
Activate the virtual environment:
.venv\Scripts\activate
(Refer to the Python documentation for more details on virtual environments.)
-
Install dependencies (all libraries that are required):
pip install -r requirements.txt
Follow the project structure from the JAG3D_Batch_example
project in /jag3d_project
- Datum Points
- Export raw datum points as
data/start/datumPoints_apriori.txt
and replace the example data
- Export raw datum points as
- Object Points
- naming convention for Control epoch:
Nr_c
. - Export reference epoch (without
_c
) asdata/start/objectPoints_ref_apriori.txt
and replace the example data
- naming convention for Control epoch:
- Import the observation of the first two epochs into JAG3D (normal procedure).
It is important that all points are included in both epochs. Points that are only imported once or not at all cannot be included in the analysis! - Enable congruence analysis in
properties/leastsquares
- Rename all object points of the control epoch (
Nr_c
) using search and replace - Perform a least-squares adjustment - check for mistakes
- Save the configuration in the
jag3d_project
folder.
For help: Refer to the JAG3D Tutorial on Congruence Analysis
Adapt the config_jag.ini
file to your monitoring project requirements
-
Replace the
data/controlEpoch/obs_c.txt
file with the new observation -
Execute the main script:
python main.py
-
Results will be displayed in the console:
Parameter Description Point number Unique identifier for each analyzed point Deformation vector ( dx
,dy
,dz
)Changes in x, y, z directions for each point Apriori test statistic ( T_prio
)Statistic to evaluate deformation significance Statistical test result ( Sig
)Whether deformation is statistically significant Point type Identifies as either a datum or object point
- Automate the last steps using tools like Node-RED.
- This allows for a fully automatic monitoring workflow.
- Update the
data/controlEpoch/obs_c.txt
file in the first step and in the second step executemain.py
- Apply the necessary changes in JAG3D as usual.
- Replace the updated files in the
data/start
folder. - Restart the normal workflow