#1214 The rest of the dms_ family: six pages, and the statements they make stale
dms_polygon, dms_union_polygon, dms_split_polygon, dms_split_union_polygon,
dms_overlay_polygon and dms_polygon_connectivity get a page each, in the layout of their geos_
counterparts and leaning on the family page for the shared semantics. The two Minkowski
operators are named on the shared minkowski_sum and minkowski_difference pages, where the
other four backends already are.
Three statements were true when they were written a day ago and are not any more, so they are
corrected rather than left to age: the family page said the rest of the family did not exist
yet, the operators page said it was to be developed, and Cleaning invalid polygons told the
reader to unite an argument with itself because dms_polygon did not exist. That example now
calls dms_polygon, and points at dms_union_polygon for cleaning a whole layer at once.
The family page also gains the sections the family now has (cleaning, dissolving, splitting,
overlay, growing) and says plainly that all six point types are supported throughout, which is
wider than any of the libraries.
Cross references both ways: the four xxx_overlay_polygon and four xxx_polygon_connectivity
pages, Polygon_connectivity and box_connectivity now name their dms_ counterpart, and the
pair-finding table on the operators page has a row for each of the two.
Since GeoDMS 20.20.0, engine fd3dd0b8.
The six pages are new, so they are built and indexed but do not appear in the menu of
geodms.nl until nav/geodms.md in the converter lists them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#1214 dms polygon operators: a family page, and the Cleaning invalid polygons example
The four operator pages repeated the shared semantics four times over and had no worked
example to point at. Two new pages take that over.
dms polygon operators: what the prefix means, the even-odd rule as the meaning of a polygon
that is not valid and the three consequences a modeller can use (ring orientation does not
matter on input, a bow tie is two triangles, an unclosed ring is closed), the grid per
argument form as the tolerance, what the result looks like, a table of which family to reach
for, the trace line that reports the snapping, and the operators of the family that do not
exist yet.
Cleaning invalid polygons, under Configuration examples: cleaning a source with
dms_union(A, A), using an invalid ring as an operand directly, closing a three unit gap
between two neighbours with a grid of 10, and the hole that a difference cuts, each with its
area and vertex count. Every number on the page is one that examples\testcases\oper_dms_overlay.dms
checks, so the page cannot drift from the engine without that battery going red.
Both pages name the eight regression configurations by file name. They ship with the setup in
examples\testcases (nsi\DmsSetupScript.nsh:209), so a reader can run them against their own
installation.
The four operator pages, polygon operators, Geometric functions and Configuration examples
link to the two new pages.
Both pages are new, so they are built and indexed but do not appear in the menu of geodms.nl
until nav/geodms.md in the converter lists them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>