Я пытаюсь пометить ряд точечных объектов, но из-за плотности точечных объектов мне придется отодвинуть метки от точечных объектов. Затем я хочу использовать простую прямую линию (не стрелку), чтобы показать, какая метка относится к какой точке.
Я использовал плагин «Easy Custom Labels», чтобы генерировать этикетки и перемещать их туда, куда я хочу. Но я не могу создать простую тонкую прямую линию между точкой и столом.
Лучшее, чего я достиг - это изменить «тип слоя символа» (слой «Метки»> «Свойства»> «Стиль») на «стрелка», снять флажок с «изогнутыми стрелками» и снять флажок «повторять стрелку на каждом сегменте». Затем задайте длину и толщину головки равными 0 и сделайте «ширину стрелки» и «ширину стрелки в начале» как можно более точными. Но это все еще создает короткую линию. Смотрите изображение А.
Я попытался установить «тип символа позже» на «простую линию», но это приводит к строкам с изломами / вершинами / углами в них. Смотрите изображение Б.
В идеале мне бы хотелось, чтобы между метками и объектом (как на рисунке A) были прямые линии, ширина которых аналогична ширине на изображении B.
источник
make_point(label_x -2,label_y)
, этикетки на западном побережье будут выглядеть забавно. Кроме того, работа в другом масштабе сделает это бесполезным. Было бы лучше установить эту точку относительно расстояния до вашей метки и относительного положения от вашего центроида.Ответ Карлоса делает горизонтально выровненного лидера на конце метки, хотя только на одну точку в геометрическом генераторе дают прямые линии. В моем примере я переместил метки вручную, используя панель инструментов меток в QGIS 3.0.3. Обратите внимание, что метод можно найти в вопросе 232709 .
Единственные изменения, которые мне нужно было сделать, это значения x, y в моем выражении:
Что касается самих линий лидеров, дерево символов выглядит так:
Чтобы убедиться, что лидеры заканчиваются в центре меток, просто отредактируйте значения в метках, определяющих выравнивание данных, по центру по горизонтали и по половине для вертикали. Чтобы стилизовать линию так, как вам нужно, используйте простую линию, вложенную в линию маркера.
источник