Skip to content

History / Deterministic and unspecified results

Revisions

  • #1292 point_in_polygon, point_in_ranked_polygon, box_connectivity: the spatial index keeps each polygon at a depth that follows from its size Since 20.25.0 the spatial index of the polygon, box and arc operators is a loose quadtree. A polygon that crossed or touched one of the lines along which the index divides its area stayed at its top, and every search that passed there tested it; in a dense set of small polygons that was thousands per search. point_in_polygon can again give another of several overlapping polygons for a point in the overlap, as it could in 20.23.1; Point_in_polygon and Deterministic-and-unspecified-results say so. point_in_ranked_polygon and box_connectivity are much faster on many small polygons or boxes, with the same results. box_connectivity also accepts wpoint and upoint bounds, which its conditions did not list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Oct 15, 2026
  • Since GeoDMS 20.23.1: the version labels of the interim builds name the release The changes since 20.20.0 were labelled with the version of the build they first came in: 20.21.0, 20.22.0, 20.22.1 and, on one page, 20.23.0. None of those was published as a release that stayed; 20.23.1 is the first in all four flavours, so a reader on a released version could not tell from the label whether their build has the change. Every "Since GeoDMS 20.21.0" and the like, also in the forms "since 20.22.0", "*(since 20.21.0)*" and "_(20.22.0+)_", now says 20.23.1: 153 labels on 89 pages, replaced by one exact pattern and checked word by word in the diff, which holds only version numbers. By hand, where a version was named without "since": the order of the spatial index changed in 20.23.1 (Connect, Connect_neighbour, Deterministic-and-unspecified-results); Python-bindings says "before 20.23.1" and "20.23.1 and later"; Arc-visualisation says the wide dashed pens were drawn solid from 20.0.0 on and before 20.23.1; the "since version" of pareto_optimal and pareto_optimal_eps is 20.23.1, and the epsilon of Impedance-options and impedance_matrix lost its "relative since" that now named the same version twice. Left as they are: the two sentences on what the interim builds 20.21.0 to 20.22.1 did with an epsilon, which is what someone who ran those builds needs to know. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Oct 7, 2026
  • #1290 Deterministic and unspecified results; point_in_polygon, connect and relatives: which of tied candidates is unspecified A new page, Deterministic-and-unspecified-results, says what the two words mean: a result is deterministic when one version of GeoDMS gives it in every run and within a run whatever the order in which items and tiles are requested, calculated, released and recalculated; it is unspecified where a page names the values it may take but not which one, and a configuration or a test must then accept each of them. It lists the operators with an unspecified choice. point_in_polygon: which of several overlapping polygons it gives is unspecified (the page said it depended on the tile division), with why it stays so and what changed in 20.22.1. point_in_ranked_polygon: the highest rank wins, which the page had as the lowest; of equal ranks the lowest index, a null rank skipped, since 20.22.1. connect, connect_info, connect_neighbour: which of equally near candidates is taken is unspecified (connect said the lowest index, which the code did not do); connect and dist_info: the nearest arc is found for integer coordinates since 20.22.1. canyon: RLoc and LLoc are the nearest of the facades with the highest ratio. box_connectivity: F2 ordered within each F1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Oct 3, 2026