Upisivanje granica RH u OpenStreetMap

Došli smo i do tog zadatka.
Imamo podatke na našem serveru, više o objavi podataka ovdje.

Sada smo dobili .geojson svih granica na slijedećem linku.

Prvi problem na koji sam došao jest taj da su granice u geojson formatu napravljene tako da je svaka granica jedan poligon. Geojson sam prebacivao u .osm sa alatom geojsontoosm, ali onda se desilo slijedeće. Taj alat je duple točke, točke sa identičnim koordinatama spojio u jednu točku. To je napravilo da je izašao .osm gdje je svaka općina jedan way, sa točkama koje se koriste u way-ovima susjednih općina. Dakle nemamo relacije. Zapravo, relacije imamo, ali samo kod općina koje su na nekoliko otoka, ili imaju eksklave ili enklave.

Onda sam pogledao kako smo to napravili u Sisačko-Moslavačkoj županiji, i našao sam na Telegram kanalu kako pričamo o tome:

Datum 2021-01-24

Tamo mi je @Branko_Kokanovic dao skriptu koja je nešto radila sa našom datotekom, moram to još proučiti:

2 Likes

Moram pisati dnevnik kako ne bih ja (ili netko drugi) za 5 godina morao ovo opet proučavati. Uspio sam jučer iskoristiti skriptu za popravak geometrije granica. Ogr2osm je imao jedan veći breaking change prije 4 godine, tako da naša translate skripta za popravak geometrije granica ne radi sa novom verzijom. Klonirao sam repozitorij ogr2osm-a i vratio ga na commit 37b4cb4, i skripta je proradila. Granice su se pretvorile u multipoligone, još mi samo rade probleme naši dijakritički znakovi u imenima općina.

Skriptu bi bilo moguće nadograditi da radi sa novom verzijom ogr2osm-a, ali ispalo je malo kompliciranije nego što piše na uputama za upgrade. Treba promijeniti imena funkcija, dodati klasu, ali našu najvažniju funkciju preOutputTransform(geometries, features) treba pretvoriti u process_output(self, osmnodes, osmways, osmrelations). Dodao sam nodes, ways i relations umjesto geometrije, ali nisam imao pojma što raditi sa features. Navodno su features pojedine geometrije koje imaju tagove, ali se zakompliciralo…

Znači još mi ostaju dijakritički znakovi, pa idemo na slijedeći korak.

1 Like