Знаходження центральних ліній від багатокутників у 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.