Объединить полилинию на пересечении вершин на основе количества сегментов [дубликат]

Dec 02 2020

У меня есть слой полилинии в QGIS, который разделен на несколько сегментов с помощью инструмента разнесения линий (черные линии на изображении). Есть узлы, созданные с помощью инструмента «извлечь вершины» (красные кружки на изображении). Я хочу объединить сегменты, но оставить 3-сторонние или более перекрестки разделенными. Тупики можно игнорировать, но их необходимо сохранить.

При разделении объектов я не мог найти способ разделить исключительно на пересечении вершин 3 или более. Затем я решил взорвать линию и попытаться объединить пересечения менее чем с 3 сегментами, но снова застрял. В идеале этот метод можно автоматизировать.

Ответы

3 Kazuhito Dec 02 2020 at 17:08

Позвольте мне попытаться ответить на ваш вопрос: «При разделении объектов я не смог найти способ разделить исключительно на пересечениях вершин 3 или более». часть.

Для этого требуется инструмент GRASS, поэтому, пожалуйста, начните с открытия QGIS Desktop 3.XX с помощью GRASS 7.XX , а не обычного QGIS Desktop .

Потом;

  1. Запустите инструмент v.cleanProcessing Toolbox > GRASS > Vector).
  2. Щелкните маленькую кнопку с многоточием (три точки) на Cleaning tool
  3. Выберите вариант bpol .

В Advance parametersварианте вам лучше:

  • Установите экстент области (вычисляя из вашего линейного слоя)
  • Набор v.in.ogr snap toleranceдолжен быть достаточно маленьким.

Он вернет новый Cleanedслой, на котором вы можете выбрать каждую ветвь разделенных сегментов.