Поэтому я предполагаю, что у вас уже есть полигоны, которые необходимо буферизовать, и у вас есть расстояния (в метрах или футах в зависимости от вашей проекционной системы).
Неважно, что у вас здесь будет ручной работы, так как вам придется вводить эти буферные расстояния.
Но мы можем удалить большую часть ручной работы с парой моделей в QGIS.
Модель будет:
- Преобразовать многоугольник в полилинию.
- Взорвать полилинию.
- Добавьте столбец буфера, который будет использоваться для буфера.
Поскольку мы разрываем полилинии, у вас может быть разное буферное расстояние для каждой стороны (полилинии).
Затем у вас есть ручной шаг для вставки буферных расстояний для каждой полилинии.
Следующая модель:
- GRASS буфер переменной длины. (Используйте GRASS, потому что он допускает стиль без конца, поэтому концы не перекрывают другие стороны)
- Выпуклый корпус, чтобы исправить углы.
На снимках модель 1:
Оригинальный полигон:
- От многоугольника до ломаной линии:
- Взрывать полилинии.
- Добавить столбец буфера со значениями, добавленными вручную:
Модель 2:
- Буфер GRASS переменной длины с буферным столбцом. v.buffer.column с пометкой «Не делать заглушки на концах полилиний» отмечен галочкой:
- Выпуклый корпус для фиксации углов:
Углы, как мы хотим их. Если вы используете концевые заглушки, вы получаете много перекрытий с буферами на большие расстояния.
Модель 1:
Модель 2: