Як створити текстові мітки з фоновими полями?


13

Я намагаюся створити деякі власні мітки для особливостей точок у точковому шарі QGIS, і я хочу написати плагін python, щоб це зробити. Нам потрібні наші етикетки з кольоровими тонованими прямокутниками за ними (або ще!). Мітки є довгими рядками і створюються з використанням маркування виразів двигуна та умовних умов.

Я подумав, що найпростішим способом буде дозволити користувачеві встановлювати мітки для активного шару так, як вони хочуть, а потім дозволити моєму плагіну схопити текст мітки з функцій у шарі та використовувати текстові рядки для створення полів. Моя проблема полягає в тому, що я не можу знайти спосіб отримати доступ до цих текстових рядків в API QGIS. Як рядки міток, породжені двигуном маркування, зберігаються в QGIS і як я можу дістатись до них?


1
Під мітками ви маєте на увазі мітки для окремих точкових ознак?
РК

Так. І я хочу, щоб це було зроблено на рівні шару, а не на рівні композитора друку. Я спробував автоматично генерувати текстові скриньки, оскільки я не розумів, що вони друкують функції композитора, і це було справді некрасиво.
MonsterMushroom

1
Ви думали про сильний колір буфера за текстом? Я робив це на одній роботі. Щодо іншого, я щойно сказав клієнту, що це не варіант .... Здається, звичайний запит ....
Віллі,

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

Я думаю, що відповідь на це буде в тому, що після того, як мітки генеруються двигуном маркування та передаються на карту карти, вони зберігаються як svg вектори, а не як рядки і, таким чином, є безповоротними. Я це бачив у своєму блозі, але ще не зміг (встиг) підтвердити це, так що це не офіційна відповідь. (Також я дізнався, що над етикетками на екрані працює
надбавка

Відповіді:


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.