Знаходження центральних ліній від багатокутників у QGIS?


19

Мені було цікаво, чи існує спосіб створення центральних ліній з багатокутників у QGIS? У мене шар багатокутника, але в ідеалі потрібні центральні лінії як окремий файл.

Приклад


Я щойно завантажив фотографію багатокутників
Алан Карр

Де, на прикладі зображення, впадуть "центральні лінії"? Чи можете ви оновити зображення, показуючи потрібні лінії іншим кольором?
Simbamangu

Просто прямо по середині всіх багатокутників. Кінцевим результатом, який нам знадобиться, було б просто знайти довжину всієї справи (якщо припустити, що багатокутники були лініями), тому навіть не важливо отримати центральні лінії.
Алан Карр

Плагін HCMGIS заявляє про створення центральних ліній полігону як одну з його функцій просторової обробки. Мені це не дуже вдало, але варто спробувати.
csk

Відповіді:


10

Я працював над реалізацією моделі, зображеної у відповіді @ RajGovind на "Створення центральних ліній з дорожніх полігонів / обшивок"? що досить близько до того, що @geogeek описав у своїй відповіді тут, у цій темі.

Ви можете завантажити модель з Github https://raw.githubusercontent.com/anitagraser/QGIS-Processing-tools/master/2.12/models/polygon_to_centerline.model

введіть тут опис зображення


Я спробував цю модель, і вона працює, але мені не вдалося зрозуміти простий спосіб зберегти довгі центральні лінії, але видалити невеликі бічні лінії, оскільки кожна з бічних ліній складається з безлічі менших функцій, і Основна центральна лінія також складається з багатьох менших функцій лінії.
січня

@Jan, будь ласка, опублікуйте це додаткове запитання в новій темі, щоб більше людей його побачили.
underdark

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.

я не знаю, як це можна було реалізувати на Qgis

Я б хотів, щоб це могло допомогти


Які ще програми ви можете це зробити. Я можу отримати доступ до MapInfo та Arc, якщо це необхідно
Алан Карр

цей алгоритм, безумовно, буде працювати в Аркгізі, і він міг би працювати і в Qgis, використовуючи полігони Вороного gis.stackexchange.com/questions/6971/thiessen-polygons-in-qgis
geogeek

6

є хороший інструмент з назвою ET GeoWizards 10.2 для продуктів Esri, але я не знаю, чи це гарне рішення чи ні ...

ви можете отримати інформацію звідси

centerLines

поряд із цим у траві ви можете перевірити функцію r.thin для основного використання.

r.thin - тонкі ненульові комірки, що позначають лінійні ознаки в шарі растрової карти.

rthin сподіваюся, що це допоможе тобі ...


3

просто знайдіть довжину всієї справи

Яким саме повинен бути результат? Наближення - периметр, поділений на 2.

Для кращого результату: Ви можете вручну виміряти деякі багатокутники. Потім визначте різницю між вимірюванням та периметром, поділену на 2 . Застосуйте цей поправочний коефіцієнт до всієї дати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.