Izračunavanje gustine raskrsnica ulica (QGIS3)

Gustina raskrsnica ulica je korisna mera povezanosti mreže. Moguće je izdvojiti i agregirati raskrsnice ulica preko pravilne mreže da bi se izračunala gustina. Ova analiza se često koristi u projektovanju transporta, kao i u urbanom planiranju, kako bi se utvrdila pešačka dostupnost naselja. Zahvaljujući dostupnosti globalnog skupa podataka o uličnoj mreži iz OpenStreetMap-a i QGIS-a, možemo lako izračunati i vizualizovati gustinu raskrsnica za bilo koji region sveta.

Pregled zadataka

U ovom tutorijalu, uzećemo podatke putne mreže OpenStreetMap i izračunati gustinu raskrsnica ulica za grad Čenaj u Indiji.

Druge veštine koje ćete naučiti

  • Kako preuzeti podatke OpenStreetMap-a kao shapefile-ove i iseći ih na područje koje vas zanima.

  • Kako kreirati mreže u QGIS-u.

Dobijte podatke

Koristićemo podatke sa sajta opencities da bismo dobili granice grada za Čenaj, a zatim podatke o putnoj mreži sa sajta OpenStreetMap Data Extracts za Indiju.

Preuzmite gradske granice

  1. Posetite veb-sajt opencity, a zatim potražite „mapa naselja Čenaja“.

../../_images/data14.png
  1. Kliknite na prvi link i preuzmite podatke u KML formatu. Sloj „Chennai-wards-2011.kml“ će biti preuzet.

../../_images/data22.png

Preuzmite putnu mrežu

  1. Posetite server OpenStreetMap Data Extracts download kompanije GEOFABRIK. Za ovaj tutorijal, potrebni su nam podaci za grad Čenaj u Indiji. Kliknite na Asia.

../../_images/data32.png
  1. Sada u podregioni, izaberite Indija.

../../_images/data42.png
  1. Tražimo datoteku „.shp.zip“ za :guilabel:„Južna zona“. Kliknite na link da biste je preuzeli.

../../_images/data52.png
  1. Ovo je velika datoteka za preuzimanje koja sadrži izvod podataka za celu zemlju. Raspakujte datoteku „southern-zone-latest-free.shp.zip“. Dobićete mnogo slojeva shapefile-a.

../../_images/data62.png

Pričvrstite putnu mrežu za granicu grada

  1. Sada ćemo iseći sloj puteva na nivou države na područje koje nas zanima. Otvorite QGIS i prevucite i ispustite datoteku „Chennai-wards-2011.kml“.

../../_images/data72.png
  1. Umesto otvaranja velikog sloja u QGIS-u, možemo ga direktno pročitati sa diska i iseći ga. Otvorite Processing Toolbox i pronađite algoritam Vector overlay ‣ Clip. Dvaput kliknite da biste ga otvorili.

../../_images/data81.png
  1. U Ulazni sloj izaberite i kliknite na Pretraži sloj…

../../_images/data91.png
  1. Idite do direktorijuma gde ste preuzeli podatke OpenStreetMap-a i izaberite gis_osm_roads_free_1.shp. U sloju Overlay layer izaberite New Wards from Oct 2011. Zatim kliknite na u Clipped i izaberite Save to File…, pregledajte fasciklu u kojoj želite da sačuvate rezultate, unesite ime kao chennai_roads.gpkg i kliknite na Run.

../../_images/data101.png
  1. Kada se obrada završi, novi sloj „chennai_roads“ će biti učitan na platnu.

../../_images/data112.png

Radi lakšeg snalaženja, možete direktno preuzeti kopiju isečenog skupa podataka sa linka ispod:

Izvor podataka: [OPENCITIES] [GEOFABRIK]

Procedura

  1. Sada će biti dostupna oba sloja korišćena za proračun. Ako ste preuzeli podatke, pronađite datoteke Chennai-Wards-2011.kml i chennai_roads.gpkg u Pregledaču, a zatim ih prevucite i ispustite na platno.

../../_images/image1.png
  1. Prvi zadatak je izdvajanje raskrsnica puteva. To se može uraditi pomoću ugrađenog alata za preseke linija. Hajde da ovo prvo testiramo na malom podskupu da vidimo da li su rezultati zadovoljavajući. Izaberite sloj puteva i koristite alatku Izaberi objekte po oblasti da biste nacrtali pravougaonik i izabrali nekoliko puteva.

../../_images/image2.png
  1. Otvorite Kutiju sa alatkama za obradu i pronađite algoritam Vector overlay ‣ Line intersections. Dvaput kliknite da biste ga otvorili.

../../_images/image3.png
  1. Izaberite chennai_roads kao Ulazni sloj i Sloj preseka. Obavezno označite Samo odabrane karakteristike. Kliknite na Pokreni.

../../_images/image4.png
  1. Biće dodat novi sloj „Raskrsnine“. Primetićete da, iako je većina tačaka preseka tačna, postoje i neki lažno pozitivni rezultati. To je zato što algoritam smatra preseke svakog segmenta linije kao validnu raskrsnicu. Ali za našu analizu, potrebno je da izdvojimo samo raskrsnice kada se seku 2 ili više ulica.

../../_images/image5.png
  1. Uklonite sloj Raskrsnice i kliknite na dugme Poništi izbor objekata iz svih slojeva da biste uklonili izbor. Sada ćemo spojiti sve susedne segmente puta, tako da se segmenti između raskrsnica spoje u jedan objekat. Otvorite kutiju sa alatkama za obradu i pronađite algoritam Vektorska geometrija ‣ Rastvaranje. Dvaput kliknite da biste ga otvorili.

../../_images/image6.png
  1. Izaberite chennai_roads kao Ulazni sloj. Unesite naziv Rastvorenog izlaznog sloja kao roads_dissolved.gpkg. Kliknite na Pokreni.

../../_images/image7.png
  1. Dobijeni sloj „roads_dissolved“ ima sve segmente puta spojene u jedan objekat.

../../_images/image8.png
  1. Zatim, otvorite alatku za obradu i pronađite Vektorska geometrija ‣ algoritam od više delova do pojedinačnih delova. Dvaput kliknite da biste ga otvorili. Izaberite sloj roads_dissolved kao Ulazni sloj. Unesite roads_singleparts.gpkg kao izlazni sloj Pojedinačni delovi. Kliknite Pokreni.

../../_images/image9.png
  1. Dobijeni sloj roads_singleparts će imati spojene sve susedne segmente, ukloniće slojeve roads_dissolved i chennai_roads. Sada otvorite kutiju sa alatkama za obradu i pronađite algoritam Vector overlay ‣ Line intersections. Dvaput kliknite da biste ga pokrenuli.

../../_images/image10.png
  1. Izaberite roads_singleparts kao i Ulazni sloj i Sloj preseka. Nazovite izlazni sloj Intersections kao roads_line_intersections.gpkg. Kliknite na Pokreni.

../../_images/image11.png

Белешка

Ovo je računarski zahtevna operacija i može potrajati dugo u zavisnosti od kapaciteta vašeg računara.

  1. Dobijeni sloj roads_line_intersections sada ima sve raskrsnice ispravno identifikovane. Ali i dalje nije savršen. Koristite alatku Izaberi obeležja po površini i izaberite bilo koju raskrsnicu. Videćete da na svakoj raskrsnici postoji nekoliko duplih tačaka iz susednih segmenata. Ako koristimo ovaj sloj za dalju analizu, to će rezultirati uvećanim brojem raskrsnica. Hajde da uklonimo duplikate, otvorimo kutiju sa alatkama za obradu i pronađemo algoritam Vektorski general ‣ Obriši duplirane geometrije. Izaberite roads_line_intersections kao Ulazni sloj i unesite road_intersections.gpkg kao Očišćen izlazni sloj. Kliknite na Pokreni.

../../_images/image12.png
  1. Novi sloj „raskrsnice puteva“ ima tačan broj raskrsnica puteva izvučenih iz izvornog sloja. Kliknite desnim tasterom miša na stari sloj „raskrsnice linija puteva“ i izaberite Ukloni sloj da biste ga uklonili.

../../_images/image13.png
  1. Sada ćemo izračunati gustinu tačaka preklapanjem pravilne mreže i brojanjem tačaka u svakom poligonu mreže. Moramo ponovo projektovati podatke na projektovani CRS kako bismo mogli da koristimo linearne jedinice merenja. Možemo koristiti odgovarajući CRS na osnovu UTM zone u kojoj se grad nalazi. Možete videti mapu UTM Grid Zones of the World da biste locirali UTM zonu za vaš grad. Čenaj spada u UTM zonu 44N. Otvorite Processing Toolbox i pronađite algoritam Vector general ‣ Reproject. Dvaput kliknite da biste ga otvorili.

../../_images/image14.png
  1. Izaberite road_intersections kao Ulazni sloj. Pretražite klikom na ikonu globe pored Target CRS i izaberite EPSG:32644 - WGS 84 / UTM zona 44N. Ovo je CRS zasnovan na WGS84 datumu za UTM zonu 44N. Unesite Reprojected izlazni sloj kao road_intersections_reprojected.gpkg. Kliknite na Pokreni.

../../_images/image15.png
  1. Kada se obrada završi i sloj road_intersections_reprojected bude dodat, kliknite desnim tasterom miša i izaberite Layer CRS ‣ Set Project CRS from Layer. I uklonite sloj road_intersections.

../../_images/image16.png
  1. Projekat CRS će biti ažuriran u donjem desnom uglu prozora. Svrha ovog koraka je da se osigura da su svi slojevi prikazani u CRS-u novog sloja. Sada smo spremni da kreiramo mrežu koristeći road_intersections_reprojected kao referencu. Otvorite Processing Toolbox i pronađite algoritam Vector creation ‣ Create grid. Dvaput kliknite da biste otvorili.

../../_images/image17.png
  1. Izaberite tip Grid kao Rectangle (Polygon). Kliknite na dugme ... u Grid extent i izaberite Calculate from Layer ‣ road_intersections_reprojected.

../../_images/image18.png
  1. Izaberite Project CRS kao Grid CRS. Želimo da kreiramo mrežu od 1 km x 1 km, pa podesite i Horizontal spacing i Vertical spacing na 1000 metara. Sačuvajte izlazni sloj Grid kao grid.gpkg. Kliknite na Run.

../../_images/image19.png
  1. Biće kreiran sloj „mreža“ koji sadrži pravougaone poligone mreže. Sada možemo da izbrojimo broj tačaka u svakom poligonu, ali pošto su naši slojevi veliki, ovaj proces može dugo trajati. Jedan od načina da se ubrzaju prostorne operacije je korišćenje Prostornog indeksa. Otvorite Kutiju sa alatkama za obradu i pronađite algoritam Vektorski general ‣ Kreiraj prostorni indeks. Dvaput kliknite da biste ga otvorili.

../../_images/image20.png
  1. Izaberite sloj „grid“ i kliknite na Run, sada će sloj imati prostorni indeks koji može poboljšati performanse izračunavanja sa ovim slojem.

../../_images/image21.png
  1. Otvorite okvir sa alatkama za obradu i pronađite algoritam Vektorska analiza ‣ Brojanje tačaka u poligonu.

../../_images/image22.png
  1. Izaberite grid kao Poligonski sloj i road_intersections_reprojected kao Sloj tačaka. Sačuvajte izlazni sloj Count kao grid_count.gpkg. Kliknite na Pokreni.

../../_images/image23.png
  1. Dobijeni sloj grid_count će imati atribut NUMPOINTS koji sadrži broj tačaka preseka unutar svake mreže. Postoji mnogo mreža sa 0 tačaka. To će pomoći našoj analizi i vizuelizaciji da uklonimo poligone mreže koji ne sadrže preseke. Otvorite kutiju sa alatkama za obradu i pronađite algoritam Izbor vektora ‣ Izdvajanje po atributu.

../../_images/image24.png
  1. Izaberite grid_count kao Ulazni sloj, zatim izaberite NUMPOINTS u Atribut selekcije, > u Operator i unesite 0 kao Vrednost. Sačuvajte Izdvojeno (atribut) izlazni sloj kao grid_counts_chennai.gpkg. Kliknite na Pokreni.

../../_images/image25.png
  1. Dobijeni sloj „grid_counts_chennai“ će imati mrežne poligone iznad grada Čenaj i sadržaće broj raskrsnica puteva kao atribut za svaki poligon. Uklonite sve slojeve osim „grid_counts_chennai“.

../../_images/image26.png
  1. Hajde da očistimo tabelu atributa našeg sloja podataka. Preferirani metod za izmene tabele atributa je korišćenje algoritma za obradu pod nazivom „Refactor Fields“ - Polja za refaktorisanje. Otvorite „Processing Toolbox“ - Kutiju sa alatkama za obradu i pronađite algoritam Vector table ‣ Refactor Fields - Vektorska tabela –> Polja za refaktorisanje. Dvaput kliknite da biste ga otvorili. Kliknite na bilo koji red u odeljku Field Mapping - Mapiranje polja da biste ga izabrali. Možete držati pritisnut taster Shift da biste izabrali više redova, izaberite sva polja osim fid i NUMPOINTS. Kliknite na dugme Izbriši izabrana polja.

../../_images/image27.png
  1. Preimenujte polje NUMPOINTS kao intersection_density i sačuvajte sloj kao road_intersection_density.gpkg, kliknite na Pokreni.

../../_images/image28.png
  1. Hajde da stilizujemo ovaj sloj da bismo videli gustinu svake mreže, izaberite sloj road_intersection_density i kliknite na Otvori panel za stilizovanje slojeva. Izaberite Graduated renderer, i u Values izaberite Intersection Density, Color ramp po vašem izboru, postavite classes na 7 i kliknite na Classify.

../../_images/image29.png
  1. U vrednosti unesite „0-50“, „50-100“, „100-150“ i tako dalje do „300 - 350“. Sada ste kreirali mapu koja prikazuje gustinu raskrsnica širom grada.

../../_images/image30.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)