Провёл небольшой эксперимент.
Дано:
вектор А - 1956 полигонов,
вектор Б - 2920 полигонов,
GEOS - версия 3.6.1,
SAGA - версия 2.1.2.
Найти:
время объединения векторов А и Б
Результат:
При прочих равных условиях GEOS выполнил задачу за 56,25 секунд, а SAGA справилась за 8,41 секунды.
Полез рыться в источниках. Выяснилось, что SAGA использует алгоритм Vatti. На GEOS не смог найти ссылку на алгоритмы. Учитавая, что GEOS - это порт C++ от JTS, посмотрел у них на документацию. Пишут, что их алгоритмы уникальны, но они также использовали работу Vatti.
Собственно вопрос:
какие алгоритмы используют современные ГИС/библиотеки для обрезки полигонов?
SAGA - Vatti
GEOS (QGIS, GRASS, PostGIS) - ?
CGAL - ?
ArcGIS - ?
Алгоритмы для обрезки полигонов
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Алгоритмы для обрезки полигонов
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Алгоритмы для обрезки полигонов
Э, это как: тема обрезки полигонов, эксперимент объединения векторов
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Алгоритмы для обрезки полигонов
Дело в том, что, чтобы объединить, полигоны сначала делятся/разрезаются. Не все векторы полигоны, но все полигоны - векторы.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 35 гостей