Państwowy Rejestr Granic: Punkty adresowe
Autor: Piotr Karpiuk o 29. marca 2016
Centralny Ośrodek Dokumentacji Geodezyjnej i Kartograficznej (CODGiK) w dziale Dane bez opłat udostępnia za darmo bazę punktów adresowych, dość często aktualizowaną (nawet co kilka dni).
Najważniejsza jest w niej tabela PunktAdresowy
(przeszło 7 mln rekordów), o następującej strukturze (wymieniłem najciekawsze kolumny):
PunktAdresowy | |
---|---|
wojewodztwo |
|
powiat |
|
gmina |
|
miejscowosc |
|
ulica |
|
numerPorzadkowy |
numer budynku |
kodPocztowy |
wypełniony w ok. 75% rekordów |
status |
wartości: istniejacy (97,64%), prognozowany (1,9%), wTrakcieBudowy (0,46%) |
gps |
współrzędne punktu na mapie (w układzie EPSG:2180) |
W bazie jednak jest więcej. Każdy punkt adresowy zawiera dowiązania do rekordów w tabelach JednostkaAdministracyjna
(kraj/województwo/powiat/gmina), Miejscowosc
oraz Ulica
. Struktura tych tabel jest następująca (pola wypełnione są w 100% chyba że napisano inaczej):
JednostkaAdministracyjna | |
---|---|
nazwa |
|
idTERYT |
kod TERC |
poziom |
1 : państwo, 2 : województwo, 3 : powiat, 4 : gmina |
Miejscowosc | |
nazwa |
|
idTERYT |
kod SIMC |
gps |
współrzędne punktu na mapie, wypełnione w ok. 11% rekordów |
Ulica | |
idTERYT |
kod ULIC |
przedrostek1Czesc |
np. "pl.", "al." |
przedrostek2Czesc |
np. "ks." |
nazwaCzesc |
np. "Jerzego" |
nazwaGlownaCzesc |
np. "Popiełuszki" |
posList |
lista punktów GPS wyznaczających przebieg ulicy na mapie; wypełnione w ok. 6% |
Ujęty w rekordach tabel JednostkaAdministracyjna
i Miejscowosc
podział administracyjny kraju możemy sobie wyobrazić jako drzewo (w korzeniu będzie rekord POLSKA, potem województwa, powiaty, gminy i miejscowości). Ten model nie rozciąga się jednak na ulice. Każda ulica w kraju jest reprezentowana w tabeli Ulica
jako jeden obiekt. Jedna ulica może przebiegać przez kilka miejscowości (sąsiadujących ze sobą). Punkt adresowy oczywiście ma dowiązanie do jednej miejscowości i (zwykle) do jednej ulicy (na wsiach adres pocztowy często zawiera tylko nazwę miejscowości i numer domu).
Przetwarzanie bazy
Do pobrania ze strony CODGiK jest duży (ok. 700 MB), spakowany plik punkty_adr.zip
zawierający 16 plików XML (dokładniej: GML) po jednym dla każdego województwa, po rozpakowaniu ok. 16 GB. Format XML dobrze się nadaje do udostępniania zbioru danych innym, ale gdyby ktoś chciał zaimportować dane do relacyjnej bazy danych, to może skorzystać z efektów mojej pracy. Napisałem program w Javie, który konwertuje pliki XML do jednego pliku bazy danych SQLite o objętości ok. 3 GB.
Program wywołujemy poleceniem
./run.sh KATALOG
Gdzie KATALOG
to nazwa katalogu, w którym rozpakowaliśmy pliki XML. Wynik po kilkunastu minutach pojawia się w pliku PRG.db
, który możemy eksplorować za pomocą standardowego klienta SQLite:
sqlite3 PRG.db
Tags: TERYT2
Napisany w Bazy danych, Uncategorized | 1 Komentarz »