Skip to content

History / dms_difference

Revisions

  • #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>

    @MaartenHilferink MaartenHilferink committed Sep 6, 2026
  • #1214 dms_intersect, dms_union, dms_xor, dms_difference: the pages of the fault-tolerant polygon overlay One page per operator, in the layout of the geos_ set-operation pages: the two-argument form on the integer grid or a derived power-of-two grid, the three-argument form with the grid size as the tolerance, the even-odd rule as the meaning of an invalid polygon, what the result looks like (clockwise shells, counter-clockwise holes, no collinear vertices, rings ordered by first vertex), the trace lines, the refusals (a grid that is not positive, not whole on integer coordinates, an attribute, or finer than 2^36 cells over the extent), and that the infix operators keep their bp_ and geos_ bindings. Since GeoDMS 20.20.0 (commits 0eac27f4 and 74736036 in the engine). polygon-operators.md gets the dms_ family as a fifth section, with the operators still to be built on the same sweep, and Geometric functions a paragraph on when to reach for it. The four geos_ pages and the mul, add and sub pages link to their dms_ counterpart. The four pages are new, so they are built and indexed but not in the menu of geodms.nl until nav/geodms.md in the converter lists them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Sep 5, 2026