Розділити багатокутний шар лінійним шаром?


12

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

Перед: один цілий багатокутник з лінією, що проходить через нього

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

Після: лінія працює як пара ножиць і розділила багатокутник на 2 частини (на малюнку нижче полігони були переміщені однаково для ілюстрації)

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

Відповіді:


8

Спочатку потрібно з'єднати обидві форми

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

Потім активуйте модуль Polygonizerplugin, щоб змінити лінії на багатокутники:

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


Мій Ubuntu Qgis поскаржився на відсутність shapely.ops, коли я намагався встановити плагін Polygonizer. Зараз я не знаю, як це виправити. Мені доведеться вирішити цю проблему, перш ніж спробувати ваше рішення. Дякую.
Cao Minh Tu

Це працює. Що мені знадобилося так довго, щоб прийняти вашу відповідь, це те, що я не знав, як встановити shapely.ops. Це виходить дуже просто: заходьте до програмного центру Ubuntu, шукайте "стройно" та встановлюйте єдиний пакет, що відповідає формам python. Після цього я зміг встановити плагін полігонізатора і спробував ваше рішення. Дуже дякую!
Цао Мінь Ту

1
Я не можу встановити плагін Polygonizer.
gregmacfarlane

4

Я вирішив цю проблему за допомогою інструмента "Обробка інструментів", використовуючи Polygon-line intersectionалгоритм SAGA .

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


1

Це подібне питання стосується ArcGIS, але може запропонувати вам кілька ідей із обговорення, які ви можете реалізувати в QGIS.

Я також створив модель ArcGIS, яку ви, можливо, зможете повторити, використовуючи подібні поняття в QGIS. Я намагався описати поняття, які тут використовував .


Дякую за вашу відповідь, але зараз ArcGIS або навички програмування не в змозі.
Cao Minh Tu

0

Якщо я правильно розумію ваше запитання, команда GRASS v.type.bl може використовуватися для перетворення полігонів у рядки. див. наступний пост: Як я розбиваю багатокутники на відрізки ліній?


Я додав фотографії, щоб уточнити питання - велике спасибі.
Cao Minh Tu

@Cao Minh Tu: спасибі, на знімках зрозуміло, я вас неправильно зрозумів
Курт

0

Якщо у вас немає ліцензії ArcInfo , ви можете використовувати команду " geom.splitpolysbylines " в середовищі геопросторового моделювання . Це працює чудово. Переконайтеся, що у вас є ArcGIS 10.1 або ArcGIS 10.0 SP4 та встановлено "R" 2.12 або новішої версії .


Моє запитання стосувалося Qgis (показано в тезі) - я оновив заголовок, щоб зробити його більш помітним. Все одно, дякую!
Cao Minh Tu

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