Полигоны Вороного, которые уходят в бесконечность?

18

Я работал над реализацией сценария voronoi.py (перевод Биллом Саймоном кода Стива Фортуны). Согласно ссылке QGIS, это в основном тот же код, с которым я работаю, но способ генерирования полигонов, которые могут простираться до бесконечности, отличается между ними. В случае QGIS я предполагаю, что некоторый ограничивающий прямоугольник генерируется в некоторой степени за пределами точек сайта. В моем случае я создаю ложные точки сайта в виде круга вокруг точек интереса сайта. Точки окружности имеют радиус, в два раза превышающий диаметр точки узла. Результаты между ними показаны на прилагаемом рисунке, реализация QGIS слева и моя реализация справа. Вороной примеры,

Как можно видеть, реализация QGIS создает странные полигоны, которые не имеют точек сайта (см. Сайт 473 в качестве примера в обеих реализациях). Это очевидно неправильно, но я не уверен, правильна ли моя реализация. Поскольку у меня нет доступа к лицензии ArcInfo для ArcMap, я не могу сравнить ее с тем, что ArcMap генерирует изначально, и я не могу найти способ присоединить шейп-файл точки сайта для тестирования. Поэтому, если у кого-нибудь есть какие-либо комментарии по поводу моего использования «бесконечного круга», чтобы помочь привести граничные полигоны к «бесконечному прямоугольнику», я был бы признателен. Более того, если кто-то заинтересован в тестировании выходных данных на другой платформе ГИС, я могу предоставить шейп-файл точек сайта, которые я использовал.


Похоже, что проблема заключается в том, что многоугольники за пределами точек сайта перекрываются, поэтому, когда они обозначены символом без заливки, они отображаются как отдельные многоугольники. На следующем рисунке показано, что происходит, когда выбран полигон вокруг сайтов 473 и 415. Таким образом, оригинальные вопросы остаются, но есть новая морщина.


Это ошибка (или «неполнота»), правильные результаты в QGIS, если используется буфер 0%. Что еще необходимо решить, так это то, даст ли плотный узор круглых «точек бесконечности» тот же результат, что и прямоугольных «ребер бесконечности».

введите описание изображения здесь

PolyGeo
источник
Я хотел бы попробовать ваши данные. Мои тесты не показывают такого поведения.
Подземье
У меня есть готовый почтовый файл, свяжитесь со мной по электронной почте Dan_Patterson@carleton.ca, и я могу переслать его вам. Я думаю, что я добавил буфер 10% при запуске voronoi в QGIS.
Может быть, вы могли бы переформулировать ваш текущий вопрос (после обновления 2).
Подземье
Отличная работа. Я надеюсь, что вы как-то поделитесь своим кодом с сообществом.
Михалис Авраам
см. ссылку ниже в Ответе, мне пришлось обновить, поскольку ESRI уничтожил исходные темы

Ответы:

10

Я смог подтвердить, что моя реализация по крайней мере сравнивается с ArcGIS (но требует лицензии ArcInfo). Реализация QGIS ошибочна, если используется буферное расстояние. Для тех, кто использует ArcGIS с лицензией ArcView, набор инструментов для Вороного и / или Делоне можно найти в качестве инструментов триангуляции .

PolyGeo
источник
В коде Вороного QGIS было несколько ошибок. Многие исправления были применены в QGIS 3.2.2. Было бы интересно услышать, помогло ли это.
Håvard Tveite