Я хотел бы упростить некоторые полигоны, которые представляют реки в линии линий. Я предполагаю, что дыры в многоугольниках могут быть опущены. У кого-нибудь есть хорошая идея, как просто сделать это?
Было бы неплохо, если бы это было возможно сделать непосредственно в postgis или с помощью другого инструмента с открытым исходным кодом, но краткого описания алгоритма будет достаточно.
В PostGIS 2.2 с SFCGAL это можно сделать с помощью ST_StraightSkeleton или ST_ApproximateMedialAxis , в зависимости от ваших критериев.
источник
плагин скелетонизатора JUMP доступен как часть openjump http://www.openjump.org
источник
Просто как предупреждение, я никогда не пробовал это раньше. Ваш успех будет зависеть от качества данных, которые у вас есть в настоящее время.
Итак, думайте о многоугольнике как о полосе треугольников. Каждый треугольник соединяется с вершиной на противоположной стороне коридора с ребром. Теперь для каждого из ребер в коридоре просто поместите вершинный привкус в центре. Эти новые вершины являются точками вашей линейной линии. Вероятно, вы можете поиграть с тем, как выбрать среднюю точку на краю для большей точности.
источник
Еще раз, ET GeoWizards может быть ответом. Попробуйте инструмент Создать осевые линии из полигонов .
источник