Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

TERYT, kody pocztowe i lokalizacje GPS

Autor: Piotr Karpiuk o środa 3. Sierpień 2011


Formatka do przeglądania i przeszukiwania bazy TERYTu z kodami pocztowymi i współrzędnymi GPS
Kliknij obrazek aby otworzyć formatkę
(Google Chrome, Safari lub Firefox).

TERYT (Krajowy Rejestr Urzędowy Podziału Terytorialnego Kraju) to baza danych prowadzona przez GUS. Patrząc na to okiem informatyka, możemy mówić o drzewie, w którym na kolejnych poziomach są województwa, powiaty, gminy, miejscowości, ulice, budynki i mieszkania.
Informacje obejmują unikalny identyfikator, nazwę, datę ostatniej modyfikacji, dodatkowo rodzaj (np. dla gminy miejska/wiejska/dzielnica itd., dla miejscowości: miasto/wieś/kolonia/przysiółek/tartak itd.).
Nazwy ulic podzielono na 3 pola: cecha, nazwa_1 i nazwa_2, dzięki czemu są łatwiejsze w automatycznej obróbce, np. pl. hetmana Stefana Czarneckiego będzie miał zapis „pl., Czarneckiego, hetmana Stefana”.

Baza TERYT dzieli się na części:

Zakres podstawowy (jawny, publicznie dostępne pliki do pobrania w XMLu):

  • TERC (ok. 4.000 rekordów) – identyfikatory i nazwy jednostek podziału terytorialnego (województwa, powiaty i gminy),
  • SIMC (ok. 103.000 rekordów) – identyfikatory i nazwy miejscowości,
  • ULIC (ok. 237.000 rekordów) – centralny katalog ulic.

Zakres rozszerzony (dostęp płatny, trzeba złożyć zamówienie):

  • BREC – rejony statystyczne i obwody spisowe,
  • NOBC – identyfikacja adresowa ulic, nieruchomości, budynków i mieszkań.

GUS udostępnia również bazę TERYT-ADR, czyli „uproszczoną wersję krajowego rejestru urzędowego, służącą do kodowania adresów” (więcej na temat różnic).

Czego w TERYTcie nie ma, a co by się przydało? Na pewno współrzędne GPS do pokazania obiektu na mapie i integracja z kodami pocztowymi. Udało mi się to osiągnąć, a dodatkowo zrobiłem formatkę (patrz rysunek obok, kliknij bo aby się pobawić), która pozwala taką bazę przeglądać (w drzewku), przeszukiwać (podajemy kawałek adresu, np. „Kwiatowa, Poznań” lub kod pocztowy) i oglądać lokalizacje obiektów na mapie (Google Maps, ale mogłoby to równie dobrze być np. OpenStreetMap).

Kody pocztowe

Za niewielką kwotę ok. 30zł możemy w Poczcie Polskiej zamówić listę kodów pocztowych w formacie XLS lub PDF (plik PDF jest też dostępny za darmo na stronie Poczty Polskiej, ale zabezpieczony przed obróbką).

Interesująca baza to tabelka ok. 115.000 rekordów z kolumnami: Kod pocztowy, Miejscowość, Ulica, Numery, Gmina, Powiat, Województwo. Zauważ że jeden kod pocztowy może być przyporządkowany do wielu ulic a nawet miejscowości (tak jest zwłaszcza w przypadku mniejszych miejscowości), ale też na jednej ulicy może być kilka kodów pocztowych (długie ulice w dużych miastach).

Poczta twierdzi, że jej baza jest zgodna z TERYTem, ale jest to tylko częściowa prawda: jest zgodna, ale tylko do poziomu miejscowości (tzn. każda miejscowość w bazie Poczty da się odnaleźć w TERYTcie). Problemem – i to sporym – są ulice.

Zarówno GUS, jak i Poczta tworzą bazy pod swoje potrzeby i mając na uwadze swoje żywotne interesy. I tak ulica Kolektorska jest przecięta trasą toruńską, która wyznacza granicę dwóch dzielnic Warszawy: Żoliborza i Bielan. W TERYTcie mamy więc odcinki tej ulicy w dwóch miejscach w drzewie. Poczta podeszła do sprawy inaczej: ponieważ odcinek na Żoliborzu jest króciutki, więc w bazie Poczty jest jeden rekord a ulica należy do Bielan. Różnice dotyczą też błędów w pisowni, np. literówki.

Nazwy ulic w Polsce to w ogóle temat rzeka. Myli się wielce ten komu się wydaje że istnieje coś takiego jak kanoniczna nazwa ulicy dla danego patrona. Nazwa nie jest ustalana na poziomie administracji centralnej, lecz lokalnie, więc w grę wchodzą regionalizmy i historia, kwestia różnych tłumaczeń z języka obcego itp. Dość powiedzieć, że nasza rodaczka Maria Curie-Skłodowska w swoich listach podpisywała się raz jako „Maria Skłodowska-Curie” a innym razem „Maria Curie-Skłodowska” – dowodów osobistych w tamtych czasach nie było więc niektóre miejscowości Polski przyjmują notację pierwszą (np. Chełm, Tychy), a inne drugą (np. Zielona Góra, Sopot). Stefana Czarneckiego czy Czarnieckiego? Dość częste są przypadki gdy w TERYTcie dana ulica ma nieco zmienioną nazwę względem tego co widnieje w bazie poczty (np. Gwiaździsta i Gwieździsta), co znakomicie utrudnia automatyczne dopasowanie. Algorytmy w rodzaju usuwania polskich liter mogą łatwo błędnie skojarzyć ulicę Łąkową (od łąki) z Lakową (od laku), a wykorzystanie miary odległości edycyjnej Levenshteina (miara mówi ile znaków trzeba dodać, usunąć, przestawić aby jedną nazwę przekształcić w drugą) może utożsamić ulicę św. Marka z Karola Marksa – między słowami „Marka” i „Marksa” jest raptem jedna literka różnicy, pozostałe słowa tych nazw ulic są mało znaczące. I tak dalej…

Ostatnie uwagi

Mówi się już o systemie Teryt-2: „Zintegrowane informacje pochodzące z wielu rejestrów publicznych zostaną wzbogacone o zasięg przestrzenny i lokalizację adresową – dodatkowo zostanie opracowana oraz udostępniona aplikacja komputerowa umożliwiająca prowadzenie w systemie teleinformatycznym ewidencji miejscowości, ulic oraz adresów.”

Google najwyraźniej przymierza się do gromadzenia informacji o kodach pocztowych i udostępniania tej informacji przez swoje API. Póki co przyporządkowuje kody pocztowe do miejscowości, co dla małych miejscowości w zupełności wystarczy.

Patrz także

Państwowy Rejestr Granic: Punkty adresowe
Rejestry państwowego zasobu geodezyjnego i kartograficznego

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

5 Komentarzy do “TERYT, kody pocztowe i lokalizacje GPS”

  1. Kody pocztowe napisał(a):

    Dzięki za artykuł – ostatnio zacząłem interesować się też kodami pocztowymi i te informacje na pewno się przydadzą 😉

  2. Tofas napisał(a):

    Chcesz powiedzieć, że gdzieś w Polsce jest jeszcze ulica Karola Marksa?!

  3. Piotr Karpiuk napisał(a):

    @Tofas: Tak, np. Gliwice, Bartoszyce, Bielawa, Wodzisław Śląski. Gdzieniegdzie uchowały się nawet jeszcze mniej poprawne politycznie nazwy. W Google Maps w polu wyszukiwania skorzystaj z funkcji autouzupełniania, np. zacznij pisać „Karola Marksa” – zobaczysz gdzie w Polsce jest dana ulica.

  4. Michał napisał(a):

    Mam takie pytanie, gdzie się zgłosić jeśli znaleziono błąd, mianowicie źle przypisany kod pocztowy do adresu ?

  5. Marcin napisał(a):

    Piotr, ciekawy wpis zawierający informacje odnośnie baz adresowych oraz ich źródeł.
    Zainteresowała mnie jednak twoja formatka uwzględniająca kody pocztowe w GUS. Niestety nie mogę uruchomić z poziomu artykułu. Czy projekt jest nadal wspierany ?

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>