Releases: ObjectVision/GeoDMS
v15.7.0
This release offers many alternatives for polygon functions using the alternative libraries for boost polygon, prefix: bp_, which are:
- boost_geometry, prefix: bg_
- https://www.cgal.org/, prefix: cgal_
- https://libgeos.org/, prefix: geos_
See #757 for a compete list:
Full Changelog: v15.6.0...v15.7.0
v15.6.0
Polygon processing improvements:
- Implemented (more) polygon functions using boost::geometry and CGAL.
- Accellerated bp_union_polygon and bg_union_polygon by reordering the associative union operations from sequential to a balanced tree collection.
Known issue:
- bg_union_polygon seems to loose some rings, see #775
- other bg_ functions are still being tested, see #756 and #767
Polygon related issues:
Other performance issues:
GUI issues (DataView)
Diagnostics / Eventlog
Memory / FenceContainer issue
Fixed Crash
v15.5.0
Fixed FenceContainer and related memory issues, see #759 and #127
Now, all operations that were scheduled after scheduling operations required for the contents of a FenceContainer can only start once all the latter operation have completed. This is to be implemented in the RuimteScanner and Hestia in order to reduce memory usage due to too many started sub-tasks.
v15.4.0
The 15.4.0 version introduces:
- binary operations for multi polygons with floating point coordinates, see #604
- faster summations and modus-like operations, see #275 and #684
- enhanced functionality: #742
- Fixed calculation bug: #741, #745, #751
- UX Fixes: #686, #688, #744, #750, #752
- Build optimization: #462
- Support for a Silent Instalation option: #747
Full Changelog: v15.2.0...v15.4.0
v15.2.0
This pre-release contains changes to the use of the GDAL and PROJ libraries such that they are only loaded when GeoDMS actually uses any of their functions, aka delayed loading. This enables python users that had already loaded modules that linked to a different version of GDAL or PROJ, such as in GLOBIO, to use GeoDMS anyway.
Furthermore, GUI tweaks: #719, #733, #688
Fixed are: #731, #655, #710, #675, #110, #737
Full Changelog: v15.1.0...v15.2.0
v15.1.0
This upgrade of 15.0.x introduces a transpose function for the TableView.
New functionality:
- Implemented a Transpose function for TableViews, see #675
Fixes:
- fixes a slow down when requesting a calculation result from the GUI, #729
Furthermore, since pre-release 15.0.1:
- unintended consequences of fixing #669 have been reverted
- the implementation of the new operator split-multi_linestring has been completed and tested
- stricter enforcement of not using obsolete operators, as was intended to be part of the v15 changes, more specifically, select_data must be renamed to collect_by_cond, as part of our road-map to arrive at a consistent set of selection and collection related operator names.
GeoDms as Python 3.9 module:
- the geodms.pyd that is placed in the selected Program Files folder, has been tested with Python 3.9.18 installed from Conda, see also here
Full Changelog: v15.0.0b...v15.1.0
GeoDms 15.0.1
This patch fixes some issues with unintended rounding off point coordinates, introduced due to fixing #669 including clipping wpoint domains to no more than 32767 rows and columns, representing null_wp as 2^16-2, and similar artifacts.
Furthermore:
- the implementation of the new operator split-multi_linestring has been completed and tested
- stricter enforcement of not using obsolete operators, as was intended to be part of the v15 changes, more specifically, select_data must be renamed to collect_by_cond, as part of our road-map to arrive at a consistent set of selection and collection related operator names.
- the geodms.pyd that is placed in the selected Program Files folder, has been tested with Python 3.9.18 installed from Conda, see also here
Full Changelog: v15.0.0b...v15.0.1
v15.0.0
GeoDms v15.0.0b has the following improvements over the 14 series:
- all changes up to an including v14.17.3.
- Memory Mapped File format (*.MMD) for storing and retrieving intermediate results by memory mapping to avoid conversions and allow the file system to take part in the Memory Page assignment in a calculation process
- qtWebEngine in the Detail Pages
- internally, 2D coordinates are now represented in Traditional GIS order, i.e. (x, y). This was (y, x) up to GeoDMS 14.x.x. The use of point_xy and/or point_yx functions make coordinate definitions explicit as part of phasing out the usage of ColRowOrder in Config.ini
New GUI:
- in the LayerControls, a SelCount column appears whenever features of a layers are selected in the MapView (feature request received at the Land Use Scanner course at Deltares)
- Panels can be made smaller and their separators have been made 2 pixels thicker to facilitate grabbing them.
Obsolete functions:
bg_buffer_polygon
: usebg_buffer_multi_polygon
, orbg_buffer_single_polygon
outer_multi_polygon
andouter_polygon
: usebg_outer_multi_polygon
orbg_outer_single_polygon
select_data
: usecollect_by_cond
Obsolete resulting sub-item names:
combine
now lo longer results in sub-items with the namesnr_1
,nr_2
, etc.; usefirst_rel
,second_rel
, etc. (up tosixteenth_rel
) respectively.join_equal_values
now no longer results in sub-items with the namesnr_1_rel
,nr_2_rel
,nr_x_rel
; usefirst_rel
,second_rel
, andX_rel
respectively.
Depreciated functions:
point(first, second)
: usepoint_xy
, orpoint_yx
subset
: useselect
orselect_with_org_rel
select_afew
: useselect_with_attr_by_org_rel
select_many
: useselect_with_attr_by_cond
relate_afew
: usecollect_attr_by_org_rel
relate_many
: usecollect_attr_by_cond
Known issues:
- Memory Mapped File format does only work for units and fixed size element attributes, not for string-, and point-sequence-attributes.
Full Changelog: v14.17.2...v15.0.0b
v14.17.3
A few fixes and improvements after 14.17.2:
#371, #477, #669, #704, #708, #709, #711, #712, #715, #716, #720
Noteworthy fixes:
#669: conversion of world to raster row, col coordinates for negative coordinates gave a round off towards zero, now a round-off towards negative infinity to avoid unexpected row or col assignments to negative coordinates.
#673: griddist_zonal_maximp_untiled_latitude_specific and variants: a omitted degree -> radian conversion has been restored to fix all latitute_specific variants.
#703: reading 'multi-surface' geometries from GeoPackage files through GDAL.vect is now supported and similar to reading CurvedPolygons.
Full Changelog: v14.17.2...v14.17.3
v14.17.2
Version 14.17 fixes the internal representation of multi_linestrings when reading them from a gdal vector storage by representing them in a sequence of points (aka arcs, or linestrings) with each linestring separated from the next by an undefined point. MapView drawing and linestring related functions have been updated or will be updated. See for more details #701.
We assume this change also fixes #601, awaiting confirmation.
Furthermore:
Added operations and support for sequences that contain values as splitters:
- split_multi_linestring(d->point-sequence) -> unit { attribute values(arc); attribute org_rel; } that separates point sequences.
- ReadLines(d->string) -> unit { attribute values; attribute org_rel; } that separates strings on line-breaks ('\n')
- split_piped_string(d->string) -> unit { attribute values; attribute org_rel; } that separates strings on '|'
- added operator mls_length as analog for arc_length, but adding several linestrings by ignoring the segments than contain a separator, whereas arc_length returns 0 for sequences that contain a value
- conversion of points and point sequences now check for undefined points as these can appear as linestring separators.
MapView improvements:
- #239: finally, the redrawing issue has been resolved and Windows no longer declares GeoDMS as 'unresponsive' during long drawing operations.
- #595 ScaleBar improvements
Tweaks on operators:
- #678: iif now has a symmetric values unit derivation when either of the two sub-expression has an unspecified values-unit.
- #695: range: can take just 2 parameters now, lowerBound and upperBound.
- bg_buffer_linestring, bg_simplify_linestring: accommodate for the presence of separators in multi_linestrings
- dyna_point operator family: accommodate for undefined points as segment endings, that may result from arc2segm and sequence2points, as linestring separators are not filtered out by these functions.
Minor fixes and improvements:
Full Changelog: v14.16.0...v14.17.2
Hotfix of release test breaking issues of 14.17.0 and 14.17.1:
- fixed #710
- update python bindings
Full Changelog: v14.16.0...v14.17.2
Known issues:
- the latitude_specific variants of the gridset operations give the error 'Invalid coordinate', see also #718. Is/will be resolved in a next release.