Uvoz adresnog registra - pravila tagovanja ulica u Srbiji

Više pamet, nego brzina:) Poslušao sam vas da blastujem:)

Slažem se za RGZ! Trenutno je na 12% povezanost sa RGZ-om, ali ako bi bio preko 50%, ne bi trebalo ništa automatizovati za entitete koji nemaju ref. Za one koje imaju ref, treba cross-checkovati sve u RGZ-u (npr. ako hoćemo da popunimo name:sr na osnovu name taga, danas to nikako ne bih radio bez provere za ref!)

Dodao sam izveštaj za alt_name porodicu tagova, na modulu ulica u DINA platformi:

https://dina.openstreetmap.rs/st/alt_names.html

Izveštaj za sada primećuje potrebne alternative sa brojevima, rimskim brojevima i “doktor”/“dr” alternative (npr. ako je ulica “8. marta”, zna da treba alt_name “Osmog marta”, kao i obrnuto). Zbog specifičnosti srpskog jezika (rodovi, padeži…), izveštaj nekad ne može da zna kako treba da bude tačan alt_name, ali može da predloži šta je to što mu fali (takvi slučajevi su označeni zvezdicama). Pogledajte kako vam se čini.

Ako znate još neki čest slučaj gde je potreban alt_name, javite ovde.

Planiram da, na osnovu ovog izveštaja, popunim ručno/automatski ove tagove za 2-3 nedelje (ako neko nešto nema protiv).

Urađeno za sve ulice koje su povezane sa RGZ-om (koje imaju ref:RS:ulica tag)! Samo za njih sam mogao da garantujem ime. Za ostale je ostalo grešaka (vide se u izveštaju), ali ne bih to radio dok se ne povežu sa RGZ-om (jer ne bih da na pogrešne ulice stavljamo alt_name)

[Way: ‪Шоти Нандор‬ (‪104558613‬) | OpenStreetMap]

[RGZ - uvoz ulica]
ШОТИ НАНДОР ➝ Шор љиљанов

Ovo Шор љиљанов malo bizarna greška… jesam li ja to onomad tako uneo?

Ne, verovatnije da je greška još od onog online excela što smo zajedno unosili. Ispraviću grešku u mapiranju, pa će od sutra biti ok (a ti unesoći ref:RS:ulica, to neće da se menja)

Ispravljeno sad. Još je bilo par ulica u Kanjiži, i to sve na slovo Š!, koje su isto bile pogrešne. Detalji na RGZ - uvoz adresa (filter na “kanjiža”)

@Branko_Kokanovic Ajd molim te kad stigneš stavi da je na Dini podrazumevana dužina stranice 50 ili, još bolje, 100 redova, umesto sadašnjih 10. Ovako moram da kliknem svaki božji put, a ušteda u količini podataka je zanemarljiva.

Pamtilo se 2h, sad sam stavio da se pamti neograničeno. Trebalo bi sad da radi, javi ako ne pamti! Nisam menjao podrazumevanu vrednost, samo svaki browser sad pamti sopstvena podešavanja, pa svako nek stavlja šta hoće:)

1 Like

Nedavno sam saznao da Organic Maps ne radi pretragu po name:sr-Latn [1][2].

Razlog je taj što njihov interni format za mape podržava do 64 jezika, pa je u ta 64 ušla samo srpska ćirilica, a ne i srpska latinica.

Moguće je proširiti broj jezika, ali je to malo veći zahvat i nije im trenutno na spisku prioriteta.

Drugim rečima, ako ulica nema unesen name:en i int_name tag, onda je možete pronaći samo na ćirilici, ali ne i na latinici. Na primer, ulica:

Trenutno ima sledeće name tagove:

name=Ане Карењине
name:sr=Ане Карењине
name:sr-Latn=Ane Karenjine

Ako je tražite kao “Ане Карењине”, pronaći ćete je, ali ako je tražite kao “Ane Karenjine”, neće je trenutno pronaći u Organic Mapsu.

Imajući u vidu da je Organic Maps besplatna, open-source aplikacija, bez reklama, koja je idealna za početnike da koriste OSM i rade neke elementarne promene na mapi, a dostupna je na skoro svim mobilnim i desktop platformama, mislim da bi bilo ok da dodamo svim ulicama u Srbiji int_name na ošišanoj latinici, a ne samo onima koje u imenu sadrže dijakritike.

Na ovaj način će pretraga u Organic Maps-u radtiti u svim kombinacijama (Višnjićeva, Visnjiceva, Вишњићева).

[1] Search functionality does not search all name tags · Issue #8241 · organicmaps/organicmaps · GitHub
[2] name:sr-Latn tag is not supported by OM · Issue #651 · organicmaps/organicmaps · GitHub

2 Likes

Nisam nešto protiv, ali će i dalje ostati problem što Organic neće naći nijedan drugi tip objekta koji nema int_name. Ulice jesu verovatno najvažnije, ali ja često tražim i druge entitete.

Uopšte, dugoročno rešenje je da oni konačno naprave ljudski algoritam pretrage. Koliko je teško implementirati nešto poput:

  • Napraviti indeksiranu mapu stringova transliteriranih na bazičnu latinicu;
  • Za svaku pretragu, transliterirati ulazni string i sa njime izvršiti upit u mapu
  • Sve dobijene rezultate rangirati po sličnosti sa ulaznim stringom i po važnosti (mesta > ulice > prodavnice…)

Naravno, malo ga pojednostavljujem, ali pretraga je fundamentalna funkcionalnost, a ona je toliko kljakava i na Nominatimu i na Organicu i na OsmAndu da često moram da zapušim nos i otvorim Google Maps… :unamused:

1 Like

Why not both:) Ja sam potpuno “za” da ubacimo int_name svuda (nisam ga ubacivao ranije sa DINA botom, jer nisam hteo da dupliramo redudantnim podacima, ali ovo je slučaj gde očigledno treba da postoji, čak iako je dupli). Razumem i da ovo neće da reši sve probleme (ovo što kaže Duja), ali ne bih da dozvolim da dođemo u situaciju “perfect is the enemy of the good”. Sad znamo za ovu kvaku sa OM, pa možemo da nastavimo da smaramo (ili da doniramo, vidim na linku koji je ostavio @MaliMrav da je i to opcija, raspitaću se koliko dukata vredimo:)

2 Likes

@Branko_Kokanovic Negde imaš bagić u određivanju dužine RGZ ulica. Evo primera:

Vršac
801089000152 ЈУГ БОГДАНА ➝ Југ Богдана 2708m 677m 2031m 818.33m

Kaže da je 2708 metara, a na slici se vidi da je duga tih ~700 m i da je sve lepo upareno. Kao rezultat, prikazuje se daleko manja konflacija od stvarne.

Ne bih da se branim, ali čudna je ovo situacija u RGZ-u. Evo je cela geometrija iz RGZ-a:

MULTILINESTRING ((21.291071025339242 45.12583227596342, 21.291046032288772 45.1258184769963, 21.291071025339242 45.12583227596342, 21.291046032288772 45.1258184769963, 21.291071025339242 45.12583227596342), (21.289329879247575 45.12452865888465, 21.28938363868189 45.12457362134922, 21.289329879247575 45.12452865888465, 21.289308554148686 45.12451079946324, 21.289329879247575 45.12452865888465, 21.289308554148686 45.12451079946324, 21.289329879247575 45.12452865888465, 21.28938363868189 45.12457362134922, 21.289329879247575 45.12452865888465), (21.290528156800896 45.125424979747535, 21.29046269284691 45.12537914742382, 21.290528156800896 45.125424979747535, 21.29058228897339 45.12546787029503, 21.2906073055252 45.12548635020366, 21.290675337051542 45.12553694682506, 21.29076149655498 45.12560162996915, 21.290954117639924 45.125747417503945, 21.29102279380107 45.125799632584915, 21.291046032288772 45.1258184769963, 21.29102279380107 45.125799632584915, 21.291046032288772 45.1258184769963, 21.29102279380107 45.125799632584915, 21.290954117639924 45.125747417503945, 21.29102279380107 45.125799632584915, 21.290954117639924 45.125747417503945, 21.29076149655498 45.12560162996915, 21.290954117639924 45.125747417503945, 21.29076149655498 45.12560162996915, 21.290675337051542 45.12553694682506, 21.29076149655498 45.12560162996915, 21.290675337051542 45.12553694682506, 21.2906073055252 45.12548635020366, 21.290675337051542 45.12553694682506, 21.2906073055252 45.12548635020366, 21.29058228897339 45.12546787029503, 21.2906073055252 45.12548635020366, 21.29058228897339 45.12546787029503, 21.290528156800896 45.125424979747535, 21.29058228897339 45.12546787029503, 21.290528156800896 45.125424979747535, 21.29046269284691 45.12537914742382, 21.290528156800896 45.125424979747535), (21.28953721042167 45.12469313516833, 21.289650810150704 45.124778453569924, 21.289855409556363 45.1249304237927, 21.289650810150704 45.124778453569924, 21.289855409556363 45.1249304237927, 21.289650810150704 45.124778453569924, 21.28953721042167 45.12469313516833, 21.289463679626337 45.12463589051932, 21.289451541798453 45.124624399067685, 21.289427411517384 45.12460501648409, 21.28939627417506 45.1245829511319, 21.28938363868189 45.12457362134922, 21.28939627417506 45.1245829511319, 21.28938363868189 45.12457362134922, 21.28939627417506 45.1245829511319, 21.289427411517384 45.12460501648409, 21.28939627417506 45.1245829511319, 21.289427411517384 45.12460501648409, 21.289451541798453 45.124624399067685, 21.289427411517384 45.12460501648409, 21.289451541798453 45.124624399067685, 21.289463679626337 45.12463589051932, 21.289451541798453 45.124624399067685, 21.289463679626337 45.12463589051932, 21.28953721042167 45.12469313516833, 21.289463679626337 45.12463589051932, 21.28953721042167 45.12469313516833, 21.289650810150704 45.124778453569924, 21.28953721042167 45.12469313516833), (21.28997448561029 45.12501725826407, 21.289981505993538 45.12502255145958, 21.290256052099178 45.125226463350565, 21.290413168565898 45.125342186243124, 21.2904550343169 45.12537340579472, 21.29046269284691 45.12537914742382, 21.2904550343169 45.12537340579472, 21.29046269284691 45.12537914742382, 21.2904550343169 45.12537340579472, 21.290413168565898 45.125342186243124, 21.2904550343169 45.12537340579472, 21.290413168565898 45.125342186243124, 21.290256052099178 45.125226463350565, 21.290413168565898 45.125342186243124, 21.290256052099178 45.125226463350565, 21.289981505993538 45.12502255145958, 21.290256052099178 45.125226463350565, 21.289981505993538 45.12502255145958, 21.28997448561029 45.12501725826407, 21.289855409556363 45.1249304237927, 21.28997448561029 45.12501725826407, 21.289855409556363 45.1249304237927, 21.28997448561029 45.12501725826407, 21.289981505993538 45.12502255145958, 21.28997448561029 45.12501725826407), (21.28843907244939 45.12393076674443, 21.28858389522062 45.12403068018074, 21.28843907244939 45.12393076674443, 21.288247432820388 45.12380063545714, 21.28843907244939 45.12393076674443, 21.288247432820388 45.12380063545714, 21.28843907244939 45.12393076674443, 21.28858389522062 45.12403068018074, 21.28843907244939 45.12393076674443), (21.287947846986196 45.12359579163034, 21.288062807761065 45.123674536932235, 21.288232632033665 45.12379050085491, 21.288247432820388 45.12380063545714, 21.288232632033665 45.12379050085491, 21.288247432820388 45.12380063545714, 21.288232632033665 45.12379050085491, 21.288062807761065 45.123674536932235, 21.288232632033665 45.12379050085491, 21.288062807761065 45.123674536932235, 21.287947846986196 45.12359579163034, 21.288062807761065 45.123674536932235, 21.287947846986196 45.12359579163034), (21.289146567820538 45.12441183058229, 21.28904743645543 45.124346008812346, 21.28903199825938 45.12433560587597, 21.28904743645543 45.124346008812346, 21.28903199825938 45.12433560587597, 21.28904743645543 45.124346008812346, 21.289146567820538 45.12441183058229, 21.28904743645543 45.124346008812346, 21.289146567820538 45.12441183058229), (21.288838682960552 45.12420151906912, 21.288822734415376 45.12419075732565, 21.288682248974496 45.12409380380293, 21.288674367361587 45.12409418379408, 21.28858389522062 45.12403068018074, 21.288674367361587 45.12409418379408, 21.28858389522062 45.12403068018074, 21.288674367361587 45.12409418379408, 21.288682248974496 45.12409380380293, 21.288674367361587 45.12409418379408, 21.288682248974496 45.12409380380293, 21.288822734415376 45.12419075732565, 21.288682248974496 45.12409380380293, 21.288822734415376 45.12419075732565, 21.288838682960552 45.12420151906912, 21.28903199825938 45.12433560587597, 21.288838682960552 45.12420151906912, 21.28903199825938 45.12433560587597, 21.288838682960552 45.12420151906912, 21.288822734415376 45.12419075732565, 21.288838682960552 45.12420151906912), (21.286507154639857 45.1225943714465, 21.286545180155933 45.12262128124806, 21.286592900120564 45.12265437790607, 21.286665896165882 45.12270748496819, 21.286592900120564 45.12265437790607, 21.286665896165882 45.12270748496819, 21.286592900120564 45.12265437790607, 21.286545180155933 45.12262128124806, 21.286592900120564 45.12265437790607, 21.286545180155933 45.12262128124806, 21.286507154639857 45.1225943714465, 21.286545180155933 45.12262128124806, 21.286507154639857 45.1225943714465), (21.28767352822224 45.12340861678146, 21.287486735094443 45.12328072243123, 21.287420511770947 45.123234620206055, 21.28707433395238 45.12299235408763, 21.28687834139782 45.12285503003673, 21.286870047367348 45.12284919974367, 21.286665896165882 45.12270748496819, 21.286870047367348 45.12284919974367, 21.286665896165882 45.12270748496819, 21.286870047367348 45.12284919974367, 21.28687834139782 45.12285503003673, 21.286870047367348 45.12284919974367, 21.28687834139782 45.12285503003673, 21.28707433395238 45.12299235408763, 21.28687834139782 45.12285503003673, 21.28707433395238 45.12299235408763, 21.287420511770947 45.123234620206055, 21.28707433395238 45.12299235408763, 21.287420511770947 45.123234620206055, 21.287486735094443 45.12328072243123, 21.287420511770947 45.123234620206055, 21.287486735094443 45.12328072243123, 21.28767352822224 45.12340861678146, 21.287486735094443 45.12328072243123, 21.28767352822224 45.12340861678146), (21.285185875711107 45.12166365848083, 21.285186641282163 45.12166419667323, 21.285374591654886 45.121796772831956, 21.285407641664694 45.12182054484118, 21.285588581545127 45.12194944745208, 21.28567917691686 45.12201349325714, 21.285808182356043 45.12210516821551, 21.285960801404773 45.12221496740677, 21.286054082567198 45.12228197675879, 21.286199555249222 45.12238639248645, 21.28617634495252 45.12237258797784, 21.286220864633286 45.12240146199696, 21.28624587393533 45.122419042715656, 21.286220864633286 45.12240146199696, 21.28624587393533 45.122419042715656, 21.286220864633286 45.12240146199696, 21.28617634495252 45.12237258797784, 21.286220864633286 45.12240146199696, 21.28617634495252 45.12237258797784, 21.286199555249222 45.12238639248645, 21.28617634495252 45.12237258797784, 21.286199555249222 45.12238639248645, 21.286054082567198 45.12228197675879, 21.286199555249222 45.12238639248645, 21.286054082567198 45.12228197675879, 21.285960801404773 45.12221496740677, 21.286054082567198 45.12228197675879, 21.285960801404773 45.12221496740677, 21.285808182356043 45.12210516821551, 21.285960801404773 45.12221496740677, 21.285808182356043 45.12210516821551, 21.28567917691686 45.12201349325714, 21.285808182356043 45.12210516821551, 21.28567917691686 45.12201349325714, 21.285588581545127 45.12194944745208, 21.28567917691686 45.12201349325714, 21.285588581545127 45.12194944745208, 21.285407641664694 45.12182054484118, 21.285588581545127 45.12194944745208, 21.285407641664694 45.12182054484118, 21.285374591654886 45.121796772831956, 21.285407641664694 45.12182054484118, 21.285374591654886 45.121796772831956, 21.285186641282163 45.12166419667323, 21.285374591654886 45.121796772831956, 21.285186641282163 45.12166419667323, 21.285185875711107 45.12166365848083, 21.28502778918282 45.12155324176718, 21.285027518754497 45.12155000181748, 21.28502778918282 45.12155324176718, 21.285027518754497 45.12155000181748, 21.28502778918282 45.12155324176718, 21.285185875711107 45.12166365848083, 21.28502778918282 45.12155324176718, 21.285185875711107 45.12166365848083, 21.285186641282163 45.12166419667323, 21.285185875711107 45.12166365848083), (21.284037307399135 45.12086167558951, 21.284057850096502 45.12087620731022, 21.284037307399135 45.12086167558951, 21.284057850096502 45.12087620731022, 21.284037307399135 45.12086167558951), (21.284288390088328 45.12103451432022, 21.284210176490216 45.12097961835992, 21.284288390088328 45.12103451432022, 21.28444866743753 45.12115140786056, 21.284480566564046 45.12117401278152, 21.284710093546973 45.121332681524734, 21.284480566564046 45.12117401278152, 21.284710093546973 45.121332681524734, 21.284480566564046 45.12117401278152, 21.28444866743753 45.12115140786056, 21.284480566564046 45.12117401278152, 21.28444866743753 45.12115140786056, 21.284288390088328 45.12103451432022, 21.28444866743753 45.12115140786056, 21.284288390088328 45.12103451432022, 21.284210176490216 45.12097961835992, 21.284288390088328 45.12103451432022), (21.284180449771252 45.12095916837377, 21.284210176490216 45.12097961835992, 21.284180449771252 45.12095916837377, 21.284057850096502 45.12087620731022, 21.284180449771252 45.12095916837377, 21.284057850096502 45.12087620731022, 21.284180449771252 45.12095916837377, 21.284210176490216 45.12097961835992, 21.284180449771252 45.12095916837377))

Kad ovo provučem kroz QGIS i kažem da mi nađe length($geometry) vrati mi isto 2708m (a stvarnost je, kao što ti kažeš 700m)! Deluje kao da ova linija u RGZ-u ide cik-cak, ali se to ne vidi! Samo ovaj prvi južni deo od Filipa Višnjića do Žive Jovanovića je u RGZ-u predstavljen kao:

LINESTRING (21.284288390088328 45.12103451432022, 21.284210176490216 45.12097961835992, 21.284288390088328 45.12103451432022, 21.28444866743753 45.12115140786056, 21.284480566564046 45.12117401278152, 21.284710093546973 45.121332681524734, 21.284480566564046 45.12117401278152, 21.284710093546973 45.121332681524734, 21.284480566564046 45.12117401278152, 21.28444866743753 45.12115140786056, 21.284480566564046 45.12117401278152, 21.28444866743753 45.12115140786056, 21.284288390088328 45.12103451432022, 21.28444866743753 45.12115140786056, 21.284288390088328 45.12103451432022, 21.284210176490216 45.12097961835992, 21.284288390088328 45.12103451432022), (21.284180449771252 45.12095916837377, 21.284210176490216 45.12097961835992, 21.284180449771252 45.12095916837377, 21.284057850096502 45.12087620731022, 21.284180449771252 45.12095916837377, 21.284057850096502 45.12087620731022, 21.284180449771252 45.12095916837377, 21.284210176490216 45.12097961835992, 21.284180449771252 45.12095916837377)

što je u stvarnosti 85m, a ovaj RGZ linestring je 288m. Ako pogledaš malo bolje ovaj linestring iznad, videćeš da je ovo zapravo jedna linija koja ide gore-dole (npr. 45.12103451432022 se uvek ponavlja…).

Ovde verovatno treba nekako uprostiti geometriju iz RGZ-a, ali ne znam kako ovo uraditi, prevazilazi moje znanje (“ne mogu ja da popravim koliko RGZ može da pokvari”). Nažalost, predajem se ovde, ne mogu da rešim ovo, ali lepo si primetio, svaka čast:)

1 Like

Na česmu zasnivaš ovo? Po aktuelnom srpskom pravopisu strani nazivi se ne prevode nego se preslovljavaju. Samo nazivi koji su od pre izmene pravopisa prevođena na srpski ostaju prevedena. Zao još uvek korsitimo “Beč” i “Jeliseljska polja”.

Ako bismo hteli da popunimo name:sr za sve nazive u OSM na planetarnom nivou tu bi trebalo upisati presloljenu varijantu stranog naziva, osim izuzetaka koji su ustaljeni u obliku prevoda.

Da li u engleskom jeziku postoji pravuilo da se strani nazivi prevode. Meni se čni da ne postoji, nego da je i kod njih uobičajeno da se zadrže originalni nazivi, eventualno sa prilagođenim pisanjem.

Zašto bi iko prevodio nazive osim ako to tako nije pravilo u jeziku? Nekome ko je u stranoj zemlji ne treba da razume šta znači naziv nego ga pročita što približnije originalu, da bi mogao da komunicira sa lokalcima ako mu je potrebna pomoć.

Eto da uzmemo baš primer Beča, da li je uputno da neki naš koji ne zna nemački usput zapitkuje za put za Beč ili za Vienu? Njemu će naš pravopis u stvari da odmogne jer je tu napravio izuzetak i zadržao “prevod”.

Peđa, piše da je izmišljen primer.

Drugo, Španske stepenice u Rimu zovemo baš tako, a ne Scalinata di Trinità dei Monti.

Drugi primer bi bio gde je name:en=Belgrade, a name=Београд, dok int_name nema smisla jer nema slova sa dijakriticima (izuzetak je ako se zajednica dogovori zbog određenih navigacija). Zato je na samom početku napisano da je izmišljen primer.

Da, mislim da je to ipak malo pojednostavljeno, jer se pravila transliteracije razlikuju od jezika do jezika. Nije to beskonačan skup jezika, ali sve mi se više čini da ne možemo da očekujemo da svi sadašnji i budući geokoderi urade transliteraciju na svim jezicima kako treba.

Čak se i Google muči sa time. Evo upravo na GMaps-u mogu da nađem objekat sa adresom “Белог нарциса 28”, dok adresu “Belog narcisa 28” ne uspeva da nađe.

Dakle, mislim da je bolji pristup da mi kao lokalna OSM zajednica učinimo šta možemo da olakšamo pretrage geocoderima time što ćemo popuniti name:sr, name:sr-Latn i int_name na svim objektima gde je to moguće.

Za ulice može da se uradi potpuno automatski, a za ostale tipove objekata ručno ili poluautomatski.