Буфер соседних полигонов без перекрытия с использованием QGIS


19

Можно ли создать буфер вокруг соседних полигонов, чтобы новые полигоны не перекрывались?

Желательно в QGIS, но подойдет любой другой инструмент.

Поэтому вместо первого результата я бы хотел получить что-то похожее на второй:

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


1
Если вы не хотите, чтобы ваш буфер перекрывался, вы можете растворить буферные полигоны. Тем не менее, он не будет отражать ваше второе изображение.
Джозеф

1
Я бы предпочел какое-то растровое решение, похожее на этот ответ .
alphabetasoup

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

Ответы:


2

Один из способов сделать это, в зависимости от качества / сложности слоя многоугольника, состоит в следующем:

1) Извлечь вершины из полигонов, убедившись, что уникальное поле сохраняется как атрибут

2) Создать вороной из этих точек

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

4) Вычтите буферные полигоны из вороной

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.