Як я можу з'єднати мітку та точку лінією / стрілкою?


12

Чи можливо якось у QGIS з'єднати мітки та точки за допомогою лінії / стрілки чи щось таке? На моїй карті незрозуміло, яка мітка йде з її точкою. Я не можу наблизити це, бо ще багато пунктів.введіть тут опис зображення


xof рішення працює для мене. Але я хотів би знати, чи можливо, щоб у моєму списку фігур була коротка легенда ... не так, як цей приклад нижче, з уже короткою міткою ... ! [Мій тест ] ( i.stack.imgur.com/8VWoN .png ) Дякую!
MathieuG

Відповіді:


7
  • Спочатку створіть поля маркування для позицій X та Y міток у вашій точковій таблиці.

  • Активуйте позиціонування X і Y у властивостях вашого шару.

перекрити

  • Створіть новий стиль "Вираз генератора" у вашому стилі точки, встановіть його на тип рядка та використовуйте наступні формули:

    make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))

Як доповнення, ви можете використовувати різні поля (або використовувати плагін, щоб створити їх усі), щоб контролювати, де буде точка вирівнювання. Ви можете використовувати поле обертання та поле вертикального та горизонтального відчуження.

стайлінг

Рядок переміститься відповідно до позиції вашої мітки, оскільки точка її приходу пов'язана з полем позиції мітки.


5

Ви можете спробувати завантажити та встановити плагін EasyCustomLabeling з плагінів > Керування та встановлення плагінів. Це створює дублюваний шар пам'яті вибраного векторного шару та містить ті самі атрибути.

( Зверніть увагу, що вам також потрібно буде завантажити та встановити плагін Memory Layer Saver, щоб правильно зберегти шар пам'яті, це описано в описі плагіна ).

Після створення шару мітки ви можете грати з розташуванням мітки та стилем цього шару, щоб спробувати отримати те, що шукаєте:

Підключати

Налаштування шару мітки

Етикетковий шар

Сподіваюся, це допомагає!


дякую @ Йосифе. Чи правильно, що я можу обрати лише один атрибут за допомогою цього плагіна? (btw: це теж має бути нове запитання?)
kevkev

Ні! Не, якщо це просто так / ні питання =). Але ви правильні, лише один атрибут на кожен шар, тож ви можете зробити кілька шарів міток, якщо бажаєте.
Йосип

Насправді це можливо. Після створення шару мітки можна змінити атрибути там: D
kevkev

@KevinSuhr - Блискуче! Дякую, я щось дізнався =)
Джозеф

1
З поста @underdark; Поширеним випадком використання є бажання відобразити кілька значень атрибутів у мітці функції. Використовуючи калькулятор поля, ви можете об'єднати їх у багаторядкові мітки. Все, що вам потрібно, це поєднати поля з || оператора та додайте '\ n' (новий рядок), де б не було розриву рядка: Field1 || '\ n' || Field2
Lee

4

Щодо методу за допомогою gisinside: перший крок ручного додавання атрибутів x / y для міток можна опустити; (можливо, з QGIS3?) є вже допоміжна змінна для розміщення міток. Змінні ar називали відповідно: "auxiliary_storage_labeling_positionx" і "auxiliary_storage_labeling_positiony".

Отже, на етапі Nr. 2 Ви можете використовувати цей вираз для малювання ліній:

make_line (make_point ($ x, $ y), make_point ("auxiliary_storage_labeling_positionx", "auxiliary_storage_labeling_positiony"))

Однак зауважте, що допоміжні змінні отримують призначене значення лише в тому випадку, якщо ви торкаєтесь / переміщуєте мітки інструментом move-label-tool. Тому ви бачите лише рядки для міток, які переміщалися вручну.


2

Якщо ви використовуєте PostGIS для своїх просторових даних, це повідомлення https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / від Олександра Neto пояснює, як провідні рядки можуть бути додані до точок у вашій базі даних.

Його добре написаний підручник, який варто прочитати, у його публікації також є фільм, який показує, як він працює.

Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.