Skip to content

User Guide GeoDMS RUN

MaartenHilferink edited this page May 9, 2026 · 8 revisions

To run the GeoDMSRun, activate the Command Prompt Window. The GeoDMSRun.exe can then be activated from the command line. The following parameters can/need to be specified:

  • (Optional) /Llogfilename (since version 5.55)
  • (Optional) any combination of /C1 /S1 /C2 /S2 /C3 /S3 to Clear or Set Multiple Threading level 1, 2, or 3. If these parameters are not configured, the default settings (see the GUI, Tools> Options> Advanced dialog) are used.
  • (Optional) /CW or /SW, which sets or clears producing warnings on depreciated case mix-ups in tokens, which are item names and function names.
  • (Required) ConfigFileName
  • zero or more tree items names (space separated) to be calculated. Multiple item names can be specified, calculated results will be saved in storage's were configured.

examples

1: Update the result item in the C:\prj\test\cfg\stam.dms configuration

"C:\Program Files\ObjectVision\GeoDms7317\GeoDmsRun.exe" "C:\prj\test\cfg\stam.dms" /result

2: Update the Arithmetics/plus/test_attr and Arithmetics/sub/test_attr items in the C:\prj\test\cfg\operator.dms configuration

"C:\Program Files\ObjectVision\GeoDms7317\GeoDmsRun.exe" "C:\prj\test\cfg\operator.dms" /Arithmetics/plus/test_attr /Arithmetics/sub/test_attr       

3: Update the results item in the C:\prj\test\cfg\stam.dms configuration with log information stored in the C:\tmp\log.txt file.

"C:\Program Files\ObjectVision\GeoDms7317\GeoDmsRun.exe" "/LC:\tmp\log.txt" "C:\prj\test\cfg\stam.dms" /result

4: Update the result item in the C:\prj\test\cfg\stam.dms configuration with Multi Tasking StatusFlags 1 and 2 set (even if these are not the default settings).

"C:\Program Files\ObjectVision\GeoDms7317\GeoDmsRun.exe" /S1 /S2 "C:\prj\test\cfg\stam.dms" /result

Quotes in the examples are needed for the file names, as spaces may occur in these names. In the tree item names quotes are not needed, as spaces are not allowed in these names. Note that: The value for LocalDataDir is read from the registry key Software\ObjectVision\DMS\LocalDataDir (default: C:\LocalData) which can be changed in the Tools -> Options dialog from the GeoDMS GUI.

The GeoDMS GUI settings about logging as saved in the registry is ignored for the GeoDMSRun, use the /L option to enable logging.

Commands can also be combined in a batch file.

Item-action commands (@…)

GeoDMS Run accepts a small set of action commands prefixed with @ that change what is done with each subsequent item on the command line. Item names are processed left-to-right; an @… command sets the current action and applies to every item that follows it, until the next @… command. The default action is @commit.

Command Effect
@commit (default) Update the item; if it has a writable storage configured, write the data there.
@statistics Update the item, then print the same numeric statistics shown in the GUI's Statistics detail page (count, min, max, sum, mean, variance, stddev, #nulls, plus a value/count breakdown for boolean/categorical items).
@histogram (reserved — not yet implemented; currently prints a placeholder line)
@list (reserved — under construction; currently prints a placeholder line)
@file <path> Redirect subsequent @statistics / @histogram / @list output to <path> instead of stdout. Takes the next argument as the file name. Only one output file at a time.

Source: see enum class itemCmd { commit, statistics, histogram, list, file } and the parsing loop in run/exe/src/MainRun.cpp.

Examples

  1. Print statistics for results/att to the console:

    "C:\Program Files\ObjectVision\GeoDms20.0.0\GeoDmsRun.exe" "C:\prj\test\cfg\stam.dms" @statistics results/att
    
  2. Redirect statistics to a file:

    "C:\Program Files\ObjectVision\GeoDms20.0.0\GeoDmsRun.exe" "C:\prj\test\cfg\stam.dms" @file D:\log\stat_att.txt @statistics results/att
    
  3. Mix actions on a single command line — first commit (write storage) for results/output_layer, then statistics (to file) for two diagnostic attributes:

    "C:\Program Files\ObjectVision\GeoDms20.0.0\GeoDmsRun.exe" /S1 /S2 /S3 cfg.dms ^
        results/output_layer ^
        @file D:\log\diag.txt @statistics ^
        results/dbg/coverage results/dbg/null_count
    
  4. Inspect numeric range / NULL count of a single attribute without writing any storage — useful for debugging "is this attribute really NULL where I expect?" questions:

    GeoDmsRun.exe /S1 /S2 /S3 cfg.dms @statistics results/some_attribute
    

    The output reports Minimum, Maximum, #Nulls and (for boolean attributes) the count of False vs True — much faster than re-writing a whole gpkg/fss just to inspect a single column.

Additional examples

set AlleenEindjaar=TRUE

if "%1%" equ "" CHOICE /M "Wil je alleen eindjaar uitrekenen, dus 2030 en 2040 overslaan?"
if ErrorLevel 2 set AlleenEindjaar=FALSE
if "%1%" equ "N" set AlleenEindjaar=FALSE

REM deletes the old BaseData folder
rmdir %LocalDataProjDir%\Basedata /s /q 
set RSL_VARIANT_NAME=BAU
call ..\batch\RunVariantData.cmd
call ..\batch\RunImpl.cmd %ProjDir%\cfg\main.dms /WriteBasedata/Generate_Run1
echo "ErrorLevel is " %ErrorLevel% 
if %ErrorLevel% NEQ 0 goto ErrorEnd
:ErrorEnd
echo "%ErrorLevel%"
echo "Er gaat iets mis..."
pause

exit
REM ========== PARAMETER INSTELLINGEN ================
set geodmsversion=GeoDms19.0.0
set exe_dir=C:\Program Files\ObjectVision\%geodmsversion%
set ProgramPath=%exe_dir%\GeoDmsRun.exe
set LocalDataProjDir=C:\LocalData\RSopen

set MT_FLAGS=/S1 /S2 /S3

set CurrentDir=%CD%
CD ..
set ProjDir=%CD%
CD %CurrentDir%
REM ========= EINDE PARAMETER INSTELLINGEN ===========
:ErrorEnd
echo "ErrorLevel is " %ErrorLevel%

if %ErrorLevel% == 3 (
 echo ERROR: Unexpected termination after loading %1 to update %2. 
)
if %ErrorLevel% == 2 (
 echo ERROR: failed to load %1 or caught exception during updating %2. 
)
if %ErrorLevel% == 1 (
 echo ERROR: updating of item %2 in %1 failed.
)
if %ErrorLevel% == -1073741819 (
 echo ERROR: Access Violation. Contact Object Vision for support.
)

echo batch will be aborted after pause because of a detected failure

Clone this wiki locally