RGZ otvorio registar prostornih jedinica - plan za import

Pa to je upravo pitanje koje ja iznosim u prethodnom mailu (možda ne ovako jasno:) ). Da li popravljati postojeće ili uvoziti iznova. Moja teza je da treba popravljati postojeće.

Mooože, ali kako? Zato sam pitao da li neko može da sastavi kratko JOSM tutorijal koji bi mogli da pratimo i da se podelimo na par okruga? Ja trenutno ne vidim kako da lako/brzo/konzistentno obiđem jedan okrug (koji plugin, koji shortcut…), da znam gde sve treba da gledam, da znam na šta sve treba da pazim (možda pomerim reku, možda pomerim neki put usput greškom, a možda to i želim…), da spojim rupe koje postoje u RGZ podacima…I onda na sve to da upload-ujem samo ono što sam menjao. Ako budeš probao ovo što sam ti rekao da popravljaš, ili ćeš shvatiti šta je problem, ili vladaš dovoljno JOSM-om da ne shvataš moje probleme, pa možda onda možeš ti ukratko da opišeš postupak?

I opet, na kraju, ne znam kako da izvučemo metriku preciznosti. Ako neko ima ideju, mogu da napravim program koji izvlači tu metriku sada odmah, i onda nakon popravki. Npr. možda bi bila intersect(“površina naselja u RGZ-u”, “površina naselja u OSM-u”)/“površina naselja u OSM-u”. Da li ovo ima smisla?

Сад сам збуњен - да ли сам пропуштио шта је проблем? Све си сажвакао у прошлом мејлу па не разумем какав додатни туторијал је потребан. Када учиташ податке са ОСМ (са Overpass API), учиташ осм фајл који си генерисао из података РГЗа. Видиш где постоји одсупање, селектујеш тачку коју желиш да помериш на ОСМ слоју и помериш је. Ако желиш да додаш тачку кликнеш на “+” између тачака и поставиш је где желиш. Када завшриш Upload all changes и то је то. Једино на шта треба обратит пажњу је да када се мењају ОСМ подаци треба да тај слој буде активан.

Све ово сигурно и сам знаш па не разумем шта сам превидео :confused:

Чини ми се да поређење површина не би била најбољи показатељ јер су разлике у површинама сувише мале у односу на укупну површину. Ја бих поредио суму најкраћих растојања тачака РГЗ полигона од линија полигона ОСМ. Чини ми се да су границе у ОСМ понегде упрошћење па је боље да се бирају тачке тамо где их је више (а то је РГЗ).

Pa ne, može to tako, ali ko će tako raditi 4000 naselja, jedno po jedno? I da se stvarno tako radi, ni onda nećemo dobiti ono što je u RGZ-u. To me brine. Više sam mislio na to kako možemo ovo pojednostaviti, a dobiti preciznost kao u RGZ-u. Npr. pogledaj https://wiki.openstreetmap.org/wiki/JOSM/Plugins/utilsplugin2#Replace_one_way_with_another_way, pokušavao sam da vidim kako to napraviti, ali nisam našao kako ako su na različitim slojevima… Mislio sam da iskoristimo nešto tog tipa…

Metrika koju su naveo ima više smisla!

Претпоставимо да се једно насеље граничи са два друга насеља. Пошто је један пут део границе два насеља значи да се постоји минимално 4000 путева које је потребно генерисати/кориговати. То опет није занемарљив број. Дакле, како изделити РГЗ полигон на више мањих линија? Једино упоређивањем самих полигона и налажењем преклапања између њих (под условом да се тачке на границама поклапају иначе имамо проблем крајњих тачака). Онда да се направи додатак за ЈОСМ, који би препознате границе између општина приказао на мапи, и тражио да се изабере линија којој би требало заменити тачке. Направити овако нешто није неизводљиво, али да ли се исплати уложени труд?

На основу узорка за Срем, може се закључити да је неко већ користио податке које ми имамо (вероватно је прецртавао преко њих), тако да (по мом мишљењу) “очекивана прецизност” већ постоји.

Možda da se granice naselja/mesnih zajednica uploaduju na OSM u Public GPS traces tako da ljudi to imaju kao podlogu, pa ako je neko raspoložen da doteruje postojeće granice perema njima?

To niee sistematsko rešenje ali ne bi trebalo da smeta a svakako bi značilo nekome kome je u datom momentu potrebno da bar deo neke granice sredi da bude tačan.

Pozdrav ekipi!

Nedavno su mi iz mog tima skrenuli pažnju, da možete u JOSM-u da sačuvate istoriju iako pravite/importujete novi poligon.
https://prnt.sc/qhehlt

Nakon instalacije ovog dodatka (Plugin-a), pojavljuje se nova stavka u glavnom meniju Auto Tools i tu se nalazi opcija ReplaceBuilding.

Tako da je moguće sačuvati prethodnu istoriju za relevantni poligon i da se ista „zalepi“ na novi.

To bejah ja. Nisam, doduše, precrtavao preko njih nego ono, gledajući u njih na drugom ekranu. S obzirom da praktično svuda po Vojvodini idu vodotokovima, putevima ili granicama parcela, dosta ih je lako bilo preneti sa dosta visokom preciznošću. Stoga, “garantujem” da su unete granice u Vojvodini u “očekivanoj preciznosti” (a šta znam, recimo da je ispod 50m greške na 90% dužine) . Usput sam bogme i državnu granicu dosta korigovao, pogotovo prema Rumuniji, jer su bila odstupanja i po par stotina metara.

Samo po Fruškoj gori, gde granice krivudaju kroz šumu, potocima i stazama, te se ne vide na satelitskim snimcima, može biti nešto većeg odstupanja. Takođe, u podacima RGZ postoje manje rupe (područja koja ne pripadaju nijednom ataru) koje sam bratski podelio (znam, npr. za jednu takvu između Pančeva i Starčeva, te između Sutjeske i Neuzine).

Slučajnim uzorkom u centralnoj Srbiji, (gde su naselja manja pa ih je više, a i krivudavije su granice, pa je otud posao ručnog precrtavanja teži), rekao bih da je prosečna preciznost nešto manja.

@Duja mozes li da ponovo nadjes gde je taj slucaj gde ima rupa? Hteo bih da nesto proverim.

Branko,
Kako si uradio transformaciju koordinata? Da nisi mozda koristio neke skripte - da ne izmisljam ponovo toplu vodu?

Ceo tok Tamiša između sela Neuzina i Sutjeska, opština Sečanj, jeste takva rupa.

Sada gledam taj deo i ne vidim nikakvu rupu.
Mozes li da mi potvrdis da li ta rupa postoji i u podacima koje je objavio RGZ?

A gde gledaš? Vidi se rupa na Geosrbiji kad uključiš granice naselja.

Nisam ih tako s rupom uneo u OSM, nego sredinom Tamiša.

Da, rupa postoji. Mom racunaru treba 20tak sekundi da prikaze obe granice :frowning:

Ovo moramo da reklamiramo RGZu :wink:

Границе насеља које остављају простор између њих су званични подаци. Тачније, не припадају ниједном насељу и то је политички тако дефинисано јер га нико није хтео.

Како ове податке третирати? Логички, као што је Дуја урадио, или формално као што је РГЗ?

Ja bih išao formalno (drugim rečima - bez logike :slight_smile: ) Razlog je što ne verujem da će ijednom geokoderu ove parcele biti bitne (ili kome god još?), a ostavlja nam prostor da postignemo veću preciznost sa autoritativnim podacima, i da je merimo. Ne kažem da sad treba da idemo i prepravimo sve ovo, nego da treba tome da težimo.

Izvini na kasnom odgovoru (iz nekog razloga mi ne stižu mailovi iako sam subscribe-ovan na ovaj post). Nisam mislio da kačim ništa dok ne izađemo sa predlogom pred import mailing listu (što se možda neće ni desiti :slight_smile: ), pa evo sklepano na brzinu ovo kako sam ovo sad napravio: https://gitlab.com/osm-serbia/prostorne-jedinice-import

Za sva pitanja, otvarajte issue-e tamo, da ne odlazimo mnogo u offtopic ovde!

edit: promena URL-a do repoa prostornih jedinica

Ovako, ljudi, imam vise novosti da podelim

  1. Uradio sam analizu ovih podataka. Rezultati analize su ovde: https://kokanovic.org/rpj-analysis.csv. Kolone su:
  • district, municipality - iz RGZ-a
  • osm_municipality - kako se zove relation u OSM-u
  • relation_id - ID relacije u OSM-u (uzeo sam ga usput posto ce nam trebati kad budemo lepili maticni_broj)
  • area_diff - metrika 1, intersection(povrsina OSM, povrsina RGZ) / povrsina (RGZ), u procentima
  • points_diff - metrika 2, Pedjina metrika, suma udaljenosti svih tacaka RGZ poligona od OSM poligona. Nema neke jedinice za meru posto biblioteka koju sam koristio (shapely) radi samo sa euklidskim prostorom, tako da su njoj 22.7, 44.2 bili samo obicni brojevi. Verovatno moze da se prebaci u metre, ali sam posle shvatio da ce vrednost da zavisi od toga koliko RGZ poligon ima tacaka (vise tacaka, veci broj)

Ceo kod za ovo je na https://gitlab.com/osm-serbia/prostorne-jedinice-import (measure_quality.py). Tamo i Pedja radi, ako imate sta da dodate - pozvani ste:)

Sto se tice komentarisanja rezultata - i 50.-ti percentil kao i average area_diff za sva naselja je 95.05%. To znaci da se RGZ i OSM poligoni naselja (admin_level=9) slazu u 95% povrsine! Ili smo mnogo precizni ili je radila Resavska skola, a znamo svi sta je od ova dva:) To mi govori o tome da smo vec jako dobri i da mozemo mahom da se fokusiramo na losija naselja (npr. <90%), i da ako nema (velike) potrebe za automatizacijom popravljanja granica (ali ako je neko napravi - dobrodosla je:). Nemojte jos poceti da popravljate losa naselja, pisem u narednim tackama zasto

  1. Pricao sam sa Guillaume-om (OSMF) na OSM Srbija grupi na Telegramu oko sr:maticni_broj i on predlaze da to bude “ref:sr:maticni_broj” sto je i Duja predlozio, cini mi se. Ima li neko nesto protiv da idemo sa ovim?

  2. Poceo sam wiki stranu za import na https://wiki.openstreetmap.org/wiki/Serbia/RGZ_Import koju cemo da prezentujemo na import mailing listi kad budemo poceli sa radom (koji god to rad bio). Ovo je po https://wiki.openstreetmap.org/wiki/Import/Guidelines. Ne kazem da ce nam ovo trebati (ako se odlucimo da ne radimo nista, npr.), ali eto. Ako neko ima nesto da doda tamo sto sam ja zaboravio, slobodno! Takodje - zamolio bih da ne koristite onaj .osm koji sam dao i popravljate granice, prvo zato sto se nismo javili na mailing listu, drugo zato sto pravim uputstvo za rucno ispravljanje, trece zato sto mozda to automatizujemo (mpele mozda radi na JOSM pluginu, ja isto razmisljam o automatizaciji nekoj…)

  3. Posto je Kosovo u decembru od drzave isto dobilo granice kao opendata, uzeo sam da uporedjujem granicu Srbije i Kosova i skoro smo 100% isti! Vise detalja na wikiju za import. Ono sto nije isto je granica u OSM-u koja cik-cak-uje izmedju zvanicnih granica, pa cu da se javim na Kosovo forum da ih pitam da je popravim (neka nasa naselja su jako mala zbog ovih gresaka, npr. Ranatovce, Madjare).

  4. Sledeci korak je da dodam subarea i ref:sr:maticni_broj kad pitamo na import listi.

  5. Uspeo sam konacno da smislim kako i da uz pomoc JOSM-a “popravim” granicu Visnjiceva u ovom changeset-u: https://www.openstreetmap.org/changeset/79291720#map=13/44.9886/19.2986. Sa 98% na 100%:slight_smile: Uskoro planiram da napravim uputstvo za ovo, ali i dalje je pesacki posao sklon greskama i ako ima dobrovoljaca da se podelimo po okruzima, trebalo bi nedelju dana po 8h da jedan covek izgura jedan okrug. Jako je dosadan posao, ali okacicu uputstvo. Ako ima dobrovoljaca - javite se i birajte okrug:) Ako i planirate da nesto popravljate, opet - sacekajte slanje na import mailing listu i da napisem uputstvo, mozda vam bude znacilo.

  6. Jos razmisljam da li da pravim automatizaciju da se poprave granice. Deluje zanimljiv programerski problem, ali deluje da je veca dara nego mera - mnogo ce mi vremena ode da popravimo nesto sa 95% na 100%. Mozda da se podelimo i rucno da izgruvamo ovo sto rekoh u stavki 5… ili jednostavno da zivimo sa 95% preciznosti:)

edit: promena URL-a za repo prostornih jedinica

Ne bih se ja radovao. Pre bi se reklo da je RGZ otvorio podatke manje preciznosti, thj. one koji su već bili dostupni.

Бранко, тераш нас да се понављамо… опет морамо да се дивимо урађеном и да честитамо… :wink:

Згодно би било да се сума растојања подели са бројем тачака у РГЗ полигону, као да се и забележи максимална вредност тог растојања.

Зар није речено да се обавезно иде са импортом података - да буде 1:1 са РГЗ-ом?

Да ли је упаривање података ишло само преко назива? Чини ми се да је преко 160 насеља остало необрађено.

Pa jeste, rekli smo da hocemo 1:1 sa RGZ-om. Rekli smo obavezno. Ali ako se ne javi npr. po jedna osoba po okrugu, onda nemamo “ljudstva” i ako se ne pojavi ili radna snaga ili se ne pojavi dobra vila sa automatizovanim resenjem, moramo da cekamo “bolja vremena”:slight_smile: Ne znam kako drugacije? Ja cu napisati uputstvo i mogu da uzmem jedan okrug, ali stvarno treba jos ljudi. U paraleli, pokusacu da se igram da vidim da li moze da se automatizuje ovo pomeranje puteva i sl.

Da, namerno nisam hteo da se pravim pametan i da komplikujem logiku match-ovanja. Sve sto nije nadjeno => ne poklapa se 1:1 sa OSM-om i treba proveriti rucno, time sam se vodio. Mozda sam pogresio, ali nije ni bitno, 160/4000 je dobar procenat:)

Ако постоји толики проценат поклапања назива, онда за њих може да се направи потпуна аутоматизација.
Само би морала да се уради детаљна визуелна контрола пре самог импорта.

Upravo zato sam u CSV vadio i relation ID;) Ako imamo poklapanje po nazivu naselja i ako je poklapanje po teritoriji preko 80% (što znači da je Rakovica niška, a ne beogradska), možemo biti prilično sigurni da su ta naselja iste stvari u OSM-u i RGZ-u i dodati “ref:sr:maticni_broj”. To mi je plan da tako zalepim taj tag na 3800 naselja, a ostatak pešaka…