peterstace / simplefeatures

Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification
MIT License
129 stars 19 forks source link

Allow DCEL edges to contain intermediate points #288

Closed peterstace closed 3 years ago

peterstace commented 3 years ago

Right now, DECL half-edges contain geometric information by virtue of pointers to their origin vertex record. The 'destination' vertex is twin(e).origin.coordinates or next(e).origin.coordinates (they will be the same vertex record).

This has the inefficiency that for topologically 'simple' geometries (e.g. a polygon with only an outer ring that contains 100k control points) there are a lot of nodes in the data structure.

This inefficiency could be reduced by allowing edges to contain intermediate points. We only need vertex points where there is some sort of self-interaction within a geometry, or if there is interaction between two geometries.

peterstace commented 3 years ago

Closed via https://github.com/peterstace/simplefeatures/pull/299