Буферні сусідні багатокутники без перекриття за допомогою QGIS


19

Чи можливо створити буфер навколо сусідніх багатокутників, щоб нові багатокутники не перетиналися?

Переважно в QGIS, але будь-який інший інструмент буде робити.

Тож замість першого результату я хотів би отримати щось подібне до другого:

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


1
Якщо ви не хочете, щоб ваш буфер перекривався, ви можете розчинити багатокутники буфера. Однак це не відображатиме ваше друге зображення.
Йосип

1
Я би схилявся до якогось растрового рішення, схожого на цю відповідь .
alphabetasoup

Я не знаю інструменту QGIS, який міг би це зробити, але теоретично ви могли нормально обчислити (можливо пересічні) буфери, а також обчислити (узагальнену) діаграму Вороного ваших полігонів, а потім перетнути кожен буферизований багатокутник із Вороном комірка, що містить цей багатокутник. Бібліотека Boost C ++ має деякі інструменти Voronoi, які могли б працювати, але це було б дуже багато C ++ коду клею для написання.
csd

Відповіді:


2

Один із способів зробити це, залежно від якості / складності шару багатокутника, є наступними кроками:

1) Витягують вершини з багатокутників, забезпечуючи збереження унікального поля як атрибута

2) Створіть вороной з цих точок

3) Буфер оригінальних багатокутників на необхідну кількість

4) Відняти буферні багатокутники від voronoi

5) Рекомбінуйте / розпустіть полигони, що залишилися вороної в унікальному полі атрибута

Роблячи це раніше, з трохи непослідовними наборами даних, мені довелося зробити додаткові кроки для видалення артефактів з нових полігонів:

  • Відняти оригінальні багатокутники з нового шару, щоб видалити артефакти в полігоні
  • Додайте оригінальні багатокутники до нового набору даних
  • Рекомбінуйте / розпустіть знову на ключовому полі

Перевага кроку voronoi (як це також пропонує csd) полягає в тому, що він дає перпендикулярні межі, як показала Ваша діаграма вимог.

Деякі з цих операцій можуть зайняти значну кількість часу, хоча ....


1

Якщо у вас є обліковий запис ArcGIS, ви можете легко здійснити цей процес через ArcGIS Online. Створюючи веб-карту через Arc GIS Online, ви можете використовувати обмежену кількість інструментів аналізу. Інструмент буферного аналізу дає варіанти перекриття або розчинення буферів. Звідти ви можете експортувати цей шар як файл форми.

Для QGIS спершу ви хочете скористатися інструментом Create Buffers та ввести будь-який радіус та одиницю радіусу. Тоді ви перейдете до своїх інструментів для геообробки та скористаєтеся інструментом Dissolve. Це дозволить розчинити межі ваших буферів і створити щось подібне до одного великого буфера.


2
Рішення QGIS не призводить до отримання другого зображення! Я розумію, що два помаранчеві багатокутники матимуть атрибути двох зелених багатокутників і не будуть розведені в одному великому багатокутнику
RutgerH

0

якщо використання растрового аналізу є варіантом, алгоритми відстані витрат можуть бути правильним способом. Зазвичай ці алгоритми також забезпечують відстань та розподіл-вихід - на основі результату розподілу (тобто, який піксель найближчий до об'єкта), растрового обчислення, який вибирає будь-який піксель з розподілу-растру з відстані <значення (від растру відстані) забезпечив очікуваний результат.

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