Бесплатный инструмент для упрощения шейп-файлов участков?


16

Существует ли какой-либо инструмент, позволяющий мне запускать миллионы шейп-файлов участков и упрощать их?


1
что вы подразумеваете под упрощением, край?
artwork21

1
Я думаю, что я буду обеспокоен запуском упрощения на полигонах без какой-либо топологии. Я даже не думаю, что esri будет управлять двумя одновременно упрощенными ребрами, чтобы они оставались последовательными. Может я не прав.
Брэд Несом

Ответы:


6

Вы можете попробовать Shapely - Python API, построенный на основе GEOS . Поскольку и Shapely, и GDAL имеют библиотеки Python, вы можете легко объединить их с данными из разных источников (включая шейп-файлы), а затем упростить и экспортировать по желанию.

Единственным недостатком может быть скорость, если вы выполняете миллионы функций - может быть быстрее использовать GEOS или JTS напрямую.

Смотрите упрощенный метод:

Все точки в упрощенном объекте будут находиться в пределах допуска от исходной геометрии. По умолчанию используется более медленный алгоритм, который сохраняет топологию. Если для топологии сохранения задано значение False, используется гораздо более быстрый алгоритм Дугласа-Пекера.

>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187

14

Версия 9.0 GDAL / OGR добавила опцию -simplify к команде ogr2ogr . В документации указано, что она сохраняет топологию.

- упрощенный допуск: (начиная с GDAL 1.9.0) допуск на расстояние для упрощения. Этот метод сохранит топологию, в частности, для геометрий многоугольников.

Пример использования:

ogr2ogr outfile.shp infile.shp -simplify 0.000001


6

В ogr2ogr есть опция «segmentize», которая, кажется, делает то, что вам нужно: документация GDAL ogr2ogr

С этой страницы:

-segmentize max_dist: (начиная с GDAL 1.6.0) максимальное расстояние между 2 узлами. Используется для создания промежуточных точек пространственного запроса экстентов


5

Вы можете попробовать Maphaper . Возможно, есть некоторые ограничения из-за размера вашего файла.


4

Я провел некоторый тест, и на сегодняшний день все методы, предлагаемые здесь и основанные на GEOS (ogr2ogr с -simplify, shapely, функцией PostGIS ST_SimplifyPreserveTopology), создают топологические аномалии (то есть дыры / перекрытия между полигонами). Только с GRASS у меня были хорошие результаты.
Capooti

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.