piątek, 26 lutego 2016

Jak często powtarzają się nazwy miejscowości w Polsce

W pewnym hobbystycznym projekcie geokoduję nazwy miejscowości używając do tego celu usługi Google. Potencjalnym źródłem błędnych wyników mogą być miejscowości, które mają identyczne nazwy. Jaka jest skala zjawiska?

Według obwieszczenie Ministra Administracji i Cyfryzacji z dnia 4 sierpnia 2015 r. w wykazie urzędowych nazw miejscowości i ich części (Dziennik Ustaw 19 10. 2015 r., poz. 1636) znajduje się: 103086 nazw, w tym 915 nazw miast, 6710 nazw części miast, 43068 nazw wsi, 36263 nazwy części wsi, 5132 nazwy osad. Z czego wynika, że wsi + miast jest 43068 + 915 = 43,983 nazw. (Na podstawie KSNG/Urzędowe nazwy miejscowości)

Po ściągnięciu arkusza z powyższej strony, zamieniam go na format CSV używając jako separatora pola średnika (bo lubię). Następnie za pomocą poniższego skryptu agregują dane:

#!/usr/bin/perl
# zamiana listy nazw na listę:
#   nazwa;województwo;liczba-wystąpień-w-województwie
while (<>) { chomp();
  @tmp = split /;/, $_;
  if ($tmp[1] eq 'wieś' || $tmp[1] eq 'miasto' ) {
     $NW{"$tmp[4]"}{"$tmp[0]"}++;  }
}

for $w (sort keys %NW ) {
   for $m (sort { $NW{$w}{$b} <=> $NW{$w}{$a} } keys %{$NW{$w} }) {
      print "$m;$w;$NW{$w}{$m}\n";
    }
}

Teraz z kolei używając R grupuję dane w podziale na następujące cztery klasy: 1 wystąpienie, 2 wystąpienia 3--4 oraz 5 i więcej wystąpień. Rezultaty zestawiono w poniższej tabeli (kolumny 2--5 to liczebności a 6--10 udziały; przykładowo zapis [1,2) oznacza, że klasa zawiera 1 a nie zawiera 2):

Województwo        [1,2) [2,3) [3,5) [5,30) [1,2)  [2,3) [3,5) [5,30)
---------------------------------------------------------------------
dolnośląskie       2082   117   37    3     92,99  5,23  1,65  0,13 
kuj.-pomorskie     2257   183   52   10     90,20  7,30  2,10  0,40
lubelskie          2698   154   65   26     91,68  5,23  2,21  0,88 
lubuskie            965    57    5    0     93,96  5,55  0,49  0,00 
łódzkie            3276   275   99   45     88,70  7,40  2,70  1,20 
małopolskie        1594   105   21    4     92,46  6,09  1,22  0,23 
mazowieckie        5780   466  177   79     88,90  7,20  2,70  1,20 
opolskie            941    39    9    1     95,05  3,94  0,91  0,10 
podkarpackie       1429    49   17    2     95,46  3,27  1,14  0,13 
podlaskie          2852   136   42    9     93,80  4,50  1,40  0,30 
pomorskie          1579    58   13    2     95,58  3,51  0,79  0,12 
śląskie            1033    48    7    2     94,77  4,40  0,64  0,18 
świętokrzyskie     1844   111   51   12     91,38  5,50  2,53  0,59 
war.-mazurskie     2060   128   34    3     92,58  5,75  1,53  0,13 
wielkopolskie      3378   310   99   19     88,80  8,10  2,60  0,50 
zachodniopomorskie 1504   117   19    1     91,65  7,13  1,15  0,06

Lista najczęściej powtarzających się (więcej niż 4 powtórzenia) nazw w poszczególnych województwach:

dolnośląskie: Księginice (5) Nowy Dwór (5) Piotrowice (5)

kujawsko-pomorskie: Nowa Wieś (14) Dąbrówka (9) Nowy Dwór (8) Janowo (7) Zalesie (7) Ostrowo (6) Zakrzewo (6) Józefowo (6) Białe Błota (5) Brzeźno (5)

lubelskie: Marysin (9) Brzeziny (8) Zalesie (8) Dąbrowa (7) Stara Wieś (7) Władysławów (6) Antoniówka (6) Nowiny (6) Józefów (6) Ludwinów (6) Dębina (6) Natalin (5) Zastawie (5) Nowosiółki (5) Stanisławów (5) Ruda (5) Kąty (5) Michałówka (5) Janówka (5) Ostrów (5) Zabłocie (5) Huta (5) Wysokie (5) Nowa Wieś (5) Wojciechów (5) Siedliska (5)

mazowieckie: Nowa Wieś (28) Zalesie (23) Dąbrowa (21) Helenów (16) Władysławów (16) Józefów (15) Aleksandrów (15) Dąbrówka (14) Zawady (14) Stanisławów (13) Ruda (11) Marianów (11) Janów (11) Ludwików (10) Kamionka (10) Górki (10) Borki (9) Ostrówek (9) Lipiny (9) Grabina (9) Janówek (9) Marysin (8) Józefowo (8) Stara Wieś (8) Majdan (8) Łazy (8) Michałów (8) Wygoda (7) Bronisławów (7) Julianów (7) Sewerynów (7) Adamowo (7) Grądy (7) Trzcianka (7) Osiny (7) Adamów (7) Kąty (7) Emilianów (6) Żuków (6) Wymysłów (6) Pieńki (6) Lipniki (6) Grabowo (6) Franciszków (6) Mościska (6) Dębówka (6) Mała Wieś (6) Natolin (6) Piaski (6) Anielin (6) Bieliny (6) Lipa (6) Wincentów (6) Kazimierzów (6) Pogorzel (5) Aleksandrówka (5) Józefin (5) Laski (5) Huta (5) Kałęczyn (5) Łaziska (5) Marianka (5) Pawłowice (5) Karolew (5) Osiek (5) Zakrzew (5) Zamość (5) Chmielewo (5) Ostrów (5) Rososz (5) Białobrzegi (5) Romanów (5) Pawłowo (5) Wyczółki (5) Kozłów (5) Podgórze (5) Dąbrówki (5) Ignaców (5) Jakubów (5)

małopolskie: Przybysławice (6) Zawadka (5) Siedliska (5) Biskupice (5)

opolskie: Jakubowice (5)

podkarpackie: Nowa Wieś (7) Zalesie (5)

podlaskie: Zalesie (9) Olszanka (8) Ogrodniki (8) Wólka (7) Janowo (5) Rybaki (5) Nowinka (5) Nowosady (5) Jałówka (5)

pomorskie: Dąbrówka (8) Ostrowite (5)

warmińsko-mazurskie: Zalesie (7) Nowa Wieś (5) Olszewo (5)

wielkopolskie: Dąbrowa (15) Nowa Wieś (13) Bielawy (9) Zalesie (8) Biskupice (7) Zakrzewo (7) Marianowo (6) Józefowo (6) Józefów (6) Ruda (5) Zawady (5) Piaski (5) Brzezie (5) Chrustowo (5) Góra (5) Drzewce (5) Kamień (5) Nowy Dwór (5) Kamionka (5)

zachodniopomorskie: Grabowo (5)

łódzkie: Józefów (20) Dąbrowa (17) Janów (17) Dąbrówka (14) Stanisławów (14) Nowa Wieś (11) Zalesie (11) Piaski (11) Adamów (11) Zawady (10) Marianów (10) Ostrów (9) Władysławów (9) Stefanów (9) Helenów (8) Dębina (8) Aleksandrów (8) Julianów (7) Bronisławów (7) Marianka (7) Borki (7) Stara Wieś (7) Brzeziny (7) Gaj (7) Michałów (7) Ludwików (6) Witów (6) Wygoda (6) Kazimierzów (6) Kuźnica (6) Anielin (6) Karolew (6) Ruda (6) Antoniew (5) Jeziorko (5) Konstantynów (5) Zakrzew (5) Emilianów (5) Osiny (5) Poręby (5) Feliksów (5) Borowa (5) Zagórze (5) Teodorów (5) Wymysłów (5)

śląskie: Zawada (6) Nowa Wieś (6)

świętokrzyskie: Wolica (9) Wymysłów (8) Podlesie (8) Hucisko (6) Zagórze (5) Nowa Wieś (5) Brzeście (5) Zakrzów (5) Janów (5) Bugaj (5) Ludwinów (5) Górki (5)

W skali całego kraju jest 5080 miejscowości, których nazwa nie jest unikatowa, w tym, w przypadku 868 miejscowości nazwy powtarzają się 5 i więcej razy. Pierwsza dziesiątka wygląda następująco: Nowa Wieś (113 powtórzeń), Dąbrowa (92), Zalesie (86), Dąbrówka (65), Józefów (49), Kamionka (41), Ruda (39), Janów (39), Zawady (39) Stanisławów (38).

W pierwszym akapicie napisałem, że problem może być potencjalny ponieważ wydaje się, że geokoder Google działa całkiem sprytnie. Przykładowo

Nowa Wieś
 -> 07-416 Nowa Wieś (powiat oświęcim)
Nowa Wieś, ul. Dworcowa
 -> 64-234 Nowa Wieś (Powiat wolsztyński)

Po wpisaniu po prostu Nowa Wieś geocoder, z jakiś powodów, decyduje się na Nową Wieś w powiecie oświęcimskim, ale już podanie dodatkowo ul. Dworcowa zmienia wynik na Nową Wieś w powiecie wolsztyńskim; faktycznie w tej wsi jest ul. Dworcowa (pytanie czy tylko w tej). Można uściślić o co nam chodzi podając też:

Nowa Wieś, powiat wolsztyński
Nowa Wieś, województwo wielkopolskie

Podanie powiatu powinno rozwiązać problem duplikatów, zaś drugi sposób wydaje jednak mniej pewny biorąc pod uwagę liczbę powtórzeń nazw na poziomie województwa...

Skrypty i dane są tutaj.

Brak komentarzy:

Prześlij komentarz