Jak tworzyć etykiety tekstowe z polami w tle?

13

Próbuję utworzyć niestandardowe etykiety dla obiektów punktowych w warstwie wektorów punktowych QGIS i chcę to zrobić, aby to zrobić. Potrzebujemy, aby nasze etykiety miały za sobą barwione prostokąty (albo inaczej!). Etykiety są długimi ciągami znaków i są tworzone przy użyciu wyrażeń i wyrażeń warunkowych silnika etykietowania.

Pomyślałem, że najłatwiejszym sposobem byłoby pozwolić użytkownikowi skonfigurować etykiety dla aktywnej warstwy tak, jak chcą, a następnie pozwolić mojej wtyczce na pobranie tekstu etykiety z funkcji na warstwie i użycie ciągów tekstowych do utworzenia pól. Mój problem polega na tym, że nie mogę znaleźć sposobu na uzyskanie dostępu do tych ciągów tekstowych w interfejsie API QGIS. W jaki sposób ciągi etykiet generowane przez silnik etykietowania są przechowywane w QGIS i jak mogę się do nich dostać?

MonsterMushroom
źródło
1
Przez etykiety rozumiesz etykiety poszczególnych obiektów punktowych?
RK
Tak. I chcę, aby było to zrobione na poziomie warstwy, a nie na poziomie kompozytora wydruku. Próbowałem automatycznie generować objaśnienia tekstowe, ponieważ nie zdawałem sobie sprawy, że były to funkcje kompozytora drukowania, a to było naprawdę brzydkie.
MonsterMushroom 27.12.12
1
Czy myślałeś o silnym kolorze bufora za tekstem? Zrobiłem to w jednej pracy. Na innym właśnie powiedziałem klientowi, że to nie jest opcja ... Wydaje się, że jest to wspólna prośba ....
Willy
1
Silny bufor kolorów to moje obecne rozwiązanie. Jednak klient miał skrzynki (za pomocą skryptu) w swojej implementacji ArcGIS i chce zobaczyć to samo w QGIS. (Staramy się zmieniać systemy). Moja obecna odpowiedź brzmi: nie jest to opcja, ale to nigdy nie jest fajna odpowiedź i naprawdę chciałbym wyciągnąć coś z kieszeni. Dodatkowo, pola wokół etykiet powinny być czymś, co możemy zrobić. To po prostu ma sens.
MonsterMushroom 30.12.12
Myślę, że odpowiedzią na to będzie to, że gdy etykiety zostaną wygenerowane przez silnik etykietowania i wyrenderowane na kanwie mapy, są zapisywane jako wektory svg, a nie jako ciągi, a zatem są nieodwracalne. Widziałem to na blogu, ale jeszcze nie byłem w stanie (miałem czas) potwierdzić, więc nie jest to oficjalna odpowiedź. (Dowiedziałem się również, że etykiety tarcz są opracowywane jako dodatek do długo oczekiwanego 2.0)
MonsterMushroom,

Odpowiedzi:

1

W QGIS 2.0 możesz tworzyć prostokąty tła, owale lub niestandardowe kształty SVG bez potrzeby używania wtyczki. Po prostu przejdź do Właściwości warstwy | Etykieta | Sekcja tła.

wprowadź opis zdjęcia tutaj

Jeśli chcesz coś zakodować. Może to być punkt wyjścia: http://doc.qgis.org/api/qgspallabeling_8cpp_source.html#l04333

podmrok
źródło
Śliczny! 2.0 będzie pięć rodzajów fajnych. Czekamy na to z zapartym tchem.
MonsterMushroom