Narzędzie do porównywania adresów w OpenStreetMap i wybranej e-mapy. Umożliwia prostą analizę danych i wykrycie niezgodności w adresacji.
- Pobieranie aktualnych danych z e-mapy/OpenStreetMap.
- Dopasowywanie nazw ulic z e-mapy do nazw z OSM (plik z gugik2osm oraz sprawdzanie alternatywnych tagów z nazwami z obiektów ulic).
- Zliczanie typu obiektów z danych OSM.
- Użycie poszczególnych tagów adresowych w danych OSM (pozwala śledzić braki danych kluczy i wartości).
- Wykrywanie duplikatów adresów.
- Wykrywanie brakujących adresów w OpenStreetMap (w tym błędnych) względem e-mapy.
- Wykrywanie nadmiarowych adresów w OpenStreetMap (w tym błędnych), które nie istnieją w e-mapie.
- Zapis wykrytych niezgodności adresowych do plików (.geojson oraz .txt).
Narzędzie wymaga zainstalowanego Pythona3 z zależniościami z requirements.txt
pip install -r requirements.txt
Aby uruchomić program należy wpisać polecenie poniżej, gdzie <teryt_terc> należy zastąpić odpowiednim 7 znakowym identyfikatorem danej gminy. Można go znaleźć w relacji granic administracyjnych w OpenStreetMap pod tagiem teryr:terc albo np. tutaj.
python main.py <teryt_terc>
Program może zakończyć się błędem chwilę po uruchomieniu, jeśli okaże się, że wybrana gmina nie korzysta z e-mapy. Narzędzie korzysta z publicznej listy danych adresowych od GUGiK.
Jeśli sprawdzenie terytu_terc się powiedzie i dane OSM zostaną pobrane, aplikacja wyświetli tekstowy raport z analizy adresów oraz utworzy 4 pliki w katalogu out/<teryt_terc>/:
- emapa_addresses_all.geojson – zawiera wszystkie adresy z e-mapy przetworzone do formatu OSM.
- emapa_addresses_raw.gml – dane nieprzetworzone w formacie GML pobrane od e-mapy.
- emapa_addresses_missing.geojson – zawiera brakujące adresy z e-mapy przetworzone do formatu OSM.
- osm_addresses_excess.txt – zawiera listę identyfikatorów obiektów OSM w formacie [n,w,r]<id obiektu> (np. w123), rozdzieloną przecinkami, którą można wczytać w JOSM korzystając z funkcjonalności "Pobierz obiekt" (CTRL + SHIT + O).
- osm_addresses_duplicates.txt – zawiera listę identyfikatorów obiektów OSM w takim samym formacie jak adresy nadmiarowe, ale na każdą linię pliku przypada 1 adres.
Inne opcje uruchomieniowe można wyświetlić wpisując:
python main.py -h