Есть ли в QGIS способ предотвратить перекрытие текстовых меток значками, используемыми для маркировки точечного слоя?
В приведенном ниже примере карты есть два слоя:
- Слой дорог, который маркируется с использованием нового механизма маркировки.
- Точечный слой, который использует иконки SVG для отображения щитов шоссе.
У меня есть другие варианты использования для этого, такие как предотвращение перекрытия значков железнодорожных станций. В этом примере я мог бы просто переместить точку, однако в других случаях, таких как станция метро, это нереализуемое решение.
Возможное решение, которое я рассматриваю, будет включать:
- Добавление столбца в файл dbf точечного слоя.
- Заполнение добавленного столбца пустым или пробелом.
- Включение надписи [новый стиль] QGIS для добавленного столбца.
Это путь или есть лучший метод?
Информация QGIS: Я использую версии 1.7.4 и недавно скомпилированную версию 1.8 в Mac OS 10.7.4. Версии для Linux и Windows также доступны для меня.
Обновление прогресса : метод, который я описал выше, работает, хотя требуется две модификации процесса.
- Вместо использования пробела или пустого значения необходимо использовать неразрывный пробел . Во время тестирования я обнаружил, что поля с нулевым значением не отображаются, а поля, содержащие только пробелы, преобразуются в нулевое значение . (См. Эту страницу Википедии для получения информации о том, как печатать неразрывный пробел .)
- При установке слоя Этикетировочных Настроек, на вкладке Дополнительно установите Размещение в Over - Пойнт . Также установите приоритет так , чтобы он был выше, чем у любых других помеченных слоев.
В зависимости от размера используемой иконки, некоторые эксперименты могут потребоваться, чтобы все заработало как положено. В зависимости от обстоятельств может быть проще использовать несколько символов, чем пытаться увеличить вес и / или размер шрифта.
Протестировано с QGIS 1.7 и недавно скомпилированной версией 1.8 на Mac OS 10.7.4.
Ответы:
Лучшее последовательное решение, которое у меня есть до сих пор, соответствует тому, что я изложил выше. Предполагая, что файл SHP используется, шаги:
источник
Я знаю, что это старый файл, но вы можете добавить столбцы «Координата X» и «Координата Y» (двойная точность) в таблицу, содержащую эту информацию, а затем перейти на вкладку «Параметры, определенные в данных» в разделе Метки в свойствах слоя и изменить Координата X и Y координата соответственно. Сделав это, вы можете переместить метку от руки, используя кнопку перемещения метки.
источник
Я только что отправил другой ответ на подобную проблему. Подход использует символы svg вместо слоев и использует данные, определенные переопределением, чтобы установить путь к отдельному символу svg для каждого значения атрибута, cp. мой ответ на символы над метками на карте QGIS
источник
Вы можете поэкспериментировать со смещением метки.
Я считаю, что это позволяет позиционировать этикетки более динамично, если я установлю их на 2 мм или около того.
источник