Automatizacija složenih tokova rada pomoću Processing Modeler-a (QGIS3)¶
GIS tokovi rada obično uključuju mnogo koraka - pri čemu svaki korak generiše međuizlaz koji se koristi u sledećem koraku. Ako promenite ulazne podatke ili želite da podesite parametar, moraćete ponovo ručno da prođete kroz ceo proces. Srećom, QGIS ima ugrađeni grafički modeler koji vam može pomoći da definišete svoj tok rada i pokrenete ga jednim pozivom. Takođe možete pokrenuti ove tokove rada kao seriju preko velikog broja ulaza.
Pregled zadatka¶
Uzećemo sloj tačaka incidenata pomorske piraterije i kreirati model obrade kako bismo napravili mapu gustine agregiranjem preko globalne heksagonalne mreže.
Druge veštine koje ćete naučiti¶
Korišćenje globalne projekcije jednake površine i postavljanje projektnog CRS-a.
Primena graduisane simbologije na sloj poligona.
Dobijte podatke¶
Portal za informacije o pomorskoj bezbednosti Nacionalne geoprostorne obaveštajne agencije <https://msi.nga.mil/NGAPortal/MSI.portal>`_ pruža shapefile svih incidenata pomorskog piraterije u obliku Poruke o aktivnostima protiv brodarstva. Preuzmite Arc Shape file verziju baze podataka.
Natural Earth ima nekoliko globalnih vektorskih slojeva. Preuzmite 10m Physical Vectors - Land koji sadrži poligone Zemlje.
Radi lakšeg snalaženja, možete direktno preuzeti kopiju gornjih slojeva odozdo:
Izvor podataka: [NGA_MSI] [NATURALEARTH]
Postupak¶
U QGIS panelu pregledača, pronađite direktorijum u koji ste sačuvali preuzete podatke. Proširite
ne_10m_land.zip
i izaberite slojne_10m_land.shp
. Prevucite sloj na platno. Zatim pronađite datotekuASAM_shp.zip
. Proširite je i izaberite slojasam_data_download/ASAM_events.shp
i prevucite ga na platno.

Sloj „ASAM_events.shp“ nema informacije o projekciji povezane sa njim, tako da će vam biti zatraženo da izaberete CRS u Selektoru koordinatnog referentnog sistema. Ovde su tačke u koordinatama geografske širine i dužine, pa izaberite CRS „WGS 84“ i kliknite U redu.

Kada se sloj učita, možete videti pojedinačne tačke koje predstavljaju lokacije slučajeva piraterije. Hajde da počnemo sa izgradnjom našeg modela obrade kako bismo obradili ove slojeve. Idite na
.

U dijalogu Processing Modeler, pronađite panel Model Properties. Unesite
piracy hexbin
kao Naziv modela iprojects
kao Grupe. Kliknite na dugme Sačuvaj.

Sačuvajte model kao
piracy_hexbin
.

Sada možemo početi sa izgradnjom grafičkog modela našeg procesa obrade. Dijalog Processing modeler sadrži levi panel i glavno platno. Na levom panelu pronađite panel Inputs koji prikazuje različite tipove ulaznih podataka. Pomerite se nadole i izaberite unos + Vector Layer. Prevucite ga na platno.

Unesite „Ulazne tačke“ kao :guilabel:„Naziv parametra“ i „Tačka“ kao :guilabel:„Tip geometrije“. Ovaj unos predstavlja sloj tačaka incidenata piraterije.

Zatim, prevucite još jedan unos + Vektorski sloj na platno. Unesite
Osnovni sloj
kao Naziv parametra iPoligon
kao Tip geometrije. Ovaj unos predstavlja prirodni sloj Zemlje, globalni kopneni sloj.

Pošto generišemo globalnu heksagonalnu mrežu, možemo zamoliti korisnika da nam dostavi veličinu mreže kao unos umesto da je čvrsto kodira kao deo našeg modela. Na ovaj način, korisnik može brzo da eksperimentiše sa različitim veličinama mreže bez ikakve promene modela. Izaberite unos + Broj i prevucite ga na platno. Unesite
Veličina mreže
kao Naziv parametra i kliknite na U redu.

Sada kada smo definisali korisničke unose, spremni smo da dodamo korake obrade. Svi algoritmi za obradu su vam dostupni na kartici Algoritmi. Prvi korak u našem procesu biće ponovno projektovanje osnovnog sloja na Project CRS. Potražite algoritam
Reproject layer
i prevucite ga na platno.
Белешка
Neophodnost ovog koraka reprojekcije postaće uskoro jasna. Algoritam za generisanje mreže zahteva da odredimo obim mreže u jedinici projektnog CRS-a. Možemo da obezbedimo ovaj reprojektovani sloj da bismo izračunali ovaj obim.

U dijalogu Reproject layer - Ponovno projektovanje sloja, izaberite
Base Layer
kao Input layer - Ulazni sloj. Označite Use project CRS - Koristi projektni CRS kao Target CRS. Kliknite na OK - U redu.

Na platnu Processing Modeler, primetićete vezu između unosa + Base Layer i algoritma Reproject layer. Ova veza ukazuje na tok našeg procesa obrade. Sledeći korak je kreiranje heksagonalne mreže. Potražite algoritam
Create grid
i prevucite ga na platno.

U dijalogu Generiši mrežu, izaberite
Heksagon (poligon)
kao Tip mreže. IzaberiteObim 'Reprojektovano' iz algoritma 'Reprojektuj sloj'
kao Obim mreže. Kliknite na dugme 123 ispod oznake Horizontalni razmak i izaberite Unos modela.

Izaberite unos „Veličina mreže“ za :guilabel:„Korišćenje unosa modela“. Ponovite isti postupak za :guilabel:„Vertikalni razmak“. Kliknite na :guilabel:„U redu“.

U ovom trenutku imamo globalnu heksagonalnu mrežu. Mreža se proteže preko celog osnovnog sloja, uključujući kopnene površine i mesta gde nema tačaka. Hajde da filtriramo one poligone mreže gde nema ulaznih tačaka. Potražite algoritam „Izdvoji po lokaciji“ i prevucite ga na platno.

Za Izdvoji karakteristike iz, izaberite
'Mreža' iz algoritma 'Generiši mrežu'
, Gde se karakteristike (geometrijski predikat) kaoPresek
i Poređenjem sa karakteristikama iz kaoUlazne tačke
. Kliknite na U redu.

Sada imamo samo one poligone mreže koji sadrže neke ulazne tačke. Da bismo agregirali ove tačke, koristićemo algoritam „Broj tačaka u poligonu“. Pretražite i prevucite ga na platno.

Izaberite „Izdvojeno (lokacija)“ iz algoritma „Izdvoji po lokaciji“ kao vrednost za Poligoni. Sloj Tačke bi bio
Ulazne tačke
. Na dnu, nazovite izlazni sloj Broj kaoAgregirano
. Kliknite na U redu.

Model je sada završen. Kliknite na dugme Sačuvaj.

Prebacite se na glavni QGIS prozor. Novokreirani model možete pronaći u Processing Toolbox pod . Sada je vreme da pokrenete i testirate model. Pošto je naš cilj da agregiramo ulazne tačke preko heksagonalnih mreža, važno je da se mreže generišu pomoću projekcije jednake površine. Ovo će osigurati da će, bez obzira na lokaciju mreže, ona pokrivati potpuno istu površinu. Naš model ne traži eksplicitno CRS, već koristi bilo koji CRS koji je podešen kao Project CRS. Hajde da izaberemo globalnu projekciju jednake površine kao Project CRS. Idite na .

U dijalogu Project Properties - Svojstva projekta, pređite na karticu CRS. Za ovu vežbu ćemo koristiti globalnu Mollweide projekciju, što je projekcija jednake površine. Potražite
Mollweide
u polju Filter - Filter i izaberiteWorld_Mollweide EPSG:54009
kao CRS. Kliknite na OK.

Videćete kako se slojevi u hodu ponovo projektuju na izabrani CRS. Pronađite model
piracy_hexbin
u Processing Toolbox i dvaput kliknite na njega.

Naš Osnovni sloj je
ne_10m_land
, a sloj Ulazne tačke jeASAM_events
. Veličina mreže mora biti navedena u jedinicama izabranog CRS-a. Jedinica World_Mollweide CRS-a su metri, tako da navodimo100000
m (100 km) kao Veličinu mreže. Kliknite na Pokreni da biste pokrenuli proces obrade. Kada se proces završi, kliknite na Zatvori.

Videćete novi sloj „Aggregated“ učitan kao rezultat modela. Dok istražujete, primetićete da sloj sadrži atribut pod nazivom NUMPOINTS koji sadrži broj tačaka incidenata piraterije sadržanih unutar te mreže. Hajde da stilizujemo ovaj sloj da bi se ove informacije bolje prikazale. Kliknite desnim tasterom miša na sloj „Aggregated“ i izaberite Properties.

Pređite na karticu Simbolologija. Izaberite simbologiju
Graduisana
iNUMPOINTS
kao Kolonu. Kliknite naPromeni..
pored oznake Simbol.

Izaberite simbol Jednostavno popunjavanje i označite dugme Prozirni potez pod Boja poteza. Ovo služi da bi ivice šestougaonika bile transparentne.

Kliknite na padajući meni pored Color ramp i izaberite
Viridis
rampu. Ponovo kliknite na padajući meni i izaberite Invert Color Ramp da biste obrnuli redosled boja.

Graduirana simbologija će podeliti vrednosti u izabranoj koloni u različite klase i dodeliti svakoj od klasa različitu boju. Izaberite „Prirodni prelomi (Dženks)“ kao Režim i kliknite na Klasifikuj i kliknite na U redu.
Белешка
pogledajte Osnovno stilizovanje vektora za detaljno objašnjenje različitih režima.

Nazad u glavnom QGIS prozoru, isključite sloj „ASAM_events“. Videćete lepu vizuelizaciju žarišta piraterije širom sveta.

Sada kada ste kodirali ceo proces prenosa podataka u modelu, lako je reprodukovati rezultate. Model vam takođe omogućava da brzo eksperimentišete bez ručnog ponavljanja svakog međukoraka svaki put. Ako se vaši ulazi menjaju tokom vremena, recimo da se ažurirana baza podataka o pirateriji objavi nakon nekoliko meseci, možete pokrenuti svoj model na tim ulazima da biste generisali sličnu vizuelizaciju bez potrebe da pamtite svaki korak.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)