Povezivanje ulica u OSM sa zvaničnim registrom ulica

Pošto se diskusij proširila van označavanje ulica i obuhvata i druge objekte, premešteno je u https://forum.openstreetmap.org/viewtopic.php?pid=835075#p835075

Pogledajte i dajte mišljenja, da zaključujemo, treba početi sa sređivanejm ulica a ne možemo dok ovo ne dogovorimo.

Napravio sam prost alat za pretragu ulica: http://editor.osmsrbija.iz.rs/registarulica/

Za zadat naziv ulice pretrayice Adresni regitar i vratiti sve ulcie koje mo\da odgovaaju nazivu. Ulice su složene po indeksu poklapanja, na vrhu su onekoje najbolje odgvoaraju upitu.

Pored naziv aulice, pretraga se može suziti i po matičnom broju naselja i opštine.

Alat radi kao prosta web forma, ali može da se koristi i kao web servis koji vraća rezultate u JSON ili CSV obliku.

A da mi organizujemo akciju unosa nedostajućih ulica, poput one za pošte? To je verovatno najvažniji skup podataka za praktičnu upotrebu (navigacija i slično).

http://qa.poole.ch/ je jednostavan alat za prikaz bezimenih ulica, i pokazuje da je stanje u našem OSM daleko od sjajnog. Vojvodina i Beograd su manje-više pokriveni, ali centralna Srbija je baš u crvenom. Verujem da imamo preko 95% ulica uneto u OSM, ali nemamo i njihove nazive (i naravno, matične brojeve).

Ako dobro razumem, kolege iz Litvanije su imale sličan set podataka i napravili su radnu akciju masovnog unosa:
https://www.openstreetmap.org/user/Tomas%20Straupis/diary/396338
Video o njihovom progresu tokom prošle zime:
https://www.youtube.com/watch?v=Zc3TQQhO_rA

Deluje mi da je dovoljno izdeliti JSON po sektorima i onda napraviti taskove, kao što smo radili sa poštama. Branko, Vanja?

^^ U mom predlogu je bila sadržana pretpostavka da je JSON koji je dostupan georeferenciran. Sad sam shvatio da to nije slučaj:

Dakle, ništa. :frowning:

Mislim da sa ulicama to nije baš tako jednostavno jer unošenje i sređivanje naziva nije jednostavno.

Najpre, ne može da se deli po sektorima onako “na kvadrate” nego mora po naseljima jer je naselje celina. Alati koje smo napravili za sređivanje naziva ulica su zato tako i organizovani.

Pored toga, sređivanje naziva ulica u jednom naselju, često iziskuje da se čačka i po ulicama u susednim naseljima, jer nemali broj ulica prelazi granice naselja.

Uz to, sređivanje ulica se sastoji od više operacija pa je nekad dobro posao podeliti tako da se rade operacije određenim redosledom ali sve to i dalje mora da se radi na celom naselju kao jednom tasku.

Na kraju, izvori su prilično traljavi tako da ne možeš samo mehanički da ih koristiš nego moraš da paziš i sve proveravaš.

Što će reći, traži ljude koji imaju nekog iskustva, posvećeni su i mogu da podvoje poprilično vrema. Nije ono, aj imam deset minuta vremena, da odradim neki task na random.

Ovaj http://qa.poole.ch/ je zgodan alat. Zгodan je za opšti pregled gde šta sve treba da se radi, ali nije baš za detaljisanje.

Ovde je okačeno uputstvo za sređivanje ulica: https://openstreetmap.rs/obelezavanje-naziva-ulica-i-povezivanje-sa-adresnim-registrom/ Tu je objašnjeno i kako se može pregledno videti šta sve treba da se uradi, na nivou jednog naselja.

http://qa.poole.ch/ može da zavara jer prikazuje da ima mnogo više posla nego što ga stvarno ima. Naime jedna od prvih stvari koju treba uraditi kada se sređuju ulice na nekom području to je da se označe oni putevi koji uopšte i ne treba da imaju naziv jer nisu ulice i nemaju dodeljen naziv. Takvih ima mnogo. Zato je prikaz u ovom alatu ovako “crven”.

Tačno je da daje dosta lažnih pozitiva (jer crveni sve residential, unclassified i tertiary+ puteve koji nemaju ni name ni ref), ali ima bogme mnogo i pravih.

Kod nas je čest slučaj da imamo sokake u kojima ima nekoliko kuća, ali nemaju zasebno ime, nego adrese nose ime po glavnoj ulici. Ja takvima ne bih davao ime glavne ulice, nego ih ostavio bez imena; u takvim slučajevima preporučuje se da se stavi noname=yes da se QA alati (Poole.ch .Osmose i sl.) ne bi bunili.

Elem, trenutni sadržaj baze koju si napravio na bazi njihovih podataka nije od prevelike koristi za inicijalni unos ulica. Recimo, bilo bi super da…

https://www.osmsrbija.iz.rs/pretrazivaculica/api/ulice?naselje=703702&&format=json

može da se dobije kao JSON koji je georeferenciran negde u centar naselja, sa imenima ulica napisanim title-case, OSM-tagovanim, odmah preslovljene na sr i sr-Latn, dakle, sve spremno za copy-paste, nekako ovako:

highway=residential
name=Змај Јовина
name:sr=Змај Јовина
name:sr-Latn=Змај Јовина
ref:SR:ulica=703702041714

Sve što maper treba da uradi je da nađe ulicu (tj. sve njene delove), i kopira sadržaj iz JSON lejera u OSM tagove.

S ovim se slažem i ja u principu tako i radim. Tj ne radim. Te repiće ostavljam nesređenim jer postoji i drugačije mišljenje da treba i njima da se upišu nazivi, zbog navigacija. Ako bih im stavio noname onda bi kasnije bilo teže naći takve ulice i srediti ih - ako se ipak odluči drugačije.

Jedno od rešenja je da se servisni putevi, a to su oni koji vode samo dojednog objekta, ne taguju kao ulice nego kao servisni putevi. U tom slučaju svi servisni putevi mogu da se isključe iz jednačine (stavi im se noname). I to uopšte nije mali broj puteva.

Međutim, ja ne mogu to da prelomim jer nemam iskustva oko upotrebe mape za navigaciju i koliko bi to smetalo navigaciji na tačnu adresu. Zato to ostavljam nesređeno dok se ne ustanovi neki dogovor kako to raditi.

Hm, ovako nešto smo napravili za Nepokretna kulturna dobra. Taj alat generiše JSON koji je formatiran tako da kada se JSON otvori u ID editoru, namapi se pokaže tačka a na klik se otvaraju podaci foramtirani da se jednostavnim copy/paste prepišu u pravi objekat na mapi.

Međutim, to tamo može jer imamo kordinate objekata pa se svaka tačka na mapi prikazuje tamo gde se stvarno i nalazi.

Sa ulicama to ne može jer nemamo koordinate. Ako bismo uradili ovako kako što predlažeš da sve stavimo na neku tačku u okviru naselja, to bi postalo prilično pretrpano i mislim, nepraktično za upotrebu.

Međutim, ono što bi moglo, to je da na https://www.osmsrbija.iz.rs/pretrazivaculica/, u tabelarnom prikazu dodam i taj formatirani prikaz koji može da se lako kopipejstuje. Tu bi nekako i moglo da se izvede da bude pregledno.

E da, sa prepisivanjem podataka imamo još jedan problem: u RGZ registru nazivi ulica su upisani SVE VELIKIM SLOVIMA. Mi to ne treba tako da prepisujemo nego u skladu sa Pravopisom. Nemam način da automatizovano sredim nazive da budu po Pravopisu.

Jasno mi je ovo, ali imam na umu da je preko 80% ulica nazvano po osobama, pa će konverzija u Title Case dati dobar rezultat (ZMAJ JOVINA → Zmaj Jovina). Problematični su jedino slučajevi kad je u pitanju višečlani naziv koji nije ime osobe, kao što je npr. Trešnjinog cveta, što je ugrubo nekih 3-5% slučajeva. Čak i tada, mislim da je manje zlo da piše Trešnjinog Cveta nego TREŠNJINOG CVETA, a već nekad će se ispraviti.

Svakako, no kvaka je i svim koji ne idu po prostim rpavilima, jer ko korsiti taj alat ce da se navikne na štrikanje sa copy-paste pa neće ni gledati da li treba nešto da se ispravi.

Pozabaviću se.

Ako neko slučajno ima u PHP urađeno sređivanje velikog početnog slova, nije zgoreg da se javi :slight_smile:

Ima li potrebe da se upisuju drugi name tagovi osim klot name? za popunjavanje name:sr, name:sr-Latn i onih ostalioh koji su isto važni zbog pretrage i navigacije imamo druge alate koji mogu da se primene naknadno i automatizovani su.

To pitam u kontekstu ovog što kapitalizacija neće biti baš 100% tačna, pa će onda morati da se ispravljaju i ti ostali tagovi. Ispadne skuplja dara nego mera. Meni je nekkao zdravije da sredimo name tag pa ostalo posle da se prepiše rutinski.

I ne očekuje se da servisni putevi imaju ime, pa ih nema smisla ni tagovati sa noname=yes. Prilazne puteve koji vode do jednog objekta treba tagovati sa highway=service; service=driveway. Ja sam imao na umu slučajeve kad sokak povezuje grupu kuća (2-20) sa glavnom ulicom; to nije highway=service a nije baš ni pravi highway=residential nego nešto između.

U principu, ako uneseš Zmaj Jovina 44, svaka navigacija će te dovesti do tačke najbliže toj adresi. Ali mi imamo jako malo adresa uneto, pa će te verovatno dovesti do neke slučajne tačke u ulici Zmaj Jovinoj. I ja mislim da je bolje davati imena samo glavnim delovima ulica, a ne sokacima (kao ni kraćim fragmentima ulica iseckanim zbog kojekakvih relacija), jer će ti i OSM pretraga i većina navigacija svaki deo ulice tretirati zasebno.

Imao sam više u vidu da se izgeneriše neki vertikalno poredan grozd tačaka, tako da se ne preklapaju. Ali verovatno si u pravu da je ovo drugo daleko lakše za implementaciju a dovoljno dobro (jedina mana je što maper mora imati otvorena dva prozora pa da kopira iz jednog u drugi).

Pa nisam siguran. Kapitalizacija će dati korektan rezultat u 90-95% slučajeva, za sve transliteracije. U preostalih 5-10% slučajeva, mora se prvo popraviti name pa pustiti transliterator, a kao što kažeš, ko rutinski štrika će ga pustiti, neće ni gledati da li treba nešto da se ispravi. Tako da ti dođe na isto.

Ne znam tačno kako radi transliterator, ali bih očekivao da će, ako stoji npr.

da ih nekako pomiri. To je prilična heuristika, koji name: tag uzeti kao referentni.

Meni je to logično ali ljudi koji se bave primenom u navigacijama imaju drugačije mišljenje, pa treba i njih čuti.

Meni je lakše kada su mi podaci u drugom prozoru jer lako prelazim iz prozora u prozor sa Alt-Tab. Kad je sve u jednom prozoru onda je stalno neko guženje, skrolovanje i traženje.

A da budem iskren, nešto mi deluje velia petljancija da uopšte odredim te virutelne koordinate na koje bih zakačio podatke. https://www.osmsrbija.iz.rs/pretrazivaculica/ uošpte nema pristup nikakvim koordinatama osim ako ulica već nije povezana sa objetom u OSM. Nemam za šta da se uhvatim.

Не бих да се превише правим паметан али ЈОСМ може и даљински да се контролише ( https://josm.openstreetmap.de/wiki/Help/RemoteControlCommands#addtags ). То што вас мучи може да се аутоматизује са php скриптама, односно да се припреми линк који ће да уради цео посао - и кориснику остаје само да кликне на њега. И наравно да пре тога укључи ЈОСМ и после уплоадује направљене измене.
Наравно постоји варијанта и прављења наменског плагина али са ониме што Пеђа има већ урађено, чини ми се да је ово лакше за извођење.

Да ли би ти локални overpass сервер без ограничења решио проблем?

Hmmm, ovo je zanimjivo. U ovom konkretnom slucaju ne verujem da bi moglo da se iskoristi, ali generalno, za neke druge stvari - vrlo je zanimljivo.

OverPass server bez ogranicenja bi mnogo toga olakšao, nevezano za ulice. U ovom konkretnom slucaju bi omogućio da se lako dođe do koordinate centra naselja, ali mislim da to generalno ne bi mnogo doprinelo da se olaksa rad.

Meni je prirodan nacin rada taj da na OSM nadjes ulicu, uzmes naziv, predjes na https://www.osmsrbija.iz.rs/pretrazivaculica/ nadjes tu ulicu i onda odatle preuzmes podatke koji treba da se prepisu. U suštini dovoljan je samo jedan podatak: matični broj ulice. Kad je on prepisan u OSM, sve ostalo posle može automatizovano da se poveže i prepisuje i tek s tom vezom bi u stvari mogli da se prave napredni alati za sredjivanje ulica (pre svega otkrivanje promena i ažuriranje).

Читам ову вашу преписку и није ми јасно, због чега би се, и у чему, одступало од https://openstreetmap.rs/obelezavanje-naziva-ulica-i-povezivanje-sa-adresnim-registrom/ ?

Или ви говорите о провери унешених података?

Što bi odstupali? Samo su ostala neka nerešena pitanja, situacije za koje treba smisliti kako se razrešavaju da bi svi radili isto.