Closed zibik closed 8 years ago
Hmm... Chyba tego nigdy nie było.
Jakby to miało działać? Po imporcie brać punkty z addr:housenumber w małej odległości od siebie (nie wiem <5m?) i o ile tagi się zgadzają - to zostawiać tylko jeden (losowo wybrany)?
Bądź co bądź, w przypadku tej gminy mamy do czynienia z sytuacją, w której to w danych źródłowych występują duplikaty.
Chodzi o deduplikację w danych źródłowych, jeszcze przed jakimkolwiek merdżowaniem z danymi OSM. W tej gminie mamy sytuację, że dużo adresów leży jeden na drugim (nawet JOSM zgłasza duplikaty, więc ich koordy są identyczne).
Zrobiłem deduplikację w danych źródłowych. Usuwa wszystkie zduplikowane adresy, które są w mniejszej odległości niż 2m. W sytuacji, gdy dla danego adresu mamy duplikaty w większych odleglościach, dla każdej pary, dla której odległość jest mniejsza niż 2m, jeden z adresów jest usuwany.
W ekstremalnym przypadku, gdyby ktoś zrobił linię z duplikowanym adresem a odległość pomiędzy kolejnymi punktami była mniejsza niż 2m, to nawet gydby linia miała 1 km, zostanie tylko jeden adres (przy szczęśliwej kolejności przetwarzania, równie dobrze - może pozostać połowa punktów).
Alternatywne podejście jakie miałem do tego, to usuwać duplikaty tylko wtedy, gdy wszystkie duplikaty znajdują się w promieniu 2m, ale w przypadku tej gminy to by akurat nie zadziałało do końca...
Skrypt nie zauważa, że adresy leżą w tym samym miejscu i zamiast je scalić, oznacza je tagiem fixme=Duplicate[...] Gmina, w której to wyszło: ./merger.py --gugik --terc 3010022 (Grodziec)