Ovo je nastavak prethodnog blog posta o analizi stambenih zajednica!

Novi podaci

Da ne bih davio, evo na početku blog posta sve slike i karte, pa u nastavku možete da vidite i dosadni deo u tekstualnom formatu kako je sve to i popravljeno😀. Nažalost, živimo u dobu u kome nam je attention span kao kod zlatnih ribica i veliki broj ljudi neće pročitati ni ovaj deo. Što je najgore, ima naučnih radova da čak ni zlatne ribice nemaju attention span od 5 sekundi, ali još niko nije uspeo da se koncentriše toliko dugo i da pročita i proveri taj rad.

Srbija

Ovaj funnel treba da predstavi koliko podataka iz RGZ dataset-a ima u OSM-u, gde ih gubimo i kako smo napredovali u prethodna dva meseca. Prvi red su svi podaci iz RGZ-a (uvek 100% jelte), drugi je koliko je zgrada nađeno u OSM-u, treći koliko je od tih zgrada way-ovi (a ne node-ovi ili relation-i), četvrti koliko je od tih way-ova tagovano kao „building”. Peto i poslednje koliko ih je tagovano kao „building=apartments”.

Da bi se bolje videle razlike u ova 2 meseca, možda je bolje prikazati oba funnel-a na jednoj slici:

Kao što se da primetiti, napao sam problem „odozdo”😀. Sledeće treba napasti da svi node-ovi budu prebačeni u way-ove i to i možemo, ali prvi deo funnel-a – da pronađemo i dodamo ove zgrade u OSM ne možemo nikako (legalno).

Evo i tabele koja pokazuje funnel tabelarno za sve opštine u Srbiji:

District In RGZ Found in OSM Tagged as way Tagged as building Tagged as apartments
ГРАД БЕОГРАД 21111 16621 11164 11164 11080
ЈУЖНОБАЧКИ ОКРУГ 5180 4086 36 33 29
НИШАВСКИ ОКРУГ 1908 0 0 0 0
ШУМАДИЈСКИ ОКРУГ 1172 88 81 81 80
БОРСКИ ОКРУГ 1152 374 374 374 371
ЈУЖНОБАНАТСКИ ОКРУГ 1137 96 72 72 68
ЗЛАТИБОРСКИ ОКРУГ 989 73 50 50 43
РАШКИ ОКРУГ 948 120 119 119 112
РАСИНСКИ ОКРУГ 938 19 15 15 15
СРЕМСКИ ОКРУГ 898 66 57 57 57
ПОМОРАВСКИ ОКРУГ 898 0 0 0 0
МОРАВИЧКИ ОКРУГ 841 17 1 1 1
МАЧВАНСКИ ОКРУГ 793 15 14 14 14
ЗАПАДНОБАЧКИ ОКРУГ 710 12 10 10 1
КОЛУБАРСКИ ОКРУГ 674 48 46 46 45
СЕВЕРНОБАЧКИ ОКРУГ 674 46 36 36 36
ПОДУНАВСКИ ОКРУГ 604 8 4 4 4
СРЕДЊОБАНАТСКИ ОКРУГ 592 385 20 20 20
БРАНИЧЕВСКИ ОКРУГ 537 3 1 1 1
ЈАБЛАНИЧКИ ОКРУГ 479 1 0 0 0
СЕВЕРНОБАНАТСКИ ОКРУГ 474 1 0 0 0
ЗАЈЕЧАРСКИ ОКРУГ 461 8 4 4 4
ПЧИЊСКИ ОКРУГ 336 0 0 0 0
ПИРОТСКИ ОКРУГ 238 0 0 0 0
ТОПЛИЧКИ ОКРУГ 209 1 1 1 1

Beograd

Evo jedne zanimljive mape napravljene uz pomoć QGIS alata. Ideja je da se prikažu sve stambene zajednice po Beogradu (ili barem jednom delu Beograda). Ako kliknete, otvorićete veću sliku od 2560x1440px:

Beograd je najviše „napredovao”, mahom zbog mojih izmena po Novom Beogradu o kojima ću pričati u nastavku teksta, ali i dalje imamo „samo” 70% nađenih zgrada, a od toga samo 42% su zapravo way-ovi, a ne node-ovi:

Evo i tabele po beogradskim opštinama:

Municipality In RGZ Found in OSM Tagged as way Tagged as building Tagged as apartments
ЗВЕЗДАРА 2759 2278 992 992 930
НОВИ БЕОГРАД 2617 2617 2608 2608 2597
ЧУКАРИЦА 2600 2134 895 895 895
ЗЕМУН 2194 1770 1353 1353 1349
ПАЛИЛУЛА 2055 1585 898 898 898
ВРАЧАР 1952 1680 798 798 795
ВОЖДОВАЦ 1763 1418 1011 1011 1008
СТАРИ ГРАД 1582 1267 1043 1043 1043
РАКОВИЦА 1150 960 782 782 781
САВСКИ ВЕНАЦ 1091 850 730 730 730
ОБРЕНОВАЦ 429 0 0 0 0
МЛАДЕНОВАЦ 326 0 0 0 0
ЛАЗАРЕВАЦ 306 1 0 0 0
ГРОЦКА 148 23 21 21 21
СУРЧИН 67 17 12 12 12
БАРАЈЕВО 47 21 21 21 21
СОПОТ 25 0 0 0 0

Novi Beograd

Pošto sam najviše vremena posvetio Novom Beogradu, evo i njega da pomenem. I čisto da se vidi čemu se teži, evo funnel-a Novog Beograda posle mog čeprkanja po njemu (više nije ni neki funnel, zar ne?😉)

A evo i mapa stambenih zajednica na Novom Beogradu – malo je bolja razmera (1:12500), pa mogu bolje da se razaznaju određene zgrade! Tačnost ove mape bi trebala da je kao na funnel-u – 99%😀. Kliknite da otvorite veću sliku od 2560x1440px:

A šta je to urađeno u OSM-u

Prošli put (avgust 2019.) sam pisao o analizi stambenih zajednica koju sam radio i zašto sam to radio. Tada sam na kraju rekao i sopstveni plan na dalje:

Ne znam, videćemo. Objaviću ovaj rezultat na forumu, pa ću videti šta drugi kažu. Meni je plan da popravim ove procente – verovatno ću ići od lakših ka težim stvarima:

  • Srediti puteve koji nisu tagovani kao „building
  • Promeniti postojeće „building=yes” puteve sa „building=apartments
  • Proći one delove Beograda koje znam, naći nedostajuće zgrade, dodati njih
  • Proći kroz zgrade tagovane kao node-ovi tamo gde znam (po Beogradu) i probati da ih prebacim u ways (ako je to moguće)

Može se reći da sam kompletno sredio prve 3 stvari koje sam rekao. Ovako taksativno i suvoparno:

  • Prošao sam kroz sve stambene zajednice koje su bile tagovane kao „building” i prebacio sam ih da budu „building=apartments”.
  • Na sve stambene zajednice koje nisu imale „building“ tag sam ga dodao.
  • Usput sam pronašao i da su stavljani „ele” tagovi na zgrade, a zapravo je neko hteo da stavlja „height” tagove, pa sam ispravljao i to.
  • Ispravio sam pogrešne nazive ulice, na osnovu RGZ imena
  • Bilo je par slučajeva gde nisam bio baš siguran da li je zgrada stambena ili ne. Nekad sam odustao, nekad sam je stavio da je stambena. Među najupečatljivijim primerima su Astronomska opservatorija, Muzej primenjene umetnosti, Dom Jevrema Grujića, Kuća Stevana Mokranjca… Nisam stavio da je stambena zajednica kada sam video ostale greške u mapiranju u okolini, npr. Ambasada Ekvadora. Ako neko zna drugačije i bolje, neka me slobodno ispravi.
  • Jako mi je simpatično što sam u RGZ dataset-u ovako našao najstariju kuću u Beogradu, nisam znao za nju. Ima čak i svoju wiki stranu:)
  • Što se tiče grešaka i loše unetih podataka u OSM, proglašavam Mačvansku ulicu u centru Beograda ubedljivo najgorom – ulazi i brojevi su skroz izmešani. Druga na listi mi je Vojvode Vlahovića na Medakoviću gde je svaka zgrada u prečniku od 1km imala broj „35”😵. Srediću to jednog dana ako me neko ne preduhitri😀.

Što se tiče treće stavke gde sam rekao „proći one delove Beograda koje znam”, sam sebe sam ograničio na Novi Beograd, gde ionako živim i koji najbolje poznajem, da mi bude „zamorče”. Ispalo je jako lepo – uspeo sam da dođem do toga da na Novom Beogradu SVE zgrade budu tagovane kao way-evi i kao „building=apartments!🎉🎉🎉 Da bih ovo uradio:

  • Sve node-ove sam prebacio da budu way-evi (i dodao im naravno „building=apartments”)
  • Gomila (terasastih) zgrada je bila tagovana kao jedan ogroman way i onda su node-ovi lepljeni na ulaze. To je dobro za prvu aproksimaciju, ali sam uzeo i razdojio sve zgrade kao posebne way-ove.
    • JOSM plugin bez kojega ovo ne bih mogao da uradim je Terracer – razdvajanje terasastih zgrada bi bio košmar bez njega.
  • Namučio sam se sa kako tagovati zgrade u Belvilu. Imaju više ulaza, a ime zgrade („Đurđevak”, „Zumbul”…) je zajedničko za sve ulaze. Na kraju, uz razne konsultacije, sam se odlučio da svaka zgrada bude poseban way, a da sve imaju isti „name”. Druga opcija je bila da sve zgrade uguramo u multipoligon koji ima „name”.
  • Morao sam da izađem na teren i da pogledam „ground truth” za par ulica čije se ime razlikovalo između RGZ-a i OSM-a. Čak sam morao i da slikam da bih promene uradio i u Wikipediji i Wikidati, pa sam tako izmenio imena sledećih ulica:
    • Potez „Đorđa Stanojevića” je sada postao „Bulevar Crvene Armije”. Changeset
    • „Bulevar Mihajla Pupina” sam preimenovao u „Bulevar Mihaila Pupina”. Neulazeći u to kako se čovek zvao, bulaver se zove sa „i”; u to nema sumnje. Changeset. Wikipedia. Slike.
    • „Bulevar Milutina Milankovića” sam preimenovao u „Milutina Milankovića”. Zaostalo mu je taj prefiks „Bulevara” od kada se zvao „Treći Bulevar”, a zapravo više nije. Changeset. Wikipedia. Slike.
    • Ulicu „Dr Agostina Neta” sam preimenovao u „Dr. Agostina Neta” (samo tačka dodata). Changeset
    • Ulicu „Danila Lekića Španca” sam preimenovao u „Danila Lekića-Španca” (dodata crtica). Changeset

Softverske izmene

  • Dodao sam podršku za transliteralizaciju (normalizaciju) kućnih brojeva („addr:housenumber”). Sada se vodi kao pronađena i zgrada na kojoj piše „10G” (a ne samo i isključivo „10Г”). Nažalost, kućni brojevi su užasno izmešani između ćirilice i latinice (sa razlogom, nijedan geocoder ne radi sa ćiriličnim kućnim brojevima!). Plan je da započnem neku diskusiju na forumu u vezi ovoga.
  • Dodata podrška za relacije (ne samo za node-ove i way-ove)
  • Dodata podrška da izlazni HTML nije ograničen na samo jedan node ili way, već će sada da izlista sve entitete koji imaju dati „addr:street” i „addr:housenumber”.

Šta dalje

Ne znam da li ima smisla ići po ostatku Beograda kao što sam išao po Novom Beogradu, deluje kao sizifov posao. Možda odradim neke centralne opštine, ali ne garantujem. Sada najviše ima smisla prebaciti preostale node-ove na way-ove što bi trebalo da je pešački posao (da se drugi korak u funnel-u poboljša) i tražiti od RGZ-a da nam da ulice i brojeve kao open data (da se prvi korak u funnel-u poboljša).

Probaću da pokrenem diskusiju na forumu o kućnim brojevima, baš mi je nepoznanica šta da radimo sa njima.

Drugu diskusiju koju bih takođe voleo da pokrenem je oko „addr:city” i „addr:postcode”. Nije da naše zgrade to nemaju (daleko od toga!), ali tu ima svačega, valjalo bi to unormalizovati nekako.

Čekam i da RGZ izbaci novi dataset, da bih razvio preostale diff algoritme – da vidimo koje zgrade su izbačene iz RGZ dataset-a i da ih izbacimo onda i iz OSM-a (ili prebacimo u nešto drugo?), i da vidimo koje su dodate, da njih dodamo. Bilo bi lepo da ove izbačene i nove zgrade budu nekako drugačije predstavljene i u generisanom HTML-u, ali sve ovo otom-potom.

Do nekog sledećeg meseca i novog update-a – hvala na pažnji😀