RGZ otvorio registar prostornih jedinica - plan za import

Бранко, тераш нас да се понављамо… опет морамо да се дивимо урађеном и да честитамо… :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…

Napisao sam uputstvo za ručno pomeranje puteva. Ostavljam vam da sami procenite koliko je teško tako što ćete probati da se poigrate:
https://wiki.openstreetmap.org/wiki/Serbia/RGZ_Import/Uputstvo

Ako vidite greške u uputstvu, popravite.

Ja stvarno cenim da jedna ispraksirana osoba može da obradi jedan okrug za 1-2 nedelje x 8h dnevno (ali naravno, ne mislim da bi iko mogao mentalno da izdrži da ovo radi 8h u kontinuitetu :smiley: )

Бранко,

Ако имам два назива насеља, могу ли са упитом да добијем way који је део релација обе границе (заједнички сегмент)? Ако је то изводљиво, онда је лако аутоматизовати замену тачака. Од неизвесних ствари, остало би само да се технички реши питање заједничих тачака на почетку/крајеву сегмената.

Obratite pažnju da ima i područja koja imaju “eksklave”. U Vojvodini su to Jazak i Jazovo, za koje mi se čini da Brankov metod daje loše rezultate za area_diff (uzima samo jednu oblast) te Nadalj, čiju eksklavu nisam ni uneo u OSM (jer mi je i dan-danas čudno da se nalazi toliko daleko od sela).

Takođe, ima naselja čija imena na OSM nisu ista kao u RGZ. Što se Vojvodine tiče, to su Grgeteg (u RGZ je stariji i danas ređe korišteni oblik Grgetek) i Vojvoda Zimonjić (u RGZ je oblik Zimonić koji je verovatno nekom greškom ušao u opticaj, naselje je nazvano po vojvodi Bogdanu Zimonjiću). Opština Sremski Karlovci ima samo to naseljeno mesto pa i nema relaciju admin_level=9. Zaselak Obornjača u opštini Bačka Topola je napušten, pa taj atar nisam ni uneo; verovatno po Srbiji ima još napuštenih sela pa ne vidim mnogo smisla unositi ih.

Usput sam popravio par imena na OSM koja su bila materijalne greške (Buđevo, ne Budevo, kod Sjenice, Tićevac kod Trstenika). Za neke atare i dalje daje podatke -1 (Donje Međurovo, Bubanj kod Niša, ), mada sve izgleda u redu. Verovatno je problem što su u opštini ПАЛИЛУЛА (НИШ), čije ime se ne parsira dobro – treba odstraniti zagrade iz imena sa RGZ.

Update:
Okačio sam na import mailing listu objavu da planiramo import: https://lists.openstreetmap.org/pipermail/imports/2020-January/006149.html
Pitao sam na Kosovu da popravim granicu i za Kopaonik: https://forum.openstreetmap.org/viewtopic.php?id=68476. Na Telegram grupi su mi rekli da je granica koju oni imaju stara granice sa autonomne pokrajine, a da je naš RGZ pre 4 godine “gurnuo” granicu u Kosovo i da je to bila vest na Kosovu:

Neću da diram tu granicu, neka je takva-kakva je.

Planiram da uskoro unesem sve “ref:sr:maticni_broj” tamo gde može i da unesem ručno ovo gde ne može i da popravim ime tamo gde može (tj. tamo gde Duja nije:)

Da, iskreno, nisam mnogo trošio vremena na ovo, bitno mi je bilo da izguram ove “normalnije” geometrije:) Pogledaću detaljnije kad unesem “ref:sr:maticni_broj” da li mogu da popravim proračun za area_diff.

Ne znam kako konzistentno da se “borimo” protiv ovoga. Ne bih baš sve da verujemo RGZ-u (npr. Gregeteg i Zimonic bih ostavio, možda dodao RGZ nazive u “official_name” ili “alt_name”, a ne bih dodavao ni “(Niš)” na Palilulu u Nišu ili na druga takva mesta, pošto su ionako to dodali samo da bi ime bilo jedinstveno). Sa druge strane, ja bih da ta zapuštena sela unesemo, jer ne verujem da možemo da obilazimo celu Srbiju i da mi odlučujemo da li je nešto napušteno ili ne. Šta misliš?

Hvala što si javio, pogledaću sad kad budem unosio “ref:sr:maticni_broj”, ko zna kakve sve bugove imam:)

Први тест (полу)аутоматског кориговања граница по РГЗ подацима је успешно изведен https://www.openstreetmap.org/changeset/79841564#map=15/44.9426/19.8971 .

Рекао бих да је овај начин употребљив у великом обухвату, али да је сада потребно да се реше још пар ситних детаља.

U međuvremenu sam prošao gotovo sve one koji su imali -1 pa ispopravljao. Bilo je tu svega, razlikovala su se imena naselja i relacija, ili su se oba razlikovala od RGZ, jedno selo je nedostajalo… ako ništa drugo, sad imamo čistiju situaciju. Nisam prolazio kroz ona koja imaju zagradu u imenu jer znamo ta nisu dobro uparena. Verovatno sam još pokoje propustio, ili postoji još poneki bag u algoritmu.

Neka od imena sam sredio, i iskoristio old_name ili alt_name da upišem alternativna (uvek napravim celu četvorku, dakle old_name, old_name:sr, old_name:sr-Latn i old_name:en). Nema puno takvih slučajeva, ali ih nisam zapisao. :smiley: Da se izvući programski.

Slažem se da unesemo i ta napuštena, ova Obornjača je ionako bila zaselak pa joj je atar samo obuhvatao granice sela, ne i okolne njive.

Nego, pade mi još na pamet: zna li neko kako da nađemo granične linije koje su deljene sa nekim drugim objektom, kao što je potok ili put, da ne napravimo karambol?

U idealnom svetu administrativne granice bi bile lejer za sebe, i na OSM wiki je preporučeno da se boundary tagovi ne stavljaju na fizičke objekte, osim u izuzetnim slučajevima. Koliko sam ja prošao u ovoj poslednjoj turi, to je kod nas i ispoštovano: našao sam samo jedan deljeni way, a u Vojvodini sam ih ja unosio pa sam siguran da ih nema.

Dakle, trebao bi nam jedan upit za sve boundary=administrative koje na sebi imaju još neki tag pride (mislim da je dovoljno tražiti waterway i highway?)

Edit: napravih ga sam, nije bilo teško, a nije ni strašno.
http://overpass-turbo.eu/s/PX2
24 way-a ukupno, verovatno (ne)delo istog čoveka :wink:

Такав је и план да се уради - додаће се нове тачке које ће дефинисати границе.

Mislim da su ti “ispali” node-ovi od prethodnog way-a. Vidim ih iz iD editora kada otvorim tu lokaciju. Treba ih pobrisati u istom changeset-u. Ako to ne uradimo, ostavljaćemo smeće za sobom.

Da li ima neko uputstvo kako si ovo izveo, bolje bi bilo da svi vidimo kako tačno ovo radiš, što da više očiju vidi, što da potencijalno pomognemo, što da ostane za sledeći put kada RGZ da novi dataset. I ako koristiš https://gitlab.com/stalker314314/prostorne-jedinice-import/blob/master/preklapanja.py, čisto da znaš da ovo neće rešiti boundaryje koji nisu deljeni između dva naselja, ali to verovatno znaš. Ja ću probati u februaru da se igram, da od .osm fajla (što je XML) uradim conflate-ovanje, ali za to mi naravno treba unet “ref:sr:maticni_broj” (i regeneracija .osm-a da to sadrži) pa mi je fokus na tome.

Nije samo way-ovi, može da bude i node-ova sa nekim značenjem zakačenim za boundary way, treba i na to paziti. U svakom slučaju, to treba razdvojiti, što kaže mpele. Ja sam za to da ceo proces promene puteva ništa ne radi čovek i da uradimo skriptom, pošto će automatizacija pomoći i kada RGZ ponovo okači nov update, ali ako hoćete pešaka, ko sam ja da branim:)

Počistio sam sve, tj. razdvojio sve administrativne granice od puteva, potoka i pruga iz gornjeg upita. Da li ima tu još nekih gluposti, tipa da dele granice sa kakvim landuse=, stvarno ne znam.

Ja neću pešaka, već sam jednom ubeleo dok sam ih unosio prvi put… ali sam se uvežbao. :stuck_out_tongue: Jbg, nije mi radila kristalna kugla da će se importovati za manje od godinu dana.

Као што сам више пута до сада помињао то је остављено за други корак. Провера да ли та тачка припада још нечему је превише “скупа”, а све те тачке које не припадају ниједном путу или релацији и немају додатне тагове се могу врло лако и ефикасно обрисати накнадно.

Иначе, овај тест је требао да покаже техничку могућност замене тачака, као и коректност промене пројекција.

Урадио сам commit тренутног стања. Скрипта није готова, али снаћићеш се већ https://gitlab.com/mpele/prostorne-jedinice-import/commit/dd38808b1bb48937821c59dab0e7cd7a72359316 . Улаз је излаз из претходне скрипте.

Једино што нисам сигуран како је најбоље извести је да крај/почетак једног сегмента буде почетак/крај другог сегмента границе. Како елегантно одредити да ли већ постоји тачка са истим координатама? Да ли и то накнадно сређивати са већ постојећим алатима за верификацију (нпр. ЈОСМ)?

Ubacio sam “ref:sr:maticni_broj” za sva naselja gde se poklapalo ime i imali su više od 75% zajedničke teritorije. Ovo je kod.

Ostalo je još 91 naselje u OSM-u koje nema “ref:sr:maticni_broj” i još 99 naselja iz RGZ-a koje nisu iskorišćena u ovom postupku. Sad ide pipavi i pešački deo - nije bitno potrefiti geometriju, ali treba dodati ispravan “ref:sr:maticni_broj”. Ja ću da krenem da radim ovo polako. Ako neko želi da mi se pridruži, evo upit da vidite šta još fali, a ja krećem odozdo, tako da ko hoće, nek krene sa severa, pa se nađemo u Šumadiji:) Možete i na PM da me cimnete, ako želite da pomognete, ali niste sigurni kako.

[out:xml];
area["name"="Србија"]["admin_level"=2]->.a;
relation(area.a)["admin_level"=9][!"ref:sr:maticni_broj"];
(._;>;);
out;

Gde da nađem tabelu s matičnim brojevima? Verujem da je navedeno negde gore ali sam propustio.

Imaš na https://opendata.geosrbija.rs/ (ako se registruješ), a okačio sam i ja na https://kokanovic.org/opendata-rgz.7z. Trebaju ti naselja.csv. Druga kolona su matični brojevi. Ja za sad što nalazim, to su na tri mesta bili premale površine da bi ih skripta unela (ali dobra su naselja bila inače) i onda još 3 naselja koja su bila pridružena pogrešnim opštinama (pa ih zato skripta nije našla). Primeri takvi i kako sam ih premestio (bez JOSM-a ovde ništa!):
https://www.openstreetmap.org/changeset/79940649
https://www.openstreetmap.org/changeset/79940160
https://www.openstreetmap.org/changeset/79939812

Samo dodaj “RGZ_Import” za source kada commit-uješ changeset.

Sredio sam jedno pola. U amanet ti ostavljam niške i beogradske gradske opštine, pojma nemam šta bih s njima. :confused: U suštini, administracija je tu na silu pocepala gradove na naselja, iako je sve to prirodno jedno naselje.

Lepo si ti ovo pokidao. Cepam ja ostatak, ne znam ni ja sta da radimo sa gradovima…