Stilizovanje kontura u 3D (QGIS3)¶
Doprinos: Stiven Kim
U prethodnom tutorijalu, Stilizovanje rečne mreže pomoću izraza (QGIS3), koristili smo izraze za filtriranje i stilizovanje rečne mreže. U ovom tutorijalu, radićemo sa skupom podataka o konturama i stilizovaćemo ga koristeći izraze kako bismo mu dali 3D efekat.
Pregled zadatka¶
Koristićemo sloj simbola generatora geometrije da bismo dinamički primenili pomak na konture, a zatim ćemo primeniti rampu boja da bismo stvorili izgled 3D mape.
Dobijte podatke¶
„Nacionalna mapa <https://www.usgs.gov/programs/national-geospatial-program/national-map>`_ je zajednički napor Geološkog zavoda SAD (USGS) i drugih partnera na poboljšanju i pružanju topografskih informacija za naciju. Preuzećemo skup podataka o konturama iz programa za preuzimanje Nacionalne mape.“
Posetite TNM Download v2. Pregledajte do regiona koji vas zanima. Za ovaj tutorijal, preuzećemo konture za region oko Ostina, Teksas.
U programu za preuzimanje potražite skup podataka „Elevation Products(3DEP)“ i označite polje da biste videli sve podkategorije. Izaberite samo kategoriju „Contours (1:24.000-scale)“. U okviru :guilabel:„File Formats“ izaberite „GeoPackage“.
Kliknite na plavo dugme Pretraži proizvode da biste videli listu odgovarajućih datoteka.
U rezultatima ćete pronaći datoteku „USGS NED 1/3 arc-second Contours for Austin E, Texas“. Kliknite na Download Link(ZIP) da biste preuzeli zipovanu GeoPackage datoteku
ELEV_Austin_E_TX_1X1_GPKG.zip
Možete direktno preuzeti zip datoteku sa ELEV_Austin_E_TX_1X1_GPKG.zip
Izvor podataka [USGS]
Белешка
Takođe možete generisati konture iz bilo kog DEM sloja i koristiti ih umesto kontura koje se ovde koriste. Pogledajte naš tutorijal Rad sa podacima o terenu (QGIS3) za uputstva korak po korak.
Procedura¶
Raspakujte datoteku ELEV_Austin_E_TX_1X1_GPKG.zip na svom računaru. Pronađite rezultujuću datoteku ELEV_Austin_E_TX_1X1_GPKG.gpkg u QGIS pregledaču i proširite je. Izaberite sloj Elev_Contour i prevucite ga na platno.
Novi sloj Elev_Contour će sada biti učitan i trebalo bi da vidite konturne linije.
Kliknite desnim tasterom miša na sloj Elev_Contour i izaberite Open Attribute Table. Primetićete da polje
contourelevation
sadrži vrednost visine za svaku konturnu liniju. Ovo ime polja je važno i koristi se u izrazima u narednim koracima.
Sada smo spremni da stilizujemo konture. Pre nego što nastavimo, prvo moramo dodati skalu boja pogodnu za bojenje elevacije. Ako ste već dodali skalu boja wiki-1.02 za naš prethodni tutorijal Kreiranje mape sveta u bloku (QGIS3), možete preći na korak 9. Kliknite na Podešavanja u meniju i izaberite Menadžer stilova.
Kliknite na znak plus Dodaj stavku na dnu i izaberite .
Pomerite se nadole po skalama boja dok ne pronađete wiki-1.02. Možda ih postoji nekoliko sa istim imenom, samo kliknite na jednu i kliknite na OK.
U prozoru Sačuvaj novu kolornu rampu, unesite vrednost
wiki-1.02
kao Naziv.
Kliknite na Sačuvaj da biste zatvorili prozor, a zatim kliknite na Zatvori da biste zatvorili Menadžer stilova. Sada je wiki-1.02 skala boja dostupna za korišćenje u vašim budućim projektima.
Sada možemo stilizovati konture. Izaberite sloj „Elev_Contour“ i kliknite na dugme :guilabel:„Otvori panel za stilizovanje sloja“. Izaberite :guilabel:„Jednostavna linija“ da biste pristupili njegovim svojstvima.
Promenite Tip sloja simbola sa Jednostavna linija na Generator geometrije. Ovaj sloj simbola nam omogućava da dinamički menjamo geometriju elemenata u sloju pomoću izraza.
U polje za unos unesite ovaj izraz da biste translirali svaku konturnu liniju na y-osi za njenu vrednost elevacije. Koristimo funkcije
minimum()
imaximum()
da bismo pronašli opseg vrednosti u koloni contourelevation i funkciju scale_linear() da bismo linearno skalirali elevaciju od minimuma do maksimuma do željenog opsega y-ofseta između 0 i 0,2 stepena. Ako se vaš konturni sloj nalazi u CRS-u koji ima jedinice koje nisu stepeni, obavezno podesite ove vrednosti na odgovarajući način. Unesite izraz i kliknite na OK.
translate($geometry,0,scale_linear("contourelevation", minimum("contourelevation"),maximum("contourelevation"),0,0.2))![]()
Ispod Geometry Generator u prozoru simbola, izaberite sloj Simple Line da biste pristupili njegovim svojstvima. Kliknite na dugme Data define override za Color i izaberite meni Edit.
Ovim se pojavljuje dijalog Kreator izraza za boju linije. Unesite ovaj izraz da biste obojili konturne linije vrednošću contourelevation iz wiki-1.02 skale boja. Potrebno je da mapiramo vrednosti elevacije na opseg koji očekuje skala boja (od 0 do 1). Umesto funkcije scale_linear koja je ranije korišćena, koristimo funkciju scale_polynomial da bismo skalirali vrednosti na nelinearan način. Kada unesete izraz, kliknite na OK.
ramp_color('wiki-1.02',scale_polynomial("contourelevation", minimum("contourelevation"),maximum("contourelevation"), 0,1,0.5))![]()
Trebalo bi da vidite 3D prikaz kontura obojenih prema visini. Eksperimentišite sa izrazima bojenja i skaliranja da biste otkrili različite umetničke prikaze pejzaža.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)