GeoDms Setups

From ObjectVision

(Difference between revisions)
Jump to: navigation, search
(2019-12-03: GeoDms Version 7.205 for x64)
(2019-12-03: GeoDms Version 7.205 for x64)
Line 4: Line 4:
* [ issue 1238]  
* [ issue 1238]: domain units with a sub-item named geometry now are automatically Mapviewable.
* [ issue 1287]
* [ issue 1301]: solved memory error with some large data sets.
* [ issue 1301]
* [ issue 1305]: TableView index error fixed
* [ issue 1305]
* [ issue 1307]: No more  Cannot obtain a Read Lock because there is 1 Write Lock on this data
* [ issue 1307]  
* [ issue 1314]: Fixed appcrash
* [ issue 1314]  
* [ issue 1316]: Minimum size for DataItem specific swapfiles is now stored in the registry per user,  per machine.
* [ issue 1316]
=2019-11-01: [ GeoDms Version 7.203 for x64]=
=2019-11-01: [ GeoDms Version 7.203 for x64]=

Revision as of 15:06, 3 December 2019


2019-12-03: GeoDms Version 7.205 for x64

This version fixes some issues related to CalcCache resource usage and various other improvements.


  • issue 1238: domain units with a sub-item named geometry now are automatically Mapviewable.
  • issue 1301: solved memory error with some large data sets.
  • issue 1305: TableView index error fixed
  • issue 1307: No more Cannot obtain a Read Lock because there is 1 Write Lock on this data
  • issue 1314: Fixed appcrash
  • issue 1316: Minimum size for DataItem specific swapfiles is now stored in the registry per user, per machine.

2019-11-01: GeoDms Version 7.203 for x64


  • Startup issue on Windows Server 2008

2019-10-21: GeoDms Version 7.202 for x64


  • issue 1280 Stack overflow exceptions now result in an error message; Stack size has increased for GeoDmsRun.exe
  • issue 1290 Various other issues related to the display of diagnostic messages.
  • issue 1205 12561294 Display of the Thousand separator is now settable per user and per machine in Tools->Options. Default is off.

Known issue: On Windows Server 2008 R2, the GeoDMS software might block during dll-initialisation due to concurrency runtime limitations. This issue does not occur on Windows 10. For users with Windows Server 2008 R2, install and use GeoDMS 7.203.

2019-10-09: GeoDms Version 7.201 for x64


  • issue 1258 Dijkstra on empty nodeset/linkset
  • issue 1279 Vesta crashed on Municipal selection, caused by dijkstra on a nodeset without links.
  • issue 1289 Fixed GUI action Update subtree, introduced by 7.200, relative to 7.182.

2019-10-04: GeoDms Version 7.200 for x64

Fixes various issues introduced since 7.182, such as issues 941, 1184.


  • Yellow items, i.e. not actually copying and retaining cache items as endogenous config items by keeping a temporary user perspective.
  • Separate production of signature objects reflecting cache results with formal domain and values units based on processing formal arguments and actual data result objects.

Reversion of these changes implies that some cache entries are still identified by expressions containing treeitem names and that for some operators, some formal arguments cannot be substituted by their related calculation rules.

2019-04-11: GeoDms Version 7.198 (withdrawn, use 7.203 instead)

In this version, the GUI has been stream-lined. Many icons have been replaced, the toolbar now contains 32x32 pixel icons similar to the qGis-look, GUI operations to change a model configuration have been removed (such as the Insert operations) as the use case of building a model configuration interactively never flew since the syntax of the configuration files in much more clear to work with.

Implements issues:

  • 1202: A separate GeoDmsCaller.exe is now provided to send GUI control messages to an existing instance of GeoDmsGui.exe
  • 1205: Thousand separators have now been implemented in the representation of quantities in TableView, LispExpr string representation, statistics, etc., but not in Export to Clipboard as .csv.
  • 1206: WM(T)S support now also supports background layers that are made of .jpg files.
  • 1207: The SourceDescr tab can now be used to see which storages have been used for a certain result or container.
  • 1212: new qGis-style icons.
  • 1217: display of palette icon in tree-view for different color aspect attributes.

Fixes issues:

2019-02-20: GeoDms Version 7.196 (withdrawn, use 7.203 instead)

This release optimizes the use of memory, especially of models that calculate attributes of the same entities sequentially, such as in a loop with time steps. For this, large freed memory blocks are retained and reissued when demanded to avoid the system to wait on synchronized OS memory recollection.

  • The .tmp part of the CalcCache is no longer in use, instead all non-persistent intermediary results are stored in the (system page file backed) heap. EmptyWorkingSet is called when in stress.
  • Full Names are no longer stored per item and only composed when requested. This greatly reduces the stress on the internal Tokenizer.
  • Internal representation of Undefined SharedStr and StringRef made more consistent.

Fixed issues related to these changes:

  • issue [1192]: lock already taken
  • issue [1191]: combine(range(u, xb, xe), range(v, yb, ye)) now works
  • issue [1024]: Startup issue on Windows 7.
  • issue [1183]: memory allocation errors
  • issue [1184]: domain unification error when using ParseXML
  • issue [1185]: Layer Control names and unit specs are represented again.

Other Fixed issue:

  • issue [1177]: numerical instability in the weight aggregation of nth_element_weighted could give undefined results. This could affect Fusion, 2UP, RSL and other projects using nth_element_weighted.

2019-01-06: GeoDms Version 7.185 (withdrawn, use 7.200 instead)

GeoDMS 7.185 mainly contains fixes of reported issues and has a mechanism (in debug mode) to detect potential dead-locks by checking a hierarchy of the critical sections. This has resulted in the removal of many potential dead-locks.

New functionality:

  • issue [1092]: code analysis for clean-up support: now a source can be set, more used items are included (such as when used indirectly in properties), and representation colors have been improved.

Possible breaking change:

  • issue [1141]: Now two domains are considered different if they refer to different items, even if their calculation rule is the same. For example: unit<uint32> landuse_class: nrofrow=5; unit<uint32> building_type: nrofrows=5; are now domain-incompatible. Thus, the entity compatibility check is now more strict. Tested projects (and adapted when necessary): Fusion, Vesta, RSL.


  • issue [1094]: color palettes are now hidden for Layers with more than 32 classes and for Wms Layers.
  • issue [1152]: Viewing info in a feature layer with an indirect geometry now works.
  • issue [1157]: After right-clicking a color in a layer-control, the GUI doesn't crash anymore.
  • issue [1159]: Diagnostics: Detail pages now also provide info when an script-error was found when processing its contents.
  • issue [1166]: CalcCache: no more illegal abstract error when opening an persistent sequence array from a previous session.

Progress on issue 823: gdal2.vect and gdal2.grid have now been implemented.

2018-10-15: GeoDms Version 7.182 for x64


  • issue [823]: now all GDAL 1.91 data is installed inside the GeoDMS program folder.
  • issue [1092]: background of required items are colored in the TreeView when a target is set from the Popup menu->Code analysis...


  • issue [1085]: Group by > sort on attribute now works
  • issue [1086]: nth_element_weighted now can process zero weights
  • issue [1088]: Crash or not, depending on Order of calculation.
  • issue [1090]: Enter when the Current Item Bar has focus, only activates that item; F5 has now been disabled.
  • issue [1111]: split_polygon(geometry parameter) now works.

2018-08-29: GeoDms Version 7.180 for x64 and Win32

This version has been compiled with:

  • Visual Studio 2017, version 14.1 (which replaced Visual Studio 2015, v 12.0).
  • Boost 1.67 (was: 1.66)
  • GDAL 2.3.1 (additional to 1.9.1)

Many compiler warnings have been dealt with and syntax improvement opportunities have been implemented.

Fixed issues:

  • 1014 (VS 2017)
  • 1074: Centroid_or_mid took too long.
  • 208: popup menu doesn't activate all items at first request.


  • issue 1089: more informative about box.

Progress on issues:

  • 823: GDAL 2.3.1 can now be used for reading; use gdal2.vect or gdal2.grid as StorageType.
  • 1092: Added 'Instantiated From' reference in the General Detail page, and calculation rules (expression properties) now have

2018-07-18: GeoDms Version 7.177 for x64


  • issue 811: unconnected pairs in an OD matrix now have Undefined Impedance. Breaking Change: Check the usage of dense OD impedance matrices calculated with dijkstra_m function as unconnected pairs now have impedance <null> and no longer maxDist.
  • issue 1025: Get and set statusflags from command line


  • issue 988: color for NoData always transparent in FeatureLayer and GridLayer.
  • issue 1038: no error msg "No such host is known" when drawing background layer without internet connection

Supplemental changes related to

  • issue 644: Visualisation styles shown in legend

2018-07-04: GeoDms Version 7.176 for x64 and Win32

Breaking change:

For documenting projects with many inheritance relations, such as Vesta, the status quo was no longer sustainable. Now the combination of inheritance and overriding is stopped. An overriding item without calculation rule no longer inherits the sub-items of the overridden item. Check if your config will be affected before updating to this version.


This version also contains a few fixes and improvements of recent functionality, more specifically:

  • issues related to the new Table Group By Tool (790): 1060, 1061, 1062.
  • issue related to the current item bar: 1065: Ctrl-C and Ctrl-V now work.
  • issue 1063: connect operator.
  • issue 1067: mean operator.
  • issue 909: shp/dbf export now has the same set of attributes as a .csv export.
  • issue 985: zoom level of the overview panel in the MapView.
  • issue 1001 and related 644: different feature layers without thematic attribute now get different colors.

2018-06-25: GeoDms Version 7.175 (withdrawn)

This version is published to present new functionality in the TableView for the purpose of testing and evaluation. It doesn't contain fixed issues.


  • Issue 790: Group by Tool in the TableView for grouping rows on the values of one or more columns.

As this version introduced new issues that have been fixed in GeoDMS 7.176, the GeoDMS 7.175 is withdrawn from this publication page.

2018-06-11: GeoDms Version 7.174 for x64


  • Desktop issue 1053,
  • PP2 1040.
  • Diagnostic messages.

2018-06-05: GeoDms Version 7.173 for x64

Fixes many minor issues related to recent additions:

2018-05-23: GeoDms Version 7.172 for x64


  • issue 820 An editable item path can be used to jump to other items (use F5 or mouse-click to search).
  • issue 809 now config files with UTF8 Byte Order Mark can be procesed.


  • issue 1007 const_file_view Error when changing reference of unit <dpoint> LatLong
  • issue 1027 Error Dialog appeared for non-related items when requesting data.
  • issue 1030 LUS Demo: issue with PP2 enabled
  • issue 1035 ViewDetails unknonw exception.

2018-04-30: GeoDms Version 7.170 for x64


  • issue 1032 with writing dijkstra_m results.

2018-04-24: GeoDms Version 7.169 for x64, withdrawn because of issue 1032.

Performance improvement:

  • 1021: Dijkstra_functions now run different origin zones in parallel when multiple CPU's are present. With 8 CPU's this maked the production of an OD table approximately 6 times faster.

2018-04-19: GeoDms Version 7.168 for x64

New feature:

  • Dijkstra_m can now produce OrgZone_MaxImp as startpoint attribute, see issue 1021 for an example.

Fixed issues:

  • 1022: When copying to Clipboard from the TableView, now wide characters are used that can better represent UTF8 characters than the earlier usage of ASCII when writing to the Clipboard,
  • 1024: GeoDMS starts again on Windows 7.
  • 592: event log info of dijkstra operations is immediately visible again (with MT2 on).

2018-04-13: GeoDms Version 7.167 for x64

Warning: This version requires Windows 10, see issue 1024. Please replace by 7.168 if you install on an older version of Windows.

Fixes issue 1018: background drawing wasn't clipped, causing frames and some text controls to disappear, introduced by GeoDMS Version 7.166; please update any 7.166 to 7.168.

And fixes diagnostic (=error message related) issues:

2018-03-28: GeoDms Version 7.166 (withdrawn)

Fixes issues:

  • WMS related: 996, 997, 998, 1003, 1010, 1011,
  • 588: split_polygon
  • 994: PolyData sneller in TableView
  • 995: TableCoposer operatoren AsString en AsList werken nu ook voor tabellen van meer dan 4 GB.
  • 999: some extra debug info with ViewDetails might help to diagnose this issue.

2018-03-07: GeoDms Version 7.165 for x64

Fixed issues:

  • 990: faster lookup and corrected permutation_rnd in case of PP1
  • 899: redraw layers when activated.

2018-03-05: GeoDms Version 7.163 for x64

Implemented issues:

  • 236, 312: background layers are only read when the current zoom-factor don't rule them out.
  • 918: wms as background layer.

Fixed issues:

  • 983,
  • 984,
  • 986,
  • 987

upgrade from boost 1.60.0 to 1.66.0

2018-02-13: GeoDms Version 7.162 for x64

Fixed issues:

  • 427,
  • 793: now values are displayed in ExplainValue of aggregation in the Detail Pages,
  • 961,
  • 968,
  • 969,
  • 971

Implemented issues:

  • 199,
  • 743,
  • 931 Settings are now stored in user and machine specific profiles, even when the LAN provides users with roaming profiles.


  • operator do(exec_operation, resulting_filename): see issue 971
  • operators min_index(values, partitioning(optional)) and max_index(values, partitioning(optional)): see issue 743.

Versions of 2017

2017-12-21: GeoDms Version 7.159 for x64


  • operator mapping_count(srcDomain, dstDomain, CountType)

2017-12-13: GeoDms Version 7.157 for x64


  • issue 953 (which was fixed incorrectly in GeoDMS 7.156)

2017-11-30: GeoDms Version 7.155 for x64

Poly2grid has been made even faster by using for each row a vector based linked list of edges that start in that row, which prevents sorting the edges. Now poly2grid is O(n+p+r*log(k)) where n = the number of edges, p = the number of pixels to be painted, r - the number of rows, and k = the maximum number of edges crossing one row.


  • issue 915
  • issue 928
  • issue 934

2017-11-23: GeoDms Version 7.152 for x64


  • issue 926 (poly2grid artifacts)
  • issue 5
  • issue 829
  • issue 885
  • issue 911
  • issue 918
  • issue 919
  • issue 928

Poly2grid has been implemented much faster by sorting and processing edges from low to high rows.

2017-10-13: GeoDms Version 7.148 for x64


  • poly2grid drawing on too many pixes in case of a horizontal border (issues 908 and 916).


  • Properties DomainUnit_FullName en ValuesUnit_FullName (issue 829).
  • Button for TableView export (issue 561)

2017-08-28: GeoDms Version 7.145 for x64


  • issues 885, 896, 898, 904, 905, 906

2017-06-13: GeoDms Version 7.141 for x64

  • GeoDMS 7.140 introduced an issue for older versions of Windows, such as Server 2008 R2 Datacenter: critical section locking during initialization when loading DLL's caused a deadlock. This is now avoided by registering operators without locking the operator registry during initialization.

The 7.140 version had been developed with a focus on bug fixing and getting things more stable. The regression tests have been expanded to include GUI actions in order to keep more functionality working as it worked in previous versions.

Functional and/or Breaking changes:

Now Implemented:

  • 000821 Export Primary Data to.. now uses the full path for a default filename.
  • 000859 Allow longer item names, read from GDAL sources, such as fgdb.


  • 000894 reading boolean data with GDAL.
  • 000890 GDAL issue with reading 16 bits data as 32 bits values
  • 000887 Edit Palette Dialog issues
  • 000884 Multi Select issues in point- and polygon layers.
  • 000874 & 000893
  • 000872
  • 000871 Lock already taken issue.
  • 000859
  • 000539 order of items in Explain value is now determined by the order of appearance in the calculation rule.

Regression test now includes the following GUI actions: Show MapView, Edit Palette and Reclassify.

2017-02-21: GeoDms Version 7.139 for x64


  • 000539
  • 000855
  • 000859
  • 000860
  • 000865

2017-02-08: GeoDms Version 7.138 for x64


  • 000852
  • 000853
  • 000854
  • 000807

2017-01-09: GeoDms Version 7.137 for x64

Main improvement of this release is that all read data action and most calculations are now done in worker threads, which keeps the main thread responsive for GUI actions. Specific handling enables the user to change data or close views, which will invalidate running tasks. Adding a thematic attribute without pre-configured classification to a MapView now no longer waits for the completion of the data processing for the Jenks Fisher classifications.

New functionality:

  • 000842: Implemented a new property with the name 'FullSource'


  • 000626: AddLayer cmd no longer freezes on making data available for generating a classification scheme.
  • 000847: read/write lock error.
  • 000788: case parameter references
  • 000837: Reading tiff with GDAL.grid and the original TIFF reader now both fully support reading area's with different scales and extents (sub-sections as well as enclosing extents, for which the border area is set as undefined or false). GDAL.grid now also supports reading attributes with values of type Bool, UInt2, or UInt4.
  • 0000802: [Export] Export data to .csv / Table Copy to Clipboard took extremely long - resolved.
  • 0000813: [TableView] DataReadLock issue in EditPalette - resolved.
  • 0000539: [Explain Value] Faster retrieval of aggregant values when explaining an aggregation.
  • 0000738: [Calculations] connect and connect_info using additional attribute information - resolved.
  • 0000385: [Views] Activate existing layers/columns in MapView and TableView when related items are activated again - implemented.
  • 0000005: [Export] Export Scalebar with correct symbol and text size. - resolved.
  • 0000801: [TableView] Copy to Clipboard (man on the beach) fails with selected data - resolved.
  • 0000791: [Calculations] Memory Allocation Failed in template instantiation - resolved.
  • 0000609: [CalcCache] connect_neighbour results in invalid outcome for tiled data - resolved.
  • 0000788: [Calculations] reference for a case parameter differs between first and following instantiations - resolved.
  • 0000783: [Calculations] substr results in GeoDmsGui has stopped working > crash - resolved.
  • 0000580: [Desktop] DetailPage Value Info geeft alleen relevante informatie bij activering uit tabel/kaart of back/forward knop - partially fixed.

Versions of 2016

2016-04-11: GeoDms Version 7.130 for x64 and Win32

Addresses issues:

  • Fixes a bug in ordering items (sort, rlookup, rjoin, etc.) that was introduced in 7.126 in the fix of issue 739.
  • 753
  • 754
  • 755

There are currently known issues with PP2, so I recommend to set

  • Tools->Options->General settings->Parallel Processing 1 = ON (parallel tile processing)
  • Tools->Options->General settings->Parallel Processing 2 = OFF (multiple calculation steps simultaneously)

2016-04-03: GeoDms Version 7.129 (withdrawn)

Addresses issues:

  • 744: As evidence was found that CalcCache files were missing due to a virusscanner that placed them into quarantine, the wait procedure is no longer applied when opening a CalcCache file fails due to a "File not found" error.
  • 750: factors in written *.tfw and *.bmpw files are now written with more decimals to reduce the distortion of the tile factors due to binary->decimal->binary conversions.

Aggregation operators are made much faster when the aggregation domain is tiled and correlates with the source domain.

2016-03-29: GeoDms Version 7.128 (withdrawn)

Addresses issues 734, 744, and 748.

Code adapted to and compiled with VS 2015 (VC 14.0).

At some machines, you might get the message that "(t)he program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. ...". You then have to install the C-Runtime .dlls for VC 14.0. See the discussion at:

You can download the Visual C++ Redistributable:

For Windows 64-bit

For Windows 32-bit

2016-02-25: GeoDms Version 7.126 (withdrawn)

Fixed issues

  • 739: Now NULL for float64 and float32 is internally administered as QNAN (this was -9999.0d and -9999.0f), the Undefined value for Int32 is now 0x80000000 = -2^31 (this was -9999i), and for Int16: 0x8000 = -2^15 (this was -9999s).

Work in progress on:

  • 539: Better account trace for unary aggregation operations and union.
  • Faster parallel processing of different functions and tile-by-tile processing (which reduces memory usage) of chains of operations. As this is work in progress and not fully stable, in these published releases builds, the activation of MultiThreading 2 has been disabled. MultiThreading 1, the parallel processing of tiles when possible within the context of one operation can still be enabled (in the Tools->Options menu).

Versions of 2015

2015-11-27: GeoDms Version 7.125 for x64 and Win32

Fixed issues 718, 720, 721, bug in griddist, utf8 aan in parse_xml.

2015-10-30: GeoDms Version 7.124 for x64 and Win32


  • Faster lookup when both arguments are tiled and have localization.
  • Faster subset operator

2015-10-27: GeoDms Version 7.123 for x64 and Win32


2015-10-13: GeoDms Version 7.122 for x64 and Win32

Changed Behaviour:

  • FreeData (i.e. indicating that no persistent caching is required) is now default true when unspecified. Set FreeData = "False" only for those items for which persistent caching is beneficial for performance. This change was made as we found that too many calculation results were stored persistently resulting in long waiting times as data needed to to be written to disk, even when no longer needed. See also: CalcCahche Guide

New function:

  • parse_xml(xmlstrings: D->String, schema_template)


  • issue 000332
  • issue 000701 sub 1
  • issue 000705 related to the BAG snapshot production.
  • issue 000708 of missing count column in layer control of thematic attribute that was read from an external storage.
  • the number of error messages is now limited to the first 4, to improve performance and focus better on messages related to the first issues in a configuration.
  • Simplified DataReadLock.

2015-09-20: GeoDms Version 7.120 for x64 and Win32

New functionality:

  • new functions:
    • perimeter(zone_map: raster_domain->zone) and perimeter_weighted(zone_map: raster_domain->zone, north_edge, east_edge, south_edge, west_edge: raster_domain->measure) resulting in per zone the total amount of (measured) raster-cell edges of cells with neighbours of different zones.
    • districting_8(landcover_map: raster_domain->land_type) resulting in a set of connected patches according to an 8 neighbour rule.
    • districting_4 as a synonym of the existing districting function.
  • Added Syntax: 'template xxx' as alternative for 'container xxx: IsTemplate = "True"'.

2015-09-15: GeoDms Version 7.119 for x64 and Win32

New functionality:

  • mapping(SrcUnit, DstUnit) function for faster index-array generation for related domains. mapping(SrcUnit, DstUnit) is equivalent with convert(ID(SrcUnit), DstUnit), but requires less memory.
  • reg_count now produces counts with values types that always match the cardinality type of the domain set of the given mapping, including UInt64 for IPoint and UPoint domains, UInt16 for 16 bits mapping domains and UIn8 for smaller domains.
  • extra functions reg_count_uint32 reg_count_uint16, and reg_count_uint8, which produce counts with the given value types.


  • avoid numeric overflow in wpoint tiling.
  • fixed and improved performance of reg_count's handling of tiled raster partitioning.
  • various fixes related to large tiles.

2015-08-29: GeoDms Version 7.115 for x64 and Win32

New functionality:

  • 0000679 New variants of dijkstra algorithms that support Trip distribution, Network Assignment and Alternative Link Impedances. See also: Dijkstra functions.

2015-07-17: GeoDms Version 7.113 for x64 and Win32

New Functionality

  • new variants of dijkstra were introduced; continue with GeoDMS 7.115 or later when using new dijkstra operations.

Changes / Fixed issues:

  • 0000587 Deterministic order of overlay_polygon results.

2015-06-30: GeoDms Version 7.112 for x64 and Win32

Changes / Fixed issues:

  • 0000635 Upgrade to GDAL 1.11.2 (was 1.9.1), including an open source version of FileGDB reader.
  • boost 1.56.0 has been replaced by boost 1.58.0. See:
  • 0000663 Some polygon operations suffered area loss from round-off errors when the inproducts of coordinates exceeds the 53 bits mantissa that long doubles offer in MSVC, which is the case when RD coordiates are expressied in mm. Resolutions:
    1. detection of coordinates exceeding 2^25.
    2. if this is the case, geometries are translated so that the center of their bounding box becomes zero and are translated back after the operation.
    3. after translation, the extent is re-checked for being within 2^25 bounds and an error will result if not.
    4. Feedback has been provided to the boost::polygon developers: [1]
  • 0000595 Reading TIFFS that contain multiple rasters.

2015-06-03: GeoDms Version 7.110 for x64 and Win32

Fixed issue: 0000682, note 2430: now expansion of tree-items is much faster again.

2015-06-02: GeoDms Version 7.109 for x64 and Win32

Fixed issues:

  • 0000620: GeoDMS is now compiled with VC 2013, boost 1.56, with recompiled GDAL 1.9.1 and Proj4 libraries and new VC run-time distributables
  • 0000646 (note 2414..2424): Selection color in TableView adapted
  • 0000669: comments in unquoted calculation rules are now allowed
  • 0000678: now sequences of numeric values are allowed as data elements, preparatory for the implementation of issue 0000679 to allow for routes to result from the dijkstra operations.


2015-01-29: GeoDms Version 7.105 for x64 only

From this version, the following suffixes can be used to denote numerical constants in calculation rules:

  • d for Float64
  • f for Float32
  • u64 for UInt64,
  • i64 for Int64,
  • u or u32 for UInt32,
  • i or i32 for Int32,
  • w or w32 for UInt16,
  • s or s32 for Int16,
  • b or b32 for UInt8,
  • c or c32 for Int8,
  • u4 for UInt4,
  • u2 for UInt2,


  • 3.4f is equivalent with Float32(3.4), 3.4[Float32], and value(3.4, Float32)
  • 7c is equivalent with Int8(7), 7[Int8], and value(7, Int8).

Furthermore, a unit-name as suffix can be used to denote constants with a metric, for example: 3m as shorthand notation for 3[m] and value(3, m). Suffices cannot contain '/', therefore 3units/m is illegal; use the legal equivalent 3[units/m].

2015-01-14: GeoDms Version 7.104 for x64 and Win32.

GeoDMS 7.104 allows for unquoted calculation rules. For example:

Using the expr property Unquoted calculation rule
unit<fpoint> StudyAreaCoord;
unit<spoint> StudyAreaRaster: expr = 
			"  StudyAreaCoord"
			", point(float32(100.0) ,float32(-100.0), StudyAreaCoord) "
			", point(float32(530000),float32(791000), StudyAreaCoord) "
			", spoint"
	", point(Int16(0)   , Int16(0))"
	", point(Int16(4850), Int16(6700))"
unit<fpoint> StudyAreaCoord;
unit<spoint> StudyAreaRaster :=
			, point(float32(100.0) ,float32(-100.0), StudyAreaCoord)
			, point(float32(530000),float32(791000), StudyAreaCoord)
			, spoint
	, point(Int16(0)   , Int16(0))
	, point(Int16(4850), Int16(6700))
// enumeration to be used in suitability maps
container V: expr= "for_each_nedv(Name, 'value('+string(id(.))+', ..)', void, .)";
// enumeration to be used in suitability maps
container V := for_each_nedv(Name, 'value('+string(id(.))+', ..)', void, .);

Other new functionality:

  • 0000191 Usage of parameter<bool> BackgroundDefaultVisibility: [ false ];
  • 0000636 Discr_alloc for an uint16 set of allocatable types, which increases the maximum number of alternatives from \(2^{8}-1\) = \(255\) to \(2^{16}-1\) = \(65535\).
  • 0000646 Red for true in the default palette for boolean values (was light-blue).


  • 0000655 Map was sometimes only drawn at a second request.

Versions of 2014

2014-11-20: GeoDms Version 7.103 for x64 and Win32.

Compared to 7.102, GeoDMS 7.103 has completed more testing of mayor fix of issue 66 and 318.

Affected issues:

  • 0000004 Added: SubTree_Propvalues and fixed handling multiple attributes at once.
  • 0000066 and 0000318 Fixed: The CalcCache manager finally persistently stores and retrieves composite results and items that are read from an external storage, resulting in less repeated calculations.

Minor fixes:

  • 0000563
  • 0000599 Better unique field names in Export to CSV when labels are present.

2014-11-10: GeoDms Version 7.102 for x64 and Win32.

Compared to 7.101, GeoDMS 7.102 has better MT2 support with less meta-data derivation in working threads, and has some fixes for export related issues.

New functions:

  • 0000004 SubItem_PropValues(container, PropNameArray) and Inherited_PropValues(container, PropNameArray) resulting in a table (i.e. a domain-unit with attributes) with 1 row for each sub-item in the give container and 1 attribute with values for each given PropName.

Fixed/implemented issues:

  • 0000005 Scalebar in Export MapView
  • 0000254 Export UInt32 to TIFF without classification.
  • 0000599 Unique field names in Export to CSV
  • 0000617 Added diagnostic
  • 0000621 now uses boost 1.56.0 (was 1.53.0) with upgrade to boost::signals2,

2014-10-16: GeoDms Version 7.101 for x64 and Win32.


  • 0000616: raster_merge(target_domain, target_values_unit, arg1, arg2, arg3, ...) now also works with a given resulting domain instead of an index map.


  • 0000616: raster_merge() now uses ViewPortInfoEx to map raster data into the target domain.


  • larger stack (now 16 MB per thread, was 4 MB) to support deeper recursion.
  • avoid reporting 'Hook to unknown GDAL file: xxx', multiple times.

2014-10-07: GeoDms Version 7.100 for x64 and Win32.

This version has various changes focussed on utf-8 support, for handling non-ascii characters in strings. Further work is planned to support UTF8 everywhere (strlen, strpos, substr, replace, etc.) and to support internationalization of the GUI and error messages.

Breaking change:

  • for GeoDMS 7.047 all string comparison operations (=, ==, <, <=, !=, <>, >=, >) are made case-sensitive as well as the relational operations rlookup, sort, index, unique that depend on comparisons (especially: the less than operator). This may cause compatibility issues when references to table-keys are case insensitive (i.e. rlookup(TableA/code_ref, TableB/code) will no longer match 'SE10' to 'se10'; replace this with rlookup(UpperCase(TableA/code_ref), UpperCase(TableB/code)) or fix the used tables).


  • 0000555: merge function to merge attributes according to a switch attribute (similar to switch case and raster_merge).
  • 0000562: (x64 only): support for attributes with IPoint, Int64 and UInt64 domains, which may represent more than 2^32 elements.
  • more info on domain segmentation in the Detail Pages
  • Added functions: UrlDecode, AsHex now also for strings
  • TextOut now can use utf-8 instead of ANSI, I still have to consider how to parameterize this per string unit or string attribute.
  • Specific Persistent CalcCache items and folders can now be deleted (when the Cache is not used) resulting in recalculation of these items when requested later and no longer invalidates the whole cache.
  • Parallel processing of independent operations (MT2) is now no longer experimental and ready for production usage.


  • consistent interestcount administration in combination with then SubItem operator
  • better handling of exceptions during GenerateMetaInfo as part of DumpContext from the DmsException constructor.
  • DataStoreManager has been revised to support: better caching of:
small items, such as parameters and units,
composite items, and
items directly read from slow storages (such as gdal, .dbf, ascii-grid).
  • 0000588: split_polygon
  • 0000395, note 1798 jo note 1912: GDAL now reads all parameter files from %exedir%/gdaldata and no longer follows the environment variable GDAL_DATA.


  • GeoDmsGui: no configuration or failure during loading it, no longer results in a Open Configuration Dialog. You can still choose File->Open to open another configuration.

The following command line parameters determine which configuration is loaded:

no parameters       : Try loading the last configuration, if that fails (file does not exisst or contains a syntax error), no config 
/noconfig           : don't try loading any configuration
config.dms          : Only try loading the specified configuration
/fallback config.dms: Try loading the last configuration, if that fails, read the specified configuration.

2014-05-22: GeoDms Version 7.046 (withdrawn).

Breaking change:

  • asList and asItemList now only insert separators between non-empty text (rev. 5628).


  • function combine_data(combinedUnit: AxB, a_rel: D->A, b_rel: D->B): D->AxB


  • 0000586: proper initialisation of uncovered bands when reading from an AsciiiGrid file.
  • 0000575: Writing multi-part polygons to shapefiles, fixed extra lines in exported shapefiles.


  • Gui: removed '_' from generated Desktop and View names.

Code clean-up:

  • removed dedicated memory allocators, StaticBuffer, fixed_alloc
  • better usage of move semantics for exception safety based on nothrow operations.

2014-03-20: GeoDms Version 7.044 for x64 and Win32.


  • 0000555: merge function to merge attributes according to a switch attribute (similar to switch case and raster_merge).
  • 0000562: (x64 only): support for attributes wiith IPoint, Int64 and UInt64 domains, which may represent more than 2^32 elements.
  • more info on domain segmentation in the Detail Pages.


  • 0000292: selection caret in grid layers did leave lines when scrolling.
  • 0000556: for point_in_polygon when both domains are segmented.
  • 0000557: for asExprList with a segmented domain.
  • 0000567: (x64 only) TableView now works with more than 2^32 rows (in Win32, drawing more rows than 2^31 / NrPixelsPerRow, which is 76.695.844 rows, remains an issue).
  • 0000562: reading geo_transform data from raster sources by GDalGrid did produce a wrong offset (also available in the withdrawn GeoDms version 7.043).


  • trace.log (in %LocalDataProjDir% ) is no longer destroyed every time you reopen a configuration. Logging text is now always appended to it with an indication of the start and end time of each session, marked by '@@@@@'. It is now up to the user to occasionally remove trace.log.
  • See also CalcCache file management.


2013-12-20: GeoDms Version 7.042 for x64 and Win32.

Fixed issues 538 and 272.

2013-12-10: GeoDms Version 7.041 for x64 and Win32.

000497Implemented operator capacitated_connect(p1: dest->Point, max_capacity: dest->Numeric, p2: src->Point, req_capacity: src->Numeric) -> (src->dst).

2013-12-01: GeoDms Version 7.040 for x64 and Win32.

Fixed issues 492, 506, 509.

2013-11-07: GeoDms Version 7.039 for x64 and Win32.

New Operators:

  • matr_mul(A: rxk->V, B: kxc->W, ResultDomain: rxc): (ResultDomain -> V*W)
  • matr_var(A: rxk->V, ResultDomain: kxk), which is defined as matr_mul(transpose(A), A, ResultDomain): (kxk -> V*V)
  • matr_inv(A: kxk->V): (kxk -> 1/V)
  • connect_neighbour(PointSet: D->P [, ClusterID: D->E] ): (D->P)


  • TableView: non numeric attributes are no longer wider by default.


  • in invert operator with tiled result domain (values of tile-upperbounds could have beeen missing).
  • related to empty tiles, exceptional stack unwinding, etc.

2013-10-24: GeoDms Version 7.037 for x64 and Win32.


  • bug introduced in 7.036: the All(x, p) operator was missing.
  • bug with half-open ranges causing the tiled verison of invert to miss an element.

2013-10-18: GeoDms Version 7.036 (withdrawn).

This version has an object code size reduction of the calculation engine components (Clc1.dll, Clc2.dll and Geo.dll) by more than 50% due to various type erasures (of Partition types, UnitCreators, and Weights in modus_weighted) resulting in less instantiated templates and less overloaded operators: the number of operators has been reduced from 16,124 (version 7.034) to 9,872 whereas the number of OperatorGroups has remained 5,165


  • polygon_connectivity operator


  • lock on selection data during selected feature drawing.
  • memory leak during polygon suffix operations.
  • issue 477: (introduced in version 7.032: drawing of polygons with open rings no longer result in extra lines)
  • potential crash with messge "pure virtual function called", possibly due to a linking mismatch in version 7.033.

2013-10-08: GeoDms Version 7.033 for x64 and Win32 .


  • issue 433: new functions for geometric operations: polygon_overlay, split_partitined_union_polygon_I16D_D16D and combinations therof, binary polygon operations +, *, -.

Remaining issues: polgyon equivalence testing, generic convolution, and connectivity graph.

  • issue 439: Background text color for labels in MapViews

other issues:

2013-07-02: GeoDms Version 7.032 for x64 and Win32 .

  • issue 425: Export of Boolean (1 bit) and UInt4 (4 bit) data to TIFF files.
  • issue 427: Generic support for handling tiled/segmented data as linear data by creating a untiled shadow copy in memory during an operation without tile support, which fixes problems with:
selection of tiled grid cells,
discrete allocation of tiled sets of allocatable cells,
districting and diversity of tiled data,
dijkstra sortest route function and connect,
sorting, etc..

Since this version, drawing polygons (from shapefiles) that do not close might result in undesired lines, see issue 0000447.

2013-06-07: GeoDms Version 7.031 for x64 and Win32 .


  • 0000407: Context info in error messages (as configured in ExportSettings/MetaInfo).
  • 0000409: functions: ramp, ramp_open, ramp_rgb, and ramp_open_rgb for composing linear ramps.
  • 0000424: new functions points2sequence_p, points2sequence_ps, points2sequence_po, and points2sequence_pso to allow creation of single polygons and/or from points with default sequential order
  • Conversion from strings to polygons.


  • 0000297: Generation of a new SubWCRevData.str for export once for each GeoDMS session.
  • 0000400: keep holes in clipped polygons.
  • 0000422 Red BrushColors after using the Palette Editor
  • 0000423 modus and modus_weighted functions now available for partitionings of all domain elements.
  • Transient part of CalcCache (the .tmp sub-folder) is now better managed. Parts of composite operator results are now properly deleted and .tmp is now removed after each graceful termination of a GeoDMS session.

2013-06-04: GeoDms Version 7.030 for x64 and Win32 .



2013-04-18: GeoDms Version 7.029 for x64 and Win32 .


  • 0000348: Enabling various folder name settings to be configured from the calling environment


  • 0000291: faster discrete allocation with non distinctive suitability maps.
  • 0000237

2013-04-09: GeoDms Version 7.028 for x64 and Win32

Resolved issue 285: Reading .twf and .bmpw files with comma's as decimal separators.

Implemented issue 383: save data to .dbf and .shp and .shx files from the GUI.

Updated Implementation of issue 381 and Issue 52

2013-04-06: GeoDms Version 7.027 for x64 and Win32

Fixed issue 52: Error when switching from a desktop with instanitated items.

supplemented issue 228: also the functions union. and union_unit support tiles now ( earlier only union_data supported tiled data).

Implemented issue 381: Check if model-configuration-source has changed and offer to reload it when the GeoDmsGui gets reactivated.

Uses boost 1.53.0 (was 1.51.0)

2013-03-15: GeoDms Version 7.026 for x64 and Win32 .

  • Optimization of the Invert operation based on an intersection check on the bounding box of the values of each given tile to the range of each result tile.
  • GDAL proj4 projections made more thread-safe and added some gdaldata files: gdal_datum.csv and coordinate_axis.csv.
  • Allowing gdal.grid read data to have a larger extent than gdal's rasterband contents. No speficic initialization is performed at the un-covered boundaries, I Presume zero initialisation is performed. This should be(come) similar to reading TIFFs directly.
  • GdalGridStorageManager: AbstrGridStorageManager now implements VisitSuppliers as TiffStorageManager did to let GdalGridStorageManager benefit from the inclusion of GridData as supplier for ReadData, required to access the range of GridDomain when reading a different range.

2013-03-07: GeoDms Version 7.025 for x64 and Win32 .

  • with tile support for the result domain of pcount;
  • has an improved diagnostic on no (tiled) data in a DataReadLock or other FT_Data related FailReasons.

2013-03-06: GeoDms Version 7.024 (withdrawn)

2013-02-12: GeoDms Version 7.023 (withdrawn)

  • with parallel processing of tiles in poly2grid, classify and rlookup.
  • Fixes 0000156, order of construction/destruction of singletons.
  • Fixes issues 340, 343 and 344 (related to classification operators).

2013-01-30: GeoDms Version 7.022 (withdrawn)

with tiled nth_element and rth_element (issue 230), and Float64 values can now be read from TIFF files by the native TIFF storage manager (issue 331).

2013-01-20: GeoDms Version 7.021 (withdrawn)

Faster algorithm for Fisher's Natural Breaks Optimization,which is now used as default classification for mapping data without configured class breaks. The GUI now also better handles having less unique values than the number of requested classes.

2013-01-04: GeoDms Version 7.020 (withdrawn)

  • Changed functions: poly2grid(Polygons, gridDomain, 1) now uses internal code, taken from GDAL, which resolves mantis issue 276.
  • More liberal criteria for inclusion of ClassBreak candidates, see also note 844 of issue 275.


2012-12-18: GeoDms Version 7.019 (withdrawn)


  • issue 326 (failed items became unreadable red in the TreeView),
  • issue 275 (issues with ClassBreak functions, including updating the Class Count when changing the class breaks).

2012-12-12: GeoDms Version 7.018 (withdrawn)


  • additional classbreak functions cbEqualInterval, cbEqualCount, cbUniqueValues, cbLogInterval, cbJenksFisher (also avaiable in the class palette editor).
  • Added: #include can now refer to an absolute path to allow .dms files to be included from multiple configurations, for example as:
#include <%projDir/cfg/stam/units.dms></samp>
  • Added: GDAL support for PostGis databases.


  • Process Time reporting.
  • Optimized: GDAL library and its related drivers are only loaded when a GDAL storage or reprojection function is actually used (as a delayed loaded DLL).

2012-10-10: GeoDms Version 7.015 (withdrawn)

Includes a few bug-fixes related to the new unit conversion and reprojection operations of 7.014.

2012-10-04: GeoDms Version 7.014 (withdrawn)


  • separate CalcCache for x64 and Win32. This was required since the Subset and discrete_alloc operators deliver different results due to different handling of data tiling.

Breaking changes:

  • Unit conversions of scalar data now check the metric and fail if incompatible and transforms if the required dimension is compatible with the given data. If the unit is compatible up to a scale factor, the scaling is performed automatically. This may result in silent changes, for example the following now results to 3[km] whereas up to GeoDms version 7.013 it resulted to 3000[km].
 parameter<km> dist: Expr = "value(3000, meter)[km]";
  • Unit conversions of geometric data (points, arcs, polygons) now check the projection and relation to the base projection, which can now have a reference to a Spatial Reference System (SRS) such as:
unit<dpoint> WGS84: Format = "EPSG:4326"; // could also be WGS84 
unit<fpoint> dla: Format = "EPSG:3035", // EPSG code for Lamber Equal Area
  • GDAL and Proj-4 are used to transform values of different SRS'es. Furthermore, GeoDms projections (which are affiine translations of the serated coordinates of a base projection, such as a 100m grid with arbitrary origin), are also taken into account when translating values of a geographic unit to another geographic unit. The following code now siliently gives a different result (which was (0,0), (0, 1), (0, 2),(0, 3),(0, 4),(0, 5), ... and now: (0,0), (0, 0), (0, 0),(0, 0),(0, 0),(0, 1), ...):
 attribute<rdc_500m> rdc_500m_rel: Expr = "ID(rdc_100m)[rdc_500m]";

2012-09-19: GeoDms Version 7.013 (withdrawn)

For using x64 with odbc sources, see: issue 249

2012-09-12: GeoDms Version 7.011 (withdrawn)

new functions:

  • regex_match (E->string, regex: void->String)->(e->Bool),
  • regex_search (E->string, regex: void->String)->(e->String),
  • regex_replace(E->string, regex: void->String, format: void->String)->(e->String).

which use the regex of boost 1.51; for valid regex syntax and semantics see:

Earlier versions from Subversion

All non-revoked versions of the GeoDMS software can be downloaded from our svn server here.

Personal tools