Как создать текстовые метки с фоновыми полями?


13

Я пытаюсь создать несколько пользовательских меток для точечных объектов в слое точечных векторов QGIS, и я хочу написать для этого плагин Python. Нам нужно, чтобы наши метки были представлены с цветными тонированными прямоугольниками позади них (или иначе!). Метки являются длинными строками и создаются с использованием выражений и условных обозначений механизма маркировки.

Я подумал, что самый простой способ - позволить пользователям настраивать метки для активного слоя так, как они хотят, а затем позволить моему плагину получать текст метки из объектов слоя и использовать текстовые строки для создания блоков. Моя проблема в том, что я не могу найти способ доступа к этим текстовым строкам в QGIS API. Как строки меток, генерируемые механизмом меток, хранятся в QGIS и как я могу получить к ним?


1
Под метками вы подразумеваете метки для отдельных точечных объектов?
РК

Да. И я хочу, чтобы это было сделано на уровне слоя, а не на уровне композитора печати. Я попытался автоматически сгенерировать текстовые выноски, потому что я не осознавал, что это были функции композитора печати, и это было ужасно.
MonsterMushroom

1
Вы думали о сильном буферном цвете позади текста? Я сделал это на одной работе. По другому я просто сказал клиенту, что это не вариант .... Кажется, это общая просьба ....
Вилли

1
Сильный цветной буфер - мое текущее решение. Однако у клиента были поля (использующие сценарий) в их реализации ArcGIS, и они хотят видеть то же самое в QGIS. (Мы пытаемся изменить системы.) Мой текущий ответ таков: это не вариант, но это никогда не забавный ответ, и мне бы очень хотелось вытащить что-нибудь из своего кармана. Плюс, коробки вокруг ярлыков должны быть чем-то, что мы можем сделать. Это просто имеет смысл.
MonsterMushroom

Я думаю, что ответом на это будет то, что после того, как метки будут сгенерированы механизмом надписей и визуализированы на холст карты, они будут сохранены как векторы svg, а не как строки и, следовательно, не будут восстановлены. Я видел это в блоге, но я еще не смог (не успел) подтвердить это, так что это не официальный ответ. (Кроме того, я узнал, что над щитами работают над надстройкой для долгожданного 2.0)
MonsterMushroom

Ответы:


1

В QGIS 2.0 вы можете создавать фоновые прямоугольники, овалы или пользовательские формы SVG без необходимости в плагине. Просто зайдите в Свойства слоя | Этикетка | Фоновый раздел.

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

Если вы хотите что-то кодировать. Это может быть отправной точкой: http://doc.qgis.org/api/qgspallabeling_8cpp_source.html#l04333


Прекрасный! 2.0 будет пять видов круто. Мы ждем этого затаив дыхание.
MonsterMushroom
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.