Avtomatizacija zapletenih delovnih postopkov z orodjem Processing Modeler (QGIS3)

Delovni tokovi GIS običajno vključujejo več korakov, pri čemer vsak korak ustvari vmesne rezultate, ki se uporabijo v naslednjem koraku. Če spremenite vhodne podatke ali želite prilagoditi parameter, morate celoten postopek ponovno izvesti ročno. Na srečo ima QGIS vgrajen grafični model, ki vam lahko pomaga definirati potek dela in ga zagnati z enim samim klicem. Te delovne tokove lahko zaženete tudi kot serijo nad velikim številom vhodnih podatkov.

Pregled naloge

Vzeli bomo točkovni sloj pomorskih piratskih incidentov in ustvarili model obdelave za izdelavo zemljevida gostote z združevanjem na globalni šesterokotni mreži.

Druga znanja, ki se jih boste naučili

  • Uporaba globalne projekcije z enako površino in nastavitev CRS projekta .

  • Uporaba Graduated symbology za poligonski sloj.

Pridobivanje podatkov

Portal Nacionalne geoprostorske obveščevalne agencije z informacijami o pomorski varnosti <https://msi.nga.mil/NGAPortal/MSI.portal>`_ ponuja shapefile vseh primerov pomorskega piratstva v obliki `Sporočila o dejavnostih proti ladijskemu prometu'<https://msi.nga.mil/Piracy>`_. Prenesite datoteko Arc Shape različica podatkovne zbirke.

Natural Earth ima več globalnih vektorskih slojev. Prenesite 10m Physical Vectors - Land, ki vsebuje poligone zemljišč.

Zaradi priročnosti lahko neposredno prenesete kopijo zgornjih slojev:

ASAM_shp.zip

ne_10m_land.zip

Vir podatkov: [NGA_MSI] [NATURALEARTH]

Postopek

  1. Na plošči brskalnika QGIS poiščite direktorij, v katerega ste shranili prenesene podatke. Razširite ne_10m_land.zip in izberite sloj ne_10m_land.shp. Sloj povlecite na delovno površino. Nato poiščite datoteko ASAM_shp.zip. Razširite jo in izberite sloj``asam_data_download/ASAM_events.shp`` ter jo povlecite na delovno površino.

../../_images/1109.png
  1. Sloj ASAM_events.shp nima informacij o projekciji, zato boste morali izbrati koordinatni referenčni sistem v Coordinate Reference System Selector. Tu so točke v koordinatah zemljepisne širine in dolžine, zato izberite CRS WGS 84 in kliknite OK.

../../_images/2104.png
  1. Ko je sloj naložen, si lahko ogledate posamezne točke, ki predstavljajo lokacije piratstva. Začnimo graditi model obdelave za obdelavo slojev. Pojdite na Processing ‣ Graphical Modeler….

../../_images/350.png
  1. V pogovornem oknu Processing Modeler poiščite ploščo Model Properties. Kot Name modela vnesite piracy hexbin in kot Groups projects. Kliknite Save.

../../_images/425.png
  1. Shranite model kot piracy_hexbin.

../../_images/523.png
  1. Now we can start building a graphical model of our processing pipeline. The Processing modeler dialog contains a left-hand panel and a main canvas. On the left-hand panel, locate the Inputs panel listing various types of input data types. Scroll down and select the + Vector Layer input. Drag it to the canvas.

../../_images/623.png
  1. Vnesite Input Points kot Parameter name in Point kot Geometry type. Ta vnos predstavlja sloj točk piratskih incidentov.

../../_images/722.png
  1. Nato na platno povlecite še en vnos + Vector Layer. Kot Parameter name vnesite Base Layer in kot Geometry type Polygon. Ta vnos predstavlja globalni zemeljski sloj naravnih zemljišč.

../../_images/822.png
  1. Ker ustvarjamo globalno šesterokotno mrežo, lahko od uporabnika zahtevamo, da nam kot vhodni podatek sporoči velikost mreže, namesto da bi jo v našem modelu kodirali. Tako lahko uporabnik hitro eksperimentira z različnimi velikostmi mreže, ne da bi pri tem spremenil model. izberite vnos + Number in ga povlecite na platno. Kot Parameter name vnesite Grid Size in kliknite OK.

../../_images/922.png
  1. Zdaj, ko smo opredelili uporabniške vhodne sloje, smo pripravljeni na dodajanje korakov obdelave. Vsi algoritmi obdelave so vam na voljo v zavihku Algorithms. Prvi korak v naši procesni verigi bo ponovno projiciranje osnovnega sloja v CRS projekta. Poiščite algoritem Reproject layer in ga povlecite na platno.

Opomba

Potreba po koraku reprojekcije bo kmalu jasna. Algoritem za izdelavo mreže zahteva, da določimo obseg mreže v enoti projekta CRS. Za izračun tega obsega lahko uporabimo reprojecirani sloj.

../../_images/1030.png
  1. V pogovornem oknu Reproject layer, izberite Base Layer kot Input layer. Označite polje Use project CRS kot Target CRS. Kliknite OK.

../../_images/1133.png
  1. Na platnu Processing Modeler boste opazili povezavo med vnosom + Base Layer in algoritmom Reproject layer. Ta povezava označuje tok našega obdelovalnega procesa. Naslednji korak je ustvarjanje šestkotne mreže. Poiščite algoritem Create grid in ga povlecite na platno.

../../_images/1231.png
  1. V pogovornem oknu Generate grid izberite Hexagon (poligon) kot Grid type. Izberite Extent of 'Reprojected' from algorithm 'Reproject Layer' kot Grid extent. Kliknite gumb 123 pod oznako Horizonal spacing in izberite Model input.

../../_images/1329.png
  1. Izberite vnos Grid Size za Using model input. Ponovite isti proces za Vertical Spacing. Kliknite OK.

../../_images/1427.png
  1. Na tej točki imamo globalno šesterokotno mrežo. Mreža zajema celoten obseg osnovnega sloja, vključno s kopnimi območji in kraji, kjer ni točk. Filtriramo tiste poligone mreže, kjer ni vhodnih točk. Poiščite algoritem Extract by location in ga povlecite na platno.

../../_images/1524.png
  1. For Extract features from, select 'Grid' from algorithm 'Generate Grid', Where the features (geometric predicate) as Intersect and By comparing to the features from as Input points. Click OK.

../../_images/1623.png
  1. Zdaj imamo samo tiste mrežne poligone, ki vsebujejo nekaj vhodnih točk. Za združevanje teh točk bomo uporabili algoritem Count points in polygon. Poiščite in ga povlecite na platno.

../../_images/1724.png
  1. Izberite 'Extracted (location)' from algorithm 'Extract by location' kot vrednost za Polygons. Kot sloj Points izberite Input Points. Na dnu poimenujte izhoden sloj Count kot Aggregated. Kliknite OK.

../../_images/1821.png
  1. Model je zdaj dokončan. Kliknite gumb Save.

../../_images/1917.png
  1. Preklopite na glavno okno QGIS. Novo ustvarjeni model lahko najdete v Processing Toolbox pod Models ‣ projects ‣ piracy_hexbin. Zdaj je čas za zagon in testiranje modela. Ker je naš cilj združevanje vhodnih točk po šestkotnih mrežah, je pomembno, da so mreže ustvarjene z uporabo projekcije z enako površino. To bo zagotovilo, da bo mreža ne glede na lokacijo pokrivala popolnoma enako območje. Naš model izrecno ne zahteva CRS, temveč uporablja kateri koli CRS, ki je določen kot Project CRS. Za projektni CRS izberimo globalno projekcijo enakega območja. Pojdite na Project ‣ Properties.

../../_images/2016.png
  1. V pogovornem oknu Project Properties preklopite na zavihek CRS. Za to vajo bomo uporabili globalno projekcijo Mollweide, ki je projekcija enakih površin. V polju Filter poiščite Mollweide in kot CRS izberite World_Mollweide EPSG:54009. Kliknite OK.

../../_images/2120.png
  1. Videli boste, kako se plasti sproti projicirajo v izbrani CRS. Poiščite model piracy_hexbin v Processing Toolbox in ga dvakrat kliknite.

../../_images/2218.png
  1. Naš Base Layer je ne_10m_land in Input Points plast je ASAM_events. Velikost mreže Grid Size je treba določiti v enotah izbranega CRS. Enota CRS World_Mollweide so metri, zato kot :guilabel:Grid Size določimo 100000 m (100 km). Kliknite Run za zagon obdelovalne procesne verige. Ko se postopek konča, kliknite Close.

../../_images/2316.png
  1. Kot rezultat modela se bo naložil nov sloj Aggregated. Med raziskovanjem boste opazili, da plast vsebuje atribut NUMPOINTS, ki vsebuje število točk piratskih incidentov, ki jih vsebuje ta element mreže. Ta sloj oblikujmo tako, da bodo te informacije bolje prikazane. Z desno tipko miške kliknite sloj Aggregated in izberite Properties.

../../_images/2415.png
  1. Preklopite na zavihek Symbology. Izberite prikaz``Graduated`` in NUMPOINTS kot Value. Kliknite Change..` poleg oznake Symbol`.

../../_images/2514.png
  1. Izberite simbol Simple fill in označite gumb Transparent Stroke pod Stroke color. S tem naredite robove šestkotnika prozorne.

../../_images/2614.png
  1. Kliknite spustno okno poleg Color ramp in izberite Viridis rampo. Ponovno kliknite spustno okno in izberite Invert Color Ramp, da obrnete vrstni red barv.

../../_images/2714.png
  1. Stopenjska simbolika bo vrednosti v izbranem stolpcu razdelila v različne razrede in vsakemu razredu dodelila drugačno barvo. Izberite Natural Breaks (Jenks) kot Mode in kliknite Classify ter kliknite OK.

Opomba

Za podrobno razlago različnih načinov glej Osnovno oblikovanje vektorskih slojev .

../../_images/2814.png
  1. V glavnem oknu QGIS izklopite sloj ASAM_events. Videli boste lepo vizualizacijo piratskih žarišč po vsem svetu.

../../_images/2913.png

Zdaj, ko ste v model vnesli celoten podatkovni niz, lahko zlahka ponovite svoje rezultate. Model vam omogoča tudi hitro eksperimentiranje, ne da bi vsakič ročno ponovili vsak vmesni korak. Če se vaši vhodni podatki sčasoma spremenijo, na primer po nekaj mesecih je objavljena posodobljena zbirka podatkov o piratstvu, lahko zaženete svoj model na teh vhodnih podatkih in ustvarite podobno vizualizacijo, ne da bi si morali zapomniti vsak korak.


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