Мне было интересно, есть ли способ создать центральные линии из полигонов в QGIS? У меня есть слой многоугольника, но в идеале центральные линии нужны как отдельный файл.
Где, на примере изображения, упадут «центральные линии»? Не могли бы вы обновить изображение, показывающее желаемые линии другим цветом, возможно?
Симбамангу
Просто прямо вниз посередине всех многоугольников. Конечный результат, который нам нужен, это просто определить длину всего объекта (при условии, что полигоны были линиями), поэтому даже не обязательно получать центральные линии.
Алан Карр
Плагин HCMGIS утверждает, что создает многоугольные осевые линии как одну из своих функций пространственной обработки. Это не сработало для меня, но, возможно, стоит попробовать.
Я попробовал эту модель, и она работает, но я не смог придумать простой способ сохранить длинные центральные линии, но убрать маленькие боковые линии, так как каждая из боковых линий состоит из множества мелких элементов, и Главная осевая линия также состоит из множества мелких линий.
января
@Jan, пожалуйста, опубликуйте этот вопрос в новой ветке, чтобы больше людей его увидели.
Подземье
9
Вы можете попробовать этот алгоритм:
get vertices from the polygons(poly_vertex).
-make voronoi using (poly_vertex) as input the result could be called(poly_voronoi).
-get lines from (poly_voronoi) => (poly_voronoi_lines).
-get the originale polygon contour (polygon_lines).
-remove (poly_voronoi_lines) touching (polygon_lines) the result is supposed to be the center lines , but you may need further clean up.
Как именно должен быть результат? Приближением является периметр, деленный на 2.
Чтобы получить лучший результат: Вы можете вручную измерить некоторые полигоны. Затем определите разницу между измерением и периметром, деленным на 2 . Примените этот поправочный коэффициент ко всему набору данных.
Ответы:
Я работал над реализацией модели, изображенной в ответе @ RajGovind на Создание осевых линий из дорожных многоугольников / обшивок? что довольно близко к тому, что @geogeek описал в своем ответе здесь, в этой теме.
Вы можете скачать модель с Github https://raw.githubusercontent.com/anitagraser/QGIS-Processing-tools/master/2.12/models/polygon_to_centerline.model
источник
Вы можете попробовать этот алгоритм:
я не знаю, как это можно реализовать в Qgis
Я хотел бы, чтобы это могло помочь
источник
есть хороший инструмент с названием ET GeoWizards 10.2 для продуктов Esri, но я не знаю, хорошее ли это решение или нет ...
Вы можете получить некоторую информацию здесь
кроме этого в траве вы можете проверить функцию r.thin для основного использования.
я надеюсь, что это поможет вам ...
источник
Как именно должен быть результат? Приближением является периметр, деленный на 2.
Чтобы получить лучший результат: Вы можете вручную измерить некоторые полигоны. Затем определите разницу между измерением и периметром, деленным на 2 . Примените этот поправочный коэффициент ко всему набору данных.
источник