Чи можливо написати вираз мітки в qgis, який відображає мітку за заданою координатою?


15

Я використовую конструктор виразів QGIS для властивостей міток моїх даних.

Чи можна на карті розміщувати різні частини етикетки в різних координатах?

Наприклад, у мене є рядок рядків, і я хотів би, щоб "A" відображалося на початку рядка, а "B" - в кінці.

Відповіді:


22

Одним із методів є використання маркування на основі правил та додавання двох правил для "A" та "B".

  1. Перейдіть Layer Properties > Labelsта змініть параметр No labelsна Rule-based labelling. Потім додайте правило, натиснувши на значок зелений плюс:

    Маркування на основі правил

  2. Встановіть відповідні параметри, як показано на зразок Label with(використовувати щось 'A') таCoordinate X Y . Для координати x натисніть Edit...та використовуйте, $x_at(0)щоб розмістити мітку на початку рядка; для координати y, використовуйте $y_at(0).

    Варіанти правила

  3. Повторіть крок 2 для «B» , але і для XY-координат, використання $x_at(-1)і , $y_at(-1)відповідно , для кінця LineString.

  4. Коли ви натискаєте Застосувати , сподіваємось, ви побачите щось подібне:

    Лінії з етикетками


1
Дякуємо, що поділилися своїм рішенням! Я ознайомлюсь детальніше. Я зовсім новий в QGIS, і крива навчання все ще на початку.
benoitespinola

@benoitespinola - Вибачте за невідповідь (я зазвичай відповідаю на коментарі)! Ласкаво просимо, і я впевнений, що ви дуже швидко звикнете до QGIS :)
Йосип

11

Існує альтернативний спосіб зробити це, використовуючи символіку, а не маркування, яке може працювати для вас:

- Якщо ви хочете різного тексту для різних функцій, тоді додайте до своїх даних два поля, одне для кінця тексту та одне для початку тексту. Це не обов'язково, якщо ви хочете просто "A" та "B" в кінці рядків.

  • Символізуйте ваш рівень рядка, а потім додайте новий шар символу -> встановіть це на лінію маркера на першій вершині
  • Встановіть тип символу на маркері шрифту
  • Або встановіть маркер на "A" або встановіть значення, щоб воно відповідало стартовому полі з таблиці атрибутів шарів
  • Побіжно з розміром і обертанням тощо, як би ти стандартний маркер.

Повторіть, щоб додати кінець 'label'.

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


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