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


10

У меня есть спроецированный линейный слой (Shapefile) в QGIS. Для каждого отрезка я хочу создать многоугольник без заглушек. Полученный полигон не следует растворять до одного.

Я попробовал инструмент буферизации fTools. Это может создать буфер без растворения, но невозможно определить заглавные буквы строки.

Я пробовал также v.buffer GRASS. Это может создать буфер с определенными концами строк, но я не могу отключить растворение.

Есть ли возможность иметь и то и другое: не распущенные и без заглушек в конце строки? Результатом должен быть шейп-файл с полигонами (буфером) для каждого отрезка.


1
Можете ли вы нарисовать картину того, что вы имеете в виду?
Рафаэль

Почему бы не написать некоторый python для циклического прохождения сегментов строки и запустить v.buffer отдельно для каждого?
Мистер Пурпур,

Ответы:


5

С GRASS v.bufferпресс - Iterate over this layerкнопки.

На рисунке ниже (RHS) показаны буферы, слой буферного полигона для каждого элемента полилинии, без растворенных частей. Затем объедините выходные буферы. ( Vector | Data Management Tools)

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


Немного смешно, что вы должны сделать отдельный слой для каждого сегмента буфера / строки. Это просто невозможно для сложных геометрий
user32882

2

Я полагаю, что это может быть то, что вы после:

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

Если это так, я думаю, что вы должны сначала разбить ваши полилинии на линии, например, используя инструмент обработки «Разнесение линий».

Тогда применение, v.bufferкак вы упомянули выше, может привести к успеху.

Обновить

Я только что увидел, что инструмент «Разнесение линий» немного стреляет по цели, потому что он разбивает каждую полилинию на сегменты, имеющие только начальную и конечную точки и ничего между ними ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.