Возможно ли как-то в QGIS соединить метки и точки линией / стрелкой или чем-то еще? На моей карте не ясно, какая метка идет с ее точкой. Я не могу приблизить это, потому что есть еще много пунктов, чтобы прибыть.
Возможно ли как-то в QGIS соединить метки и точки линией / стрелкой или чем-то еще? На моей карте не ясно, какая метка идет с ее точкой. Я не могу приблизить это, потому что есть еще много пунктов, чтобы прибыть.
Ответы:
Сначала создайте поля меток для X и Y позиции ваших меток в таблице точек.
Активируйте X и Y позиционирование в свойствах вашего слоя.
Создайте новый стиль «Выражение генератора» в своем стиле точек, установите для него тип линии, а затем используйте следующие формулы:
make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))
В качестве улучшения вы можете использовать различные поля (или использовать плагин для их создания), чтобы контролировать, где будет находиться точка выравнивания. Вы можете использовать поле вращения и поле вертикального и горизонтального выравнивания.
Линия переместится в соответствии с вашей позицией метки, поскольку ее точка прибытия связана с полем позиции метки.
Вы можете попробовать загрузить и установить плагин EasyCustomLabeling из раздела « Плагины» > « Управление и установка плагинов» , при этом создается дублированный слой памяти выбранного векторного слоя и он содержит те же атрибуты.
( Обратите внимание, что вам также потребуется загрузить и установить плагин Memory Layer Saver, чтобы правильно сохранить слой памяти, это описано в описании плагина ).
После создания слоя надписей вы можете поиграть с расположением надписей и стилем этого слоя, чтобы попытаться получить то, что вы ищете:
Надеюсь это поможет!
Что касается метода gisinside: первый шаг ручного добавления атрибутов x / y для меток может быть опущен; (может быть, начиная с QGIS3?) уже есть вспомогательная переменная для позиционирования меток. Переменные называются соответственно: "Additional_storage_labeling_positionx" и "Additional_storage_labeling_positiony".
Таким образом, на этапе Nr. 2 вы можете использовать это выражение для рисования линий:
make_line (make_point ($ x, $ y), make_point ("primary_storage_labeling_positionx", "Additional_storage_labeling_positiony"))
Однако обратите внимание, что вспомогательные переменные получают назначенное значение, только если вы касаетесь / перемещаете метки с помощью инструмента move-label-tool. Поэтому вы видите только строки для меток, которые были перемещены вручную.
Если вы используете PostGIS для ваших пространственных данных, этот пост https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / Александр Нето объясняет, как можно добавить ведущие линии к точкам в вашей базе данных.
Это хорошо написанное руководство, которое стоит прочитать, в нем также есть фильм, который показывает, как это работает.
Надеюсь это поможет.