Cześć! Przy pracy z nazwami miejscowości zapisanymi cyrylicą brakowało mi w QGISie prostej funkcji do ich roboczej transliteracji na alfabet łaciński, i tak narodziła się funkcja cyr2lat().
Pozwala ona transliterować tekst bezpośrednio w wyrażeniach QGIS, np. w Kalkulatorze pól, etykietowaniu czy stylach.
cyr2lat("name")
Przykładowo:
Смоленск → Smolensk
Витебск → Witebsk
Полоцк → Polock
Орша → Orsza
Шклов → Szklow
Юркино → Jurkino
Ельня → Jelnia
Чериков → Czerikow
Funkcja obsługuje przede wszystkim rosyjski, białoruski, ukraiński, bułgarski, serbski, macedoński, część dodatkowych liter cyrylickich używanych w innych językach i starszą ortografię rosyjską, m.in. ѣ, ѳ, ѵ i końcowe ъ. Nie jest to implementacja jednej konkretnej normy transliteracji, założeniem było przede wszystkim uzyskanie zapisu łatwego do odczytania przez polskiego użytkownika i przydatnego w codziennej pracy z danymi.
Funkcja automatycznie rozpoznawaje język jeżeli zapis zawiera charakterystyczne litery, inaczej zakłada rosyjski. Język można wskazać ręcznie przez cyr2lat_lang():
cyr2lat_lang("name", 'ru')
cyr2lat_lang("name", 'be')
cyr2lat_lang("name", 'uk')
Jak użyć?
Kod należy wkleić w:
Kalkulator pól → Edytor funkcji → Nowy plik
Po zapisaniu i wczytaniu funkcji cyr2lat() i cyr2lat_lang() są dostępne w wyrażeniach QGIS ![]()
Repo na GitHubie:
Chętnie przyjmę informację zwrotną ![]()