В QGIS у меня есть две строки. Конечные точки находятся рядом друг с другом, но не совсем выровнены. Я хотел бы превратить две линии в одну, с двумя конечными точками, объединенными в средние точки.
Самое близкое, что я смог сделать, это «Объединить выбранные функции». Это дает мне одну особенность, но она состоит из двух непересекающихся линий - между конечными точками нет никакой линии.
Я ищу что-то похожее на функцию «Соединить пути» в Illustrator («Объект»> «Пути»> «Присоединиться»).
QGIS делает это?
Вы можете сделать это с помощью комбинации QGIS и GRASS.
Отрегулируйте «порог» v.clean.snap, чтобы добиться правильной привязки к вершине во всей области исследования.
источник
Я предполагаю, что вы хотите соединить два отрезка в одну линию.
Вот как я это сделал ...
Это должно привести к одной строке.
источник
Существует этот плагин QGIS, который говорит, что он делает именно то, что вы хотите.
https://plugins.qgis.org/plugins/joinmultiplelines/ https://github.com/dgoedkoop/joinmultiplelines
(Однако я не смог правильно использовать его в QGIS 2.6)
источник
Если вы имеете в виду, что ваша единственная функция состоит из MULTILINESTRING вместо одной LINESTRING, то вы можете легко это исправить, если вы используете базу данных Postgis:
Если вы хотите, чтобы это делала только 1 строка, вы, конечно, должны добавить WHERE id = your_row_id.
источник
Также кто-то может попробовать:
источник
Я только что сделал это с QGIS 3.4.0, используя плагин Join Multiple Lines, упомянутый выше tnagel (устанавливается в меню Vector> Join Multiple Lines). Работал хорошо, чтобы объединить около 60 фрагментов трассы в около 20 трасс трассы. Чем больше у вас фрагментов и чем больше площадь, которую они покрывают, тем менее практичным это является, поскольку вам приходится следить за результатами проблем (у tnagel могла быть одна из проблем, которые я описал).
Вы выбираете линии, к которым хотите присоединиться, щелкаете по пункту меню, и он соединяет их (вы можете выбрать столько строк, сколько хотите, но ...), даже если концы находятся на расстоянии в одну милю, вы получите прямую линию от конец одного к концу другого, соединяющий их, поэтому убедитесь, что ваши концы достаточно близки, чтобы вы были довольны результатами (я использовал подсказку в другом посте, чтобы пометить концы моих строк маркерами, чтобы они были легкими чтобы увидеть (Свойства> Символы> добавить линию маркера и сделать символ достаточно большим, чтобы его было легко увидеть> выберите переключатель «только для последней вершины» (и, если хотите, добавьте еще одну линию маркера с другим символом и выберите «сначала» только вершина ")).
Кроме того, линии, по-видимому, могут быть направленными. Таким образом, вы должны следить (например), чтобы самый южный конец линии A не соединялся с самым южным концом линии B под ним (еще одна длинная прямая линия, где вы этого не хотите).
Я обнаружил, что когда это произошло, я мог «отменить» и использовать «Обратную линию» на панели инструментов расширенной обработки, чтобы перевернуть направление линии от одного конца к другому (не меняет положение линии, просто переворачивает начало линии с концом строки), затем снова соедините линии.
Хорошая вещь об этом - ваши изменения / правки сохраняются в существующем слое, поэтому нет необходимости сохранять результаты в виде нового шейп-файла (сначала сделайте резервную копию).
Я постоянно удивляюсь работе, проделанной разработчиками ядра и плагинов QGIS. Показывает, что умные конструктивные люди могут делать, когда решают работать вместе. Спасибо!
источник
Использование OpenJUMP (версия Plus):
Это результат:
источник
В моем случае линии были в разных слоях и с разными атрибутами. Я слил слои с помощью mmqgis, а затем соединил линии на следующем шаге с техникой привязки и слияния линий.
источник