Ovaj tekst sam napisao ispred OSM zajednice, a pošto je mojih ruku delo, prenosim ga i ovde (doduše, malo prerađenog za moj privatni blog).
---

Početkom decembra 2021. je OpenStreetMap zajednica Srbije pokrenula akciju mapiranja objekata (zgrada) u Mladenovcu. Ovo je bila prva akcija mapiranja neke teritorije koju smo pravili i nismo znali šta da očekujemo. Evo, posle samo 2 meseca (ceo decembar 2021.-e i ceo januar 2022.-e), ceo projekat je već gotov! Sve smo očekivali, ali da bude gotovo ovako brzo – e, to nismo😀. Obrađeno je 100% teritorije opštine Mladenovac, na projektu je učestvovalo 8 ljudi i uneto je čak 37.000 objekata. Najviše je dominirao član „soliMM” koji je i uradio najviše. Pošto je Mladenovac oko 0,5% teritorije Srbije, ovim tempom bismo završili celu Srbiju za 33 godine (deluje dosta sporo😀, taman nakon toga da uradimo još jedan prolaz😀), ali treba uzeti u obzir da broj ljudi koji učestvuje u mapiranju može samo da raste vremenom.

Slike pre i posle

Ako ima jedna slika da obeleži ovaj projekat, to je ova (klik za HD verziju od 6 MB!):

Optimistično smo pre početka projekta uzeli slike Mladenovca, pa mogu da prikažem ovde par uporednih fotki. Evo par GIF-ova koji treba najbolje da dočaraju ove pre-posle momente, nalik ovako jednom (klik za veću rezoluciju):

Šta dva meseca razlike učine gradu😀

Slike su ogromne i nisam hteo da ih ubacim direktno u ovaj članak (da Vam ne posrču sav protok i uspore učitavanje), pa ovde možete naći linkove na najzanimljivije delove. Ne zaboravite da svaku sliku možete da zumirate i ih gledate na 100% zumu:

Analize

Sada kada su svi objekti i kuće ucrtani, otvaraju se i mogućnosti za razne analize. Kao što sam već pomenuo, ukupan broj objekata (kuća, zgrada…) u OSM-u je sada oko 37.000. To se može videti sledeći Overpass upitom:

[out:json][timeout:15];
area["name"="Градска општина Младеновац"]->.searchArea;
(
  way[building](area.searchArea);
);
(._;>;);
out;

Za one koji ne znaju, Overpass je jako zgodan način da se query-uju OSM podaci. Jezik nije baš intuitivan, ali veoma moćan alat! O njemu možete više pročitati na OSM wikiju.

Broj objekata po naselju

Pošto u OSM-u imamo perfektno ucrtane i granice svih naselje, lako možemo sad da izračunamo i broj objekata po naseljima unutar opštine Mladenovac, i on izgleda ovako:

Naselje Broj objekata
Mladenovac (varoš) 6460
Kovačevac 4403
Velika Krsna 3092
Koraćica 2824
Vlaška 2554
Jagnjilo 2127
Velika Ivanča 2103
Međulužje 1878
Rabrovac 1472
Rajkovac 1455
Dubona 1115
Mladenovac (selo) 1062
Amerić 1018
Granice 988
Pružatovac 954
Šepšin 936
Markovac 647
Beluće 547
Mala Vrbica 447
Senaja 430
Crkvine 262
Beljevac 153

Da bi se dobila ova tabela, opet je Overpass koristan, i ovaj query daje rezultat:

[out:csv( name, ways)];
area["name"="Градска општина Младеновац"]->.searchArea;
(
  relation(area.searchArea)["admin_level"=9]["ref:RS:naselje"];
  map_to_area;
);
foreach->.regio (
  (
    way(area.regio)[building];
  );
  make count
             name = regio.set(t["name"]),
             ways = count(ways);
  out;
);

Ovo može da se proširi, npr. ako znamo broj stanovnika u naselju (ne znam jel ta statistika postoji, znam da postoji po opštinama samo) ili npr. ako uzmemo površinu naselja možemo da izračunamo gustinu objekata u naselju, ali sve ovo ostavljam kao „vežbu čitaocu”😀.

Obim i površina svih objekata

Jedna zanimljiva analiza koja može da se uradi je da se izračuna površina svih ovih objekata (tj. površina tlocrta)! Naravno, to umnogome zavisi od kvaliteta ucrtanih zgrada, ali nas ne zanima ovde ništa precizno, već samo okvirno. Npr. ono što možemo da izvučemo sa teritorije Mladenovca je da je prosečan obim objekata 42m, medijana obima 40m, a što se tiče površina – prosečna površina je 115m2, a medijana 91m2. Meni ovo deluje malo više nego što bih očekivao, moguće je da maperi uvek „zahvate” malo više od objekta dok ga crtaju (nego što je realno), pa zato ispadne ovako visoko. Možda su drugi objekti (industrijske hale, tržni centri, štale…) stvarno izguraje prosek ovako visoko. A možda samo Mladenovčani uživaju u ovako prostranim kućama😀. Interesantno je videti i histogram površine (x- osa su opsezi površina, a y-osa je broj objekata u tom opsegu):

Orijentacija kuća

Inspirisan sjajnim projektom orijentacija ulica, bilo mi je zanimljivo proveriti da li ima ikakve pravilnosti kod orijentacije kuća. Tj. da li se kuće zidaju tako da prozori gledaju na neku određenu stranu sveta. Za ovo se iz QGIS-a koristi metoda „Oriented minimum bounding box” koja za neki poligon izvuče njegov glavni ugao. Ti uglovi idu od 0° do 180°, pa je za potrebe grafičkog prikaza napravljena simetrija (na grafiku su od 180° do 360° iste vrednosti). Kada se iscrta na polarnom grafiku, to izgleda nekako ovako:

Sad… definitivno postoji neka pravilnost… Dominiraju istok-zapad orijentacije (i u manjoj meri ostali pravci). Ovo mi nema baš mnogo smisla, jer ako je duža strana kuće u pravcu istok-zapad, onda prozori većinom gledaju na sever ili jug??? Ova druga orijentacija (severozapad-jugoistok) mi ima više smisla, pa čak i ova sever-jug ima najviše smisla jer je valjda najbolje da prozori budu istok i zapad? Severoistok-jugozapad opet i ne baš. Vrlo moguće objašnjenje je da su kuće većinski pravilni kvadrati i da algoritam onda u 50% slučajeva pogreši smer, pa ovo nije toliko simetrija koja preslikava 0°-180° na 180° na 360°, već više da se 0°-90° preslikava u sva četiri kvadranta (što, gledajući grafik ima smisla donekle). Definitivno se primećuje da dominiraju glavni smerovi (sever, istok, jug, zapad). Bilo bi zanimljivo odraditi istu ovu analizu i za druge opštine, da li bi smo dobili iste rezultate? I ovo ostavljam kao „vežbu čitaocu” da nastavi😀.

Najusamljenija kuća

Jedna interesantnija analiza, u ovim vremenima kada svi gledaju da pobegnu van grada, je naći najizolovaniju kuću u Mladenovcu. Npr. želite vikendicu, želite da je blizu Beograda, ali ne želite ljude oko Vas. Kako naći takvu kuću? Pa lako sada kada imamo ucrtane sve objekte! Prvo se sve kuće učitaju u programu QGIS i onda se uradi analiza „Join attributes by nearest”. Ovim se za svaki objekat nađe objekat najbliži njemu. Pošto van opštine Mladenovac zgrade mahom nisu ucrtane, odlučili smo da i sama granica opštine bude jedna fiktivna „zgrada” za potrebe ove analize (inače ne bi bilo fer pošto bi se u suprotnom kuće najbliže granici opštine vodile kao najudaljenije). Kada se to izračuna, evo top 10 objekata koji se nalaze najudaljeniji od drugih objekata (klik za veću rezoluciju):

Najudaljeniji među najudaljenijima😀

Ljubičasto su ucrtani objekti. Analiza može da se izvede verovatno i bolje jer npr. dva objekta jedan do drugoga (recimo štala i kuća) poništavaju jedan drugog i, čak iako su udaljeni 2km od sledeće najbliže kuće, neće se videti na ovoj analizi. Da li možete da smislite pametniji pristup? No, neke stvari se naziru i ovde. Npr. ako hoćete da se izolujete na Kosmaju – srećno Vam bilo, to izgleda nemoguće😀. Takođe potez od Mladenovca ka selu Dubona ima najviše ovakvih izolovanih objekata. I ovaj deo severno od sela Jagnjilo isto (tamo na jugu gde je ova kuća udaljena 820m). Ali apsolutni pobednik je neki objekat udaljen 1174m od prve sledeće kuće – evo je veza ka objektu u OpenStreetMap-ama. Hajde da ga vidimo iz satelita😀 (klik za veću rezoluciju):

Raj na ZemljiMladenovcu

Vidite ovu tačkicu u žutom krugu? E, to je možda Vaša nova vikendica😀. Evo malo bliže (opet klik za veću rezoluciju):

Kuća jeste, štala nije

Da, definitivno je neki objekat za život, a ne štala, plastenik ili sl. Svaka čast, ko god da je, može da kaže da je najudaljeniji od drugih u Mladenovcu😀.

Najudaljenija tačka od drugih kuća

Sada kada znamo koja je najudaljenija kuća u Mladenovcu, i ako pretpostavimo da ne možemo da je kupimo, sledeće logično pitanje je – a gde da kupimo plac da sagradimo novu takvu kuću? Tj. koja je tačka u Mladenovcu koja je najudaljenija od prve sledeće kuće. Da bismo uradili ovakvu analizu, moramo da koristimo QGIS. Prvo treba da napravimo „grid“ tačaka po Mladenovcu (razmak od 20m od tačke do tačke će biti dovoljan za naše potrebe preciznosti), a kada imamo izgenerisanu mrežu, onda treba da izvršimo istu operaciju „Join attributes by nearest” (samo sad treba da poredimo sloj tačaka sa novonapravljene mreže sa slojem zgrada). Onda ovakvu mrežu treba da rasterizujemo („Rasterize (vector to raster)”. Kada to iscrtamo dobijemo nešto ovako:

Za odabir boja možete zahvaliti mojoj 8-godišnjoj ćerci😀

Opet dominira deo ka Duboni, deo severno od Jagnjila i deo severno od Vlaške. Pošto ovakvo crtanje raster sloja preko OSM mape ne govori mnogo, možemo nad ovim rasterom da uradimo operaciju „Contour” i da dobijemo linije iste udaljenosti od najbliže kuće. Tako nešto izgleda ovako:

Zvaćemo ih izo-Jovanjice – linije najveće udaljenosti za gajenje marihuane što dalje od nepoželjnih očiju

Evo još jedna slika uveličana na ovu zonu sa najvećom udaljenošću:

Skreneš levo kod Velike Krsne i tu si😀

Kao što se vidi, ima čak jedan deo gde je udaljenost čak preko 1700m!

Sve u svemu, ovi podaci neprocenjivo obogaćuju OSM mapu. Ako ne računamo besmislene analize za traženje vikendica😄, oni imaju široke primene, od orijentacije planinara do doktorskih radova na temu lokacijske procene štete zemljotresa na osnovu broja i tipa objekata (da, i to se radi na osnovu OSM podataka!). I zato treba da poboljšavamo OSM mapu, zgradu po zgradu, opštinu po opštinu!