Эти геометрии являются результатом использования нескольких подпрограмм, таких как CascadedPolygonUnion.Union, Intersection и Difference.
В какой-то момент у нас есть MultiPolygon, из которого мы хотим вырезать другую геометрию (
Код: Выделить всё
Polygon
Мы используем этот код, чтобы попытаться вырезать от «красного» многоугольника:
Код: Выделить всё
Geometry difference = multiPolygon.Difference(geometryToRemove);
Код: Выделить всё
found non-noded intersection between LINESTRING (240173.28029999882 493556.2806000002, 240173.28177031482 493556.28131837514) and LINESTRING (240173.28176154062 493556.2813140882, 240173.28176153247 493556.2813140842) [ (240173.28176153894, 493556.2813140874) ]
Данные о полигонах можно найти здесь — мы используем данные «RDNew» для определения разницы действие, но я также добавил версии этих полигонов в формате WGS84, чтобы иметь возможность просматривать их в таких инструментах, как geojson.io.
Подробнее здесь: https://stackoverflow.com/questions/680 ... the-differ
Мобильная версия