Захист текстових міток від накладання інших маркерів у QGIS?


14

Чи є в QGIS спосіб запобігти перекриванню текстових міток значками, які використовуються для позначення точкового шару?

У наведеному нижче прикладі карти є два шари:

  1. Шлях доріг, який маркується за допомогою нового механізму маркування.
  2. Точковий шар, який використовує піктограми svg для показу екранів шосе.

У мене є інші випадки використання для цього, такі як запобігання перекриття значків залізничної станції. У цьому прикладі я міг би просто перемістити точку, однак, в інших випадках, таких як станція метро, ​​це не є прийнятним рішенням.

Можливе рішення, яке я розглядаю, включатиме:

  1. Додавання стовпця до файлу dbf точкового шару.
  2. Заповнення доданого стовпця або Null, або пробілом.
  3. Увімкнення мітки [новий стиль] QGIS для доданого стовпця.

Це шлях, чи є кращий метод?

Зразок карти

Інформація про QGIS: Я використовую версії 1.7.4 та нещодавно складену версію 1.8 на Mac OS 10.7.4. Для мене також доступні версії Linux та Windows.


Оновлення прогресу : описаний вище метод працює, хоча потрібні дві модифікації процесу.

  1. Замість того щоб використовувати символ пробілу або Null , A нерозривний пробіл повинен бути використаний. Під час тестування, який я знайшов, поля з Null не відображаються, а поля, які мають лише пробіл, перетворюються на Null . (Див. Цю сторінку Вікіпедії для отримання інформації про те, як ввести нерозривний пробіл .)
  2. Під час встановлення параметрів маркування шару на вкладці «Додатково» встановіть для місця розташування значення « Точка понад» . Також встановіть пріоритет таким, щоб він був вищим, ніж будь-які інші мічені шари.

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

Зразок карти 2

Тестовано з QGIS 1.7 та нещодавно зібраним 1.8 на Mac OS 10.7.4.


1
Ви також можете відповісти на власні запитання. Я хотів би проголосувати ваше рішення.
андарм

Ви можете робити конкатенацію, як і я: ось
jlSta

Відповіді:


8

Найкраще послідовне рішення, яке я маю поки що, - це те, що я виклав вище. Якщо припустимо, що використовується файл SHP, це такі дії:

  1. Відкрийте файл dbf або з додатком для електронних таблиць, таким як LibreOffice, Excel або плагіном QGIS Table Manager.
  2. Додайте стовпчик до таблиці. Якщо потрібен тип даних, використовуйте рядок.
  3. Заповніть клітинки нерозривним простором . Після завершення збережіть зміни. (Див. Цю сторінку Вікіпедії для отримання інформації про те, як ввести нерозривний пробіл.)
  4. Відкрийте параметри маркування шару для точкового шару. На вкладці «Додатково» встановіть для місця розташування значення «Точка перевищення» та встановіть «Пріоритет» таким, щоб він був вищим, ніж будь-які інші мічені шари.

2
У 2.14 вам навіть не потрібно додавати новий стовпець, просто поставте "" як мітку
raphael

3

Я знаю, що це старе, але ви можете додати стовпчик "Координат X" та "Координат Y" (подвійна точність) до таблиці, в якій зберігається ця інформація, а потім перейти на вкладку "Налаштування даних, визначених даними" в розділі Мітки у властивостях шару та змінити X координують і Y координують відповідно. Після цього ви можете перемістити мітку від руки, натиснувши кнопку переміщення мітки.


1

Я щойно опублікував ще одну відповідь на подібну проблему. Підхід використовує символи svg замість шарів та використовує дані, визначені за допомогою переопределення, щоб встановити шлях до різного символу svg для кожного значення атрибуту, cp. моя відповідь на Символи вище міток на карті QGIS


0

Можна експериментувати зі зміщенням етикетки.

Я вважаю, що дозволяє позиціонування етикетки бути більш динамічним, якщо я встановив його на 2 мм або близько того.


Ні, я цього не намагався зробити. Основна причина, по якій я не змінив розміщення етикетки, полягає в тому, що на інших ділянках карти (не на фото) дорожня мережа значно щільніше. У наведеному вище прикладі переміщення піктограми приблизно на 2 мм (у будь-якому напрямку) усуне проблему. Однак на інших частинах карти вона, ймовірно, підштовхне піктограму глибше до іншої мітки.
DMan

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