RGZ otvorio registar prostornih jedinica - plan za import

Jesam, video sam za ref pa sam ispravio u mojoj poruci.

Ja pokušavam nešto da napravim od ovih podataka, ali mi slabo ide. Raspitivao sam se i saznao da ne postoji način da se programski zamene boundaries sa drugim granicama. Tu su državne granice, prirodne granice (reke), zalepljeni drugi node-ovi koji se ne mogu pomerati…odustajem od ovog pristupa. To znači i da odustajem od pristupa da čuvamo istoriju. Ja ovaj import ne znam da izvedem na ovaj način i rade volje prepuštam ceo import onome ko ovo zna.

Ono što su skoro uradili na Kosovu je dokumentovano ovde: https://lists.openstreetmap.org/pipermail/imports/2019-November/006113.html. Inače, taj momak (Guillaume) mi je dosta saveta dao ovde. U tom mailu su opisani alati i način rada (donji deo mail-a vezan za boundaries). Ja sad pokušavam da napravim .osm fajl koji može da se uveze u JOSM i uspeo sam da napravim neku osnovnu, sirovu verziju: https://kokanovic.org/osm/rpj-v1.7z

Molim vas, NIKAKO ne koristite ovo za uvoz u OSM.

Ono što je sigurno je da treba da krenemo “odozdo”, tj. da prvo unesemo/popravimo admin_level=9 (naselja) i da puteve koji grade te relacije upotrebimo i za opštine i na dalje. Pošto opština ima manje od 200, možda to i na dalje može i ručno da se napravi. Ali, ne znam dovoljno JOSM da vidim kako od ovog .osm fajla nastaviti dalje. Generalno, stanje u OSM-u u odnosu na RGZ uopšte nije loše, dosta smo (bar sa admin_level=9) dobri.

Ne znam šta dalje da radimo - ovo što imamo je dovoljno dobro, a ne znam kako da nastavimo ako hoćemo da importujemo ovo iz RGZ-a. Ako želimo da popravljamo geometriju postojećih way-ove, to možda može, da se podelimo po okruzima i treba nam uputstvo kako to izvesti iz JOSM-a tako da bude lako za rad i da ne uništimo i ispomeramo sve okolo. Imamo sad .osm fajl, samo treba da postojeće puteve popravimo. Tu ima JOSM plugin koji može da menja way-ove (https://wiki.openstreetmap.org/wiki/JOSM/Plugins/utilsplugin2#Replace_one_way_with_another_way) a trebaće i “ContourMerge” pomenut u mailu kod Kosova, jer ima dosta mesta u RGZ dataset-u da nisu slepljeni putevi (ima rupa izmedju naselja).

Sa druge strane, ako želimo da izbrišemo postojeće way-ove i zamenimo ih novima - i to može, ali ne znam tačno kako. Morao bih da radim na ovom generatoru .osm-a da može da merge-uje postojeće tagove iz postojećih naselja. Tu ima prevoda na druge jezike, ima wiki tagova i sl. koje želimo da sačuvamo. Ima admin_center node-ova koje isto želimo da sačuvamo. Sve to onda mora da završi u .osm fajlu. Ali čak i da izbrišemo postojeće puteve i zamenimo ih novim i napravimo nova naselja, moramo postojeće way-ove da zamenimo u svim drugim relacijama admin_level < 9 (opštine, gradovi…). Nemam ideju kako bi sve ovo izveli da ne potrošim mnogo dana da ovo isprogramiram, a šteta (gubljenje istorije, gubljenje tagova) bi bila velika. Daljnja iskoristivost ovog programa bi bila ravna nuli. Trenutno nisam za ovaj pristup.

Treba nam neki JOSM guru da pomogne, koji može da uzme ovaj .osm fajl, da nam kaže kako da najbolje uvezemo ovo iz njega i pomerimo postojeće “outer” puteve - ja bih najradije bio za to. Inače, evo šta ja radim - odem u JOSM-u na “Download data…”, kartica “Download from Overpass API” i unesem npr.:


[out:xml];
area["name"="Сремски управни округ"]["admin_level"=6]->.a;
(
  relation(area.a)["boundary"="administrative"]["admin_level"=9];
);
(._;>;);
out;

tako dobijemo layer sa OSM podacima. Onda uvezete naš .osm i… dalje ne znam:)

Бранко,
На основу ових података које си припремио за Срем, да ли уопште има потребе да се увозе подаци? Може се просто, ручно, на пар места, извршити корекција тренутних граница. Битно је само да се геометрија поклапа, а положаји самих тачака које дефинишу геометрију не морају да буду исти (бар по мојим схватањима очекиване прецизности).

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 насеља остало необрађено.