Делать линии пышными, используя QGIS?


10

У меня нет большого опыта работы с QGIS, и я работаю над картой с линиями, соединяющими местоположения, созданные с помощью плагина mmqgis. Есть ли простой способ сделать эти прямые линии несколько пышными для эстетических целей?

Я пытаюсь достичь чего-то вроде карты ниже, но с несколькими центрами. Я прочитал предложения о том, как сделать это с PostGIS и другими передовыми инструментами, поэтому я провел исследование (включая другие публикации здесь) и попытался использовать несколько плагинов, и я специально прошу простое решение, потому что я не есть большой опыт.

пример


Есть ли способ отменить кривую во время редактирования или отменить точку, где вы случайно поместили ее?
3мм

Добро пожаловать в ГИС ЮВ! Как новый пользователь, пожалуйста, ознакомьтесь с кратким туром, чтобы узнать о формате вопросов и ответов этого сайта. Если у вас есть вопрос, воспользуйтесь ссылкой « Задать вопрос», а не размещайте ответ.
Энди

Если у вас есть новый вопрос, задайте его, нажав кнопку « Задать вопрос» . Включите ссылку на этот вопрос, если это помогает обеспечить контекст. - Из обзора
csk

Ответы:


6

Если вы используете QGIS 2.12 или более позднюю версию, у вас будет инструмент « Добавить круговую строку » на « Панели инструментов оцифровки ». Или вы можете попробовать « Сплайн плагин ».

(LHS) Добавить инструмент для создания круговой строки во время оцифровки, (RHS) Инструмент для сплайна во время оцифровки

оцифровка

Вы можете увидеть инструмент Добавить круговую строку (LHS), который рисует круглую или полукруглую линию, а инструмент Сплайн (RHS) интерполирует точки, чтобы подогнать линию к кривой сплайна. Что бы вы ни выбрали, вам просто нужно нажать 3 точки: начальная точка, точка кривой и конечная точка.

И вы получите:

исход

Существуют и другие инструменты, такие как CadTools, но вам будет гораздо интереснее, если вы найдете это сами.


1
Спасибо. Я не смотрю на создание линий, а на кривые (не вручную) те, которые я уже создал с помощью mmqgis. Также не ищите волнения, просто чтобы что-то сделать. Вот почему я пришел сюда, поэтому любая помощь будет оценена! :)
Дардж

1
Понял, спасибо. И извините, я ошибся. Теперь я понимаю, что у вас уже есть Hub Lines, созданные плагином MMQGIS.
Казухито

6

Используйте стиль стрелки вместо стиля простой линии.

Например, эти строки со стилем Simple Line:

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

выглядеть так со стилем стрелки:

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

Вы можете отключить наконечники стрелок, установив ширину и длину головки в 0.

Как видите, прямая линия становится прямой стрелкой, а линии со средней вершиной становятся изогнутыми стрелками. Расположение средней вершины определяет кривую стрелки.

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

Используйте стиль Geometry Generator с типом Geometry: Linestring. Это выражение создаст линию со средней точкой 200 единиц расстояния к востоку и северу от исходной средней точки линии.

  make_line( start_point( $geometry), translate( centroid( $geometry), 200,200), end_point($geometry))

Измените линию, чтобы отобразить как стиль стрелки. Регулируйте значения смещения центроида в выражении генератора геометрии, пока вы не будете довольны формой стрелок. Если вы хотите, вы можете сделать их пропорциональными длине исходной линии, например $length/10. Полное выражение будет:

make_line( start_point( $geometry), translate( centroid( $geometry), $length/10, $length/10), end_point($geometry))

Вот как это выглядит, с исходными линиями в розовом и сгенерированными геометрией стрелками в черном:

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

Если вас не устраивает размещение средней точки линии, вы можете настроить их вручную. Во-первых, преобразуйте сгенерированный геометрией стиль линии в реальный слой. Скопируйте выражение из генератора геометрии в geometry by expressionинструмент (Панель инструментов обработки). Затем используйте инструмент Vertex Tool (панель инструментов оцифровки), чтобы вручную перемещать вершины.

Примечание. Этот ответ был сделан с помощью QGIS 3.4.


4

Вы должны сделать еще несколько шагов: (У меня есть голландская версия, так что, если это не правильный перевод, извините). Как это сделал @bugmenot, но затем снова выберите « Заливка» и измените его со стандартного заполнения на слой символов на «Rand / Edge?»: «Стрелка». Я выполнил постепенное заполнение цветового эффекта [geleiddelijke vulling] в последнем «Fill». Надеюсь, это помогло. введите описание изображения здесь


Спасибо! Можно ли отрегулировать угол кривой, чтобы она была более плоской, как на изображении, которое я разместил?
Дар

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