Используйте стиль стрелки вместо стиля простой линии.
Например, эти строки со стилем 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.