Skip to content

praszuk/osm-emapa-addresses-diff

Repository files navigation

osm-emapa-address-diff

Read in English.

Narzędzie do porównywania adresów w OpenStreetMap i wybranej e-mapy. Umożliwia prostą analizę danych i wykrycie niezgodności w adresacji.

Funkcjonalności

  • 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).

Użycie

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

Licencja

MIT

About

Analyze address difference between OSM and E-mapa.

Topics

Resources

License

Stars

Watchers

Forks