Kody pocztowe w OSM

to jest właśnie kwestia otwarta - jak wspomniałem plik jest bez atrybucji. Czy jeżeli dane wezmę z www.mojepanstwo.pl to będzie to opcja bardziej “koszerna”? :slight_smile:

Teoretycznie tak…

mogę tak zrobić, to nie problem :slight_smile:

Nie wiem na ile to jest możliwe, ale przydałaby się wizualizacja miejscowości (place=village) z nie-unikalną nazwą i brakującym addr:postcode. Ostatecznie nie musi być wizualizacja - wystarczy sama lista identyfikatorów węzłów - załadowałbym sobie do JOSM i powoli dodawał.
Jest to do zrobienia? Ktoś czuje się na siłach?

Oczywiście najłatwiej byłoby wyciągnąć wszystkie miejscowości bez addr:postcode=, ale tego jest za dużo, by poprawić w krótkim czasie. Dlatego właśnie chciałbym zacząć od tych miejscowości, które mają niejednoznaczną nazwę

Jeśli ktoś ma ochotę ogarnąć swoje okolice, kolega eBin przygotował warstwę do podpięcia w JOSM:

tms[14]:http://ebin.josm.pl/kodypocztowe/tiles/{zoom}/{x}/{y}.png

Podkład ten pokazuje miejscowości village z niejednoznaczną nazwą i bez dodanego tagu addr:postcode=

Co trzeba zrobić? Ano, podpiąć ten podkład w JOSM i go włączyć, i po kolei sprawdzać kody pocztowe dla tych punktów na stronie Poczty Polskiej: http://kody.poczta-polska.pl/index.php i je dodawać. Przy wyszukiwaniu trzeba zwracać baczną uwagę na zgodność wyników z gminą, w której leży nasza poprawiana miejscowość.

W wielu przypadkach będzie tak, że nie uda się znaleźć kodu dla miejscowości w danej gminie i województwie. Może oznaczać to, że miejscowość jest błędnie otagowana jako place=village i należałoby ją zdegradować do place=hamlet. W takiej sytuacji trzeba sprawdzić to w innych źródłach, pomocna może być wyszukiwarka TERYT. Ten casus ładnie widać na przykładzie świętokrzyskiego, gdzie user marcinru swego czasu nabałaganił, robiąc wszystko jako place=village.
Ogólnie, w razie wątpliwości zostawiamy bez zmieniania.

Na tę chwilę mamy ok. 1500 sztuk do wzbogacenia.

Przy okazji uzupełniania kodów pocztowych wsi zauważyłem, że wiele z nich nie ma przypisanego numeru SIMC (teryt:simc=X). Takie przypadki są głównie w niedawno utworzonych wsiach (np. Nowiny czy Wiśniówka w powiecie kieleckim). Może dałoby się dodać to jakoś automatem? Taki tag przydaje się do różnorakich skryptów.

Jeśli poprawiacie kody pocztowe, może się zdarzyć, że traficie na miejscowość (wieś), która w swej adresacji posiada różne kody pocztowe. Przykładem może być Brzeźnica: https://www.openstreetmap.org/node/1902260404
W takiej sytuacji idealnie byłoby rozdystrybuować kody pocztowe na poszczególne adresy, i/lub samego węzła miejscowości dodać tag multi_postcode_place=yes

Ja próbowałem dodać kody pocztowe do miast w swojej okolicy, ale chyba nie mam takich uprawnień więc zgłosiłem na mapie jako uwagę.

P.S. Po zmianie edytora na inny udało się dopisać kody.

P.P.S. Nie wiem jak wczytać ten plik z kodami, jakaś instrukcja? link do instrukcji? Proszę o wyrozumiałość z programem pracuję od jakiś 2h i tak dużo łapie :stuck_out_tongue:

Nie przeczytałem całego tematu więc mogłem coś ważnego pominąć ale kiedyś znalazłem coś takiego http://mapa-kodow-pocztowych.pl/. Czy ta mapa nie odzwierciedla faktycznego stanu pokrycia polski kodami pocztowymi? Nie trzeba by wtedy dopisywać do każdego budynku kodu.
Proszę o odpowiedz bo szukam i szukam i jasnej odpowiedzi znaleźć nie mogłem: czy do ulic powinny być dopisywane kody pocztowe i nazwy miejscowości (addr:postcode / addr:city)? JOSM zgłasza że jest źle i nie wiem czy usuwać czy zostawiać :confused:

kod pocztowy powinien być przypisany albo do punktu adresowego albo do miejscowości (jeżeli cała miejscowość ma jeden wspólny kod).

Wybaczcie, że odkopuję stary temat, ale zaczynam aktualnie pracować z OSM i Nominatim.
Weryfikowałem kilka adresów i zauważyłem, że kody pocztowe mają spore rozbieżności.
Dla przykładu:
ul Hoża w Szczecinie wg poczty polskiej ma kody pocztowe 71-699 lub 71-222 (https://kody.poczta-polska.pl/index.php), natomiast Nominatim zwraca 71-714 (który przypisany jest tylko do dwóch ulic - https://mapa.targeo.pl/71-714/kod-pocztowy))

Dodatkowo zauważyłem, że część kodów uzupełniona jest bez myślnika. W woli przypomnienia format powinien wyglądać następująco 00-000.

Chciałbym na bieżąco korygować tego typu błędy, jednak jako początkujący użytkownik nie wiem (jeszcze) jak. Za pomocą edytora online nie znalazłem miejsca w którym widoczne byłyby te dane do edycji.

Czy za pomocą overpass turbo mogę wybrać takie kody które nie mają myślnika (ew jakimś innym narzędziem)?

Uprzejmie proszę o wskazanie sposobu edycji kodów.
Z góry wielkie dzięki.

Większe edycje najlepiej robić edytorem JOSM, bo on pozwala łatwo dokonać wyszukiwania i masowej zmiany.

Tak, możesz uzyć regexa. O tak: http://overpass-turbo.eu/s/sCj

RicoElectrico dzięki za odpowiedz. Muszę doczytać o JOSM.

Mam jeszcze pytanie: czy za pomocą overpass mogę wyciągnąć takie kody dla całej Polski? Kiedy oddale widok dostaję timeouty.
W podesłanym przez Ciebie linku jest {{bbox}}, być może da się to zmienić na obszar całej Polski?
Chciałbym kompleksowo posprzątać tego typu błędy, a później zająć się korektami samych kodów.

Temat kodów umilkł? Ostatni wpis w tym wątku jest z 2015. Nie wiem co dalej działo się w temacie.
Mógłby ktoś lekko odświeżyć temat? Czy coś się działo z kodami przez ostatnie dwa lata? Były jakieś większe aktualizacje?

Pewnie
http://overpass-turbo.eu/s/sCD
Wystarczy w kreatorze do regexa dopisać “in Poland” (lub np “in Warsaw” jeśli chce się tylko miasto, lub jakikolwiek inny obszar którego granice są zdefiniowane w osm)

Gdy tak się dzieje to można zwiększyć wartość zmiennej timeout.

dodatkowo http://overpass-api.de/api/status jest też przydatne (czasem trzeba chwilę poczekać po dużych zapytaniach)

A jeszcze dwie rzeczy

  • iD ma dostęp do wszystkich tagów (ukryte menu po lewej stronie, na dole) - ale JOSM jest dużo lepszy
  • przed robieniem automatycznego importu (edycja bez weryfikacji każdego zmiany) trzeba się skonsultować na forum (na wypadek gdybyś coś takiego planował)

Tak też zrobię, na razie chcę zobaczyć skalę i obrobić to co będę w stanie z automatu - zamienić kody pięciocyfrowe na poprawny format.
Wszystkie inne błędy do ręcznej weryfikacji.

Zastanawiam się co z wpisami które w tym atrybucie mają więcej niż jeden kod, np:

{
	"type": "node",
	"id": 253549223,
	"lat": 50.3425064,
	"lon": 18.2036593,
	"tags": {
		"addr:postcode": "47-200;47-205;47-206;47-220;47-223;47-224;47-225;47-230;47-232",
		"name": "Kędzierzyn-Koźle",
		"name:de": "Kandrzin-Cosel",
		"name:lt": "Kendzežynas-Kozlė",
		"name:pl": "Kędzierzyn-Koźle",
		"name:ru": "Кендзежин-Козле",
		"name:szl": "Kandrzin-Koźle",
		"name:uk": "Кендзежин-Козьле",
		"place": "town",
		"population": "63194",
		"source:population": "http://stat.gov.pl/obszary-tematyczne/ludnosc/ludnosc/powierzchnia-i-ludnosc-w-przekroju-terytorialnym-w-2014-r-,7,11.html",
		"teryt:rm": "96",
		"teryt:simc": "0965424",
		"teryt:stan_na": "2009-01-01",
		"teryt:terc": "1603011",
		"teryt:updated_by": "teryt2osm combine.py v. 49",
		"wikidata": "Q605483",
		"wikipedia": "pl:Kędzierzyn-Koźle"
	}
}

@Imperator Lrrr dzięki za fix’a, jednak zauważyłem że zapytanie zwraca też node’y bez tagu addr:postcode, np:

{
	"type": "node",
	"id": 2503579833,
	"lat": 49.7216929,
	"lon": 19.0215346
}

W dokumentacji znalazłem informację na temat zliczania tagów:

node({{bbox}})(if:count_tags() > 0);
out geom;

niestety nie wiem jak to dodać do aktualnego zapytania. Generalnie chciałbym żeby zapytanie wyszukało wszystkie elementy które mają taki tag i ma on niepoprawny format.

Wywalić. Kody pocztowe w takiej sytuacji powinny być indywidualnie przypisane do każdego adresu, a nie zbiorczo do węzła miejscowości. Na węźle takiej miejscowości powinno być tylko: multi_postcode_place=yes

EDIT: Zresztą, już to zrobiłem; było tego tylko 9 sztuk.

@Zbigniew_Czernik dzięki za fix’a :slight_smile:

zostaje reszta. Posiedzę wieczorem i postaram się poprawić brakujące myślniki.

Czy nie są to czasem node będące częścią obszaru który ma kod pocztowy?

Znalazłem jeszcze taki wpis: http://www.openstreetmap.org/way/398037510

Czy oprócz overpass jest jeszcze inne narzędzie do wyszukiwania danych? Chciałbym wyciągnąć wszystkie kody pocztowe które mają inny format niż 00-000. To co się da poprawić z ręki (sam format) i w batch’u zaimportować.
Na razie kilka baboli poprawiłem ręcznie, ale to męczarnia.

Idealnie gdybym mógł wyrzucić dane do pliku, skorygować je i po konsultacjach zaciągnąć zmiany. JOSM ma taką możliwość? Jeśli nie to proszę o wskazanie narzędzi.