Чи є якийсь інструмент, який дозволить мені запустити мільйони файлів форми посилок і спростити їх?
Чи є якийсь інструмент, який дозволить мені запустити мільйони файлів форми посилок і спростити їх?
Відповіді:
Ви можете спробувати Shapely - API Python, побудований поверх 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
Версія 9.0 GDAL / OGR додала опцію-спрощення до команди ogr2ogr . У документації зазначено, що вона зберігає топологію.
-простити допуск: (починаючи з GDAL 1.9.0) толерантність на відстань для спрощення. Цей метод дозволить зберегти топологію, зокрема для геометрії багатокутника.
Приклад використання:
ogr2ogr outfile.shp infile.shp -simplify 0.000001
Якщо ваші дані зберігаються в PostGIS, спробуйте скористатися ST_SimplifyPreserveTopology .
ogr2ogr має опцію "сегментація", яка, як видається, робить те, що вам потрібно: документація GDAL ogr2ogr
З цієї сторінки:
-segmentize max_dist: (починаючи з GDAL 1.6.0) максимальна відстань між 2 вузлами. Використовується для створення проміжних точкових просторових розширень запиту
GRASS v.generalize
Надихайтеся від Mapshaper, але безпосередньо на місцевому рівні, дивіться на https://github.com/migurski/Bloch