Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 99.59%.

19. Arbeta med OGC/ISO-protokoll

Open Geospatial Consortium (OGC) är en internationell organisation med mer än 300 medlemmar från kommersiella, statliga, ideella och forskningsorganisationer över hela världen. Dess medlemmar utvecklar och implementerar standarder för geospatialt innehåll och tjänster, GIS-databehandling och utbyte.

OGC beskriver en grundläggande datamodell för geografiska objekt och utvecklar ett ökande antal specifikationer för att tillgodose specifika behov av interoperabel plats- och geospatial teknik, inklusive GIS. Ytterligare information finns på https://www.ogc.org/.

Viktiga OGC-specifikationer som stöds av QGIS är:

OGC-tjänster används alltmer för att utbyta geospatiala data mellan olika GIS-implementeringar och datalager. QGIS kan hantera ovanstående specifikationer som en klient och är SFS (genom stöd för PostgreSQL / PostGIS-dataleverantören, se avsnitt PostGIS-lager).

Du kan också dela dina kartor och data via protokollen WMS, WMTS, WFS, WFS-T och WCS med hjälp av en webbserver med QGIS Server, UMN MapServer eller GeoServer installerad.

19.1. WMS/WMTS-klient

19.1.1. Översikt över WMS-support

QGIS kan för närvarande fungera som en WMS-klient som förstår WMS 1.1-, 1.1.1- och 1.3-servrar. I synnerhet har det testats mot allmänt tillgängliga servrar som DEMIS.

En WMS-server agerar på förfrågningar från klienten (t.ex. QGIS) om en rasterkarta med en given utsträckning, uppsättning lager, symboliseringsstil och transparens. WMS-servern konsulterar sedan sina lokala datakällor, rastrerar kartan och skickar tillbaka den till klienten i ett rasterformat. För QGIS är detta format vanligtvis JPEG eller PNG.

WMS är generellt sett en REST-tjänst (Representational State Transfer) snarare än en fullfjädrad webbtjänst. Som sådan kan du faktiskt ta de webbadresser som genereras av QGIS och använda dem i en webbläsare för att hämta samma bilder som QGIS använder internt. Detta kan vara användbart vid felsökning, eftersom det finns flera olika WMS-servermärken på marknaden och de har alla sin egen tolkning av WMS-standarden.

WMS-lager kan läggas till ganska enkelt, så länge du känner till URL:en för att komma åt WMS-servern, du har en fungerande anslutning till den servern och servern förstår HTTP som datatransportmekanism.

Dessutom kommer QGIS att cacha dina WMS-svar (dvs. bilder) i 24 timmar så länge som GetCapabilities-begäran inte utlöses. GetCapabilities-begäran utlöses varje gång knappen Connect i dialogrutan WMS/WMTS används för att hämta WMS-serverns kapacitet. Detta är en automatisk funktion som är avsedd att optimera projektets laddningstid. Om ett projekt sparas med ett WMS-lager kommer motsvarande WMS-plattor att laddas från cacheminnet nästa gång projektet öppnas, så länge de inte är äldre än 24 timmar.

19.1.2. Översikt över WMTS-stöd

QGIS kan också fungera som en WMTS-klient. WMTS är en OGC-standard för distribution av kakeluppsättningar med geospatiala data. Det här är ett snabbare och effektivare sätt att distribuera data än WMS, eftersom WMTS innebär att kakeluppsättningarna är förgenererade och att klienten bara begär överföring av kakeluppsättningarna, inte produktion av dem. En WMS-begäran omfattar vanligtvis både generering och överföring av data. Ett välkänt exempel på en icke-OGC-standard för visning av kaklade geospatiala data är Google Maps.

För att kunna visa data i en mängd olika skalor som ligger nära vad användaren kan tänkas vilja ha, produceras WMTS-kakelsatserna i flera olika skalnivåer och görs tillgängliga för GIS-klienten som begär dem.

Detta diagram illustrerar konceptet med kakeluppsättningar:

../../../_images/concept_wmts.png

Fig. 19.1 Koncept för WMTS-kakeluppsättningar

De två typerna av WMTS-gränssnitt som QGIS stöder är via KVP (Key-Value-Pairs) och RESTful. Dessa två gränssnitt är olika och du måste ange dem på olika sätt för QGIS.

  1. För att komma åt en WMTS KVP-tjänst måste en QGIS-användare öppna WMS/WMTS-gränssnittet och lägga till följande sträng i URL:en för WMTS-kakeltjänsten:

    "?SERVICE=WMTS&REQUEST=GetCapabilities"
    

    Ett exempel på denna typ av adress är:

    https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?service=WMTS&request=GetCapabilities
    

    För testning fungerar topo2-lagret i denna WMTS bra. Om du lägger till denna sträng anger du att en WMTS-webbtjänst ska användas i stället för en WMS-tjänst.

  2. Tjänsten RESTful WMTS har en annan form, en enkel URL. Det format som rekommenderas av OGC är:

    {WMTSBaseURL}/1.0.0/WMTSCapabilities.xml
    

    Detta format hjälper dig att känna igen att det är en RESTful-adress. En RESTful WMTS nås i QGIS genom att helt enkelt lägga till dess adress i WMS-konfigurationen i URL-fältet i formuläret. Ett exempel på den här typen av adress för en österrikisk baskarta är:

    https://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml
    

Observera

Du kan fortfarande hitta några gamla tjänster som kallas WMS-C. Dessa tjänster är ganska lika WMTS (dvs. samma syfte men fungerar lite annorlunda). Du kan hantera dem på samma sätt som du hanterar WMTS-tjänster. Lägg bara till ?tiled=true i slutet av webbadressen. Se https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification för mer information om den här specifikationen.

När man läser WMTS kan man ofta tänka WMS-C också.

19.1.3. Välja WMS/WMTS-servrar

Första gången du använder WMS/WMTS-funktionen i QGIS finns det inga servrar definierade.

Du måste sedan skapa anslutningar till den server du riktar in dig på:

  1. Gå till fliken wms WMS/WMTS i dialogrutan Data Source Manager, antingen genom att:

    • klicka på knappen dataSourceManager Open Data Source Manager (eller tryck på Ctrl+L) och aktivera fliken

    • klicka på knappen addWmsLayer Lägg till WMS-lager i verktygsfältet Manage Layers (hantera lager)

    • eller genom att välja Lager ► Lägg till lager ► addWmsLayer Lägg till WMS/WMTS-lager…-menyn

  2. Tryck på New från fliken Layers. Dialogrutan Create a New WMS/WMTS Connection… visas.

    Tips

    Högerklicka på posten wms WMS/WMTS i Nätläsarpanelen och välj New Connection… öppnar också dialogrutan Create a New WMS/WMTS Connection….

  3. Ange sedan parametrarna för att ansluta till önskad WMS-server enligt listan nedan:

    ../../../_images/add_connection_wms.png

    Fig. 19.2 Skapa en anslutning till en WMS-server

    • Namn: Ett namn för anslutningen. Detta namn kommer att användas i rullgardinsmenyn Serveranslutningar så att du kan skilja den från andra WMS-servrar.

    • URL: URL till den server som tillhandahåller data. Detta måste vara ett upplösningsbart värdnamn - samma format som du skulle använda för att öppna en telnet-anslutning eller pinga en värd, dvs. endast bas-URL:en. Du bör t.ex. inte ha fragment som request=GetCapabilities eller version=1.0.0 i din URL.

    • Autentisering (valfritt): med hjälp av en lagrad konfiguration eller en grundläggande autentisering med Användarnamn och Lösenord.

      Varning

      Om du anger användarnamn och lösenord på fliken Autentication kommer oskyddade uppgifter att sparas i anslutningskonfigurationen. Dessa uppgifter kommer att vara synliga om du t.ex. delar projektfilen med någon. Därför är det lämpligt att spara dina autentiseringsuppgifter i en Autentication-konfiguration istället (fliken Configurations). Se System för autentisering för mer information.

    • HTTP Referer

    • WMS DPI-Mode: Tillgängliga alternativ är all, off, QGIS, UMN och GeoServer

    • WMTS pixelförhållande på serversidan: Vid rendering av WMTS-lager kan du skala upp eller ner brickorna baserat på enhetens skärm-DPI. Tillgängliga alternativ är Undefined (inte skalad), Standard (96 DPI) och High (192 DPI).

    • Maximalt antal GetFeatureInfo-resultat: anger ett standardvärde för det maximala antalet resultat som returneras per lager av en GetFeatureInfo-begäran som använder den här anslutningen (se FEATURE_COUNT parameter). Standardvärdet är 10. Ställ in till 0 för att använda serverns standardvärde (vanligtvis 1): ingen FEATURE_COUNT-parameter läggs till i begäran.

    • unchecked Ignorera GetMap/GetTile/GetLegendGraphic URI reported in capabilities: om markerat, använd angiven URI från fältet URL ovan.

    • unchecked Ignorera GetFeatureInfo URI reported in capabilities: om markerat, använd angiven URI från fältet URL ovan.

    • unchecked Ignore reported layer extents: eftersom den utsträckning som rapporteras av rasterlager kan vara mindre än det faktiska område som kan återges (särskilt för WMS-servrar med symbologi som tar mer plats än datautsträckningen), markera det här alternativet för att undvika beskärning av rasterlager till deras rapporterade utsträckning, vilket resulterar i avkortade symboler på gränserna för dessa lager.

    • unchecked Ignorera axelorientering (WMS 1.3/WMTS)

    • unchecked Invertera axelns orientering

    • unchecked Smooth pixmap transformation

  4. Tryck på OK

När den nya WMS/WMTS-serveranslutningen har skapats kommer den att bevaras för framtida QGIS-sessioner. Observera att det också är möjligt att Load anslutningsparametrarna från en .XML-fil eller Save dem till en .XML-fil.

Om du behöver ställa in en proxyserver för att kunna ta emot WMS-tjänster från Internet kan du lägga till din proxyserver i alternativen. Välj Inställningar ► Alternativ och klicka på fliken Nätverk. Där kan du lägga till dina proxyinställningar och aktivera dem genom att markera kryssrutan Use proxy for web access. Se till att du väljer rätt proxytyp från rullgardinsmenyn Proxytyp selectString.

19.1.4. Laddning av WMS/WMTS-lager

När du har fyllt i dina parametrar kan du använda knappen Connect för att hämta den valda serverns funktioner. Detta inkluderar bildkodning, lager, lagerstilar och projektioner. Eftersom detta är en nätverksoperation beror svarshastigheten på kvaliteten på din nätverksanslutning till WMS-servern. Under nedladdningen av data från WMS-servern visualiseras nedladdningsförloppet i det nedre vänstra hörnet av QGIS huvuddialogruta.

Din skärm bör nu se ut ungefär som Fig. 19.3, som visar svaret från en WMS-server.

../../../_images/connection_wms.png

Fig. 19.3 Dialog för att lägga till en WMS-server, med filter på tillgängliga lager

Den övre delen av fliken Layers i dialogrutan visar en trädstruktur som kan innehålla lagergrupper som bäddar in lager med tillhörande bildstil(ar) som serveras av servern. Varje objekt kan identifieras genom:

  • en ID

  • a Namn

  • a Title

  • och en Abstract.

Listan kan filtreras med hjälp av widgeten search i det övre högra hörnet.

Bildkodning

Avsnittet Bildkodning innehåller en lista över de format som stöds av både klienten och servern. Välj ett beroende på dina krav på bildnoggrannhet.

Tips

Bildkodning

Du kommer vanligtvis att upptäcka att en WMS-server erbjuder dig valet av JPEG- eller PNG-bildkodning. JPEG är ett komprimeringsformat med förlust, medan PNG troget återger de råa rasterdata.

Använd JPEG om du förväntar dig att WMS-data ska vara av fotografisk karaktär och/eller om du inte har något emot en viss förlust i bildkvalitet. Denna kompromiss minskar vanligtvis dataöverföringsbehovet med fem gånger jämfört med PNG.

Använd PNG om du vill ha exakta representationer av originaldata och du inte har något emot de ökade kraven på dataöverföring.

Menyalternativ: Lager ► Lägg till ett rasterlager eller Inställningar ► Verktygsrader ► Digitalisering

I dialogrutans område Options kan du konfigurera WMS-begärandena. Du kan definiera:

  • Tile size om du vill ställa in kakelstorlekar (t.ex. 256x256) för att dela upp WMS-begäran i flera begäranden.

  • Request step size: om du vill minska effekten av klippta etiketter vid kakelplattornas kanter, skapar en ökning av stegstorleken större förfrågningar, färre plattor och färre kanter. Standardvärdet är 2000.

  • Maximalt antal GetFeatureInfo-resultat: anger det maximala antalet resultat som returneras av en GetFeatureInfo-begäran för det eller de lager som laddas. Gör det möjligt att åsidosätta anslutningens standardvärde för specifika lager.

  • Varje WMS-lager kan presenteras i flera CRS:er, beroende på WMS-serverns kapacitet. Om du väljer ett WMS i listan visas ett fält med den standardprojektion som tillhandahålls av webbservern. Tryck på widgeten setProjection :sup:Select CRS för att ersätta standardprojektionen för WMS med en annan CRS som stöds av WMS-servern.

    En dialog som liknar den som visas i Fig. 6.4 kommer att visas. Den största skillnaden med WMS-versionen av dialogrutan är att endast de CRS som stöds av WMS-servern kommer att visas.

  • Slutligen kan du aktivera checkbox Use contextual WMS Legend om WMS-servern stöder den här funktionen. Då visas endast den relevanta förklaringen för den aktuella kartvyns omfattning och inkluderar således inte legendobjekt för objekt som du inte kan se på den aktuella kartan.

Längst ned i dialogrutan finns ett textfält Layer name som visar det valda objektets Title. Du kan ändra namnet när du vill. Detta namn kommer att visas i panelen Layers efter att du har tryckt på knappen Add och laddat lagret/lagren i QGIS.

Du kan välja flera lager samtidigt, men bara en bildstil per lager. När flera lager väljs kombineras de på WMS-servern och överförs till QGIS på en gång, som ett enda lager. Standardnamnet är en snedstrecksseparerad (/) lista med deras ursprungliga titel. Du kan dock välja att checkbox Ladda som separata lager.

Lagerordning

Fliken Layer Order listar de valda lager som är tillgängliga från den aktuella anslutna WMS-servern.

WMS-lager som återges av en server överlagras i den ordning som anges på fliken Layers, från toppen till botten av listan. Om du vill ändra överläggningsordningen kan du använda knapparna Up och Down på fliken Layer Order.

Öppenhet

Inställningen Global transparency från Lageregenskaper är hårdkodad till att alltid vara på, om den finns tillgänglig.

19.1.5. Mosaiker

När du använder WMTS (Cached WMS) tjänster kan du bläddra igenom fliken Tilesets som ges av servern. Ytterligare information som kakelstorlek, format och stödda CRS listas i denna tabell.

# example of WMTS service

https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?service=WMTS&request=GetCapabilities

När du väljer ett lager att ladda är det också möjligt att tillämpa en Tolkningsmetod, som omvandlar det till ett rasterlager av typen single band float, redo för styling med QGIS vanliga rasterrenderare.

I kombination med den här funktionen kan du använda skjutreglaget för kakelskalan genom att välja Visa ► Paneler (eller kde Inställningar ► Paneler) och sedan välja Tile Scale Panel. Detta ger dig de tillgängliga skalorna från kakel-servern med ett snyggt reglage dockat i.

19.1.6. Använda identifieringsverktyget

När du har lagt till en WMS-server, och om något lager från en WMS-server är sökbart, kan du använda verktyget identify Identify för att välja en pixel på kartbilden. En fråga ställs till WMS-servern för varje val som görs. Resultatet av förfrågan returneras i klartext. Formateringen av denna text är beroende av vilken WMS-server som används.

Val av format

Om flera utdataformat stöds av servern läggs en kombinationsruta med format som stöds automatiskt till i dialogrutan för identifieringsresultat och det valda formatet kan lagras i projektet för lagret.

Stöd för GML-format

Verktyget identify Identifiera stöder WMS-serverns svar (GetFeatureInfo) i GML-format (det kallas Funktion i QGIS grafiska gränssnitt i det här sammanhanget). Om ”Funktion”-formatet stöds av servern och väljs, är resultaten från Identifiera-verktyget vektorfunktioner, som från ett vanligt vektorlager. När en enskild funktion väljs i trädet markeras den på kartan och den kan kopieras till urklippet och klistras in i ett annat vektorlager. Se exemplet på konfiguration av UMN Mapserver nedan för att stödja GetFeatureInfo i GML-format.

# in layer METADATA add which fields should be included and define geometry (example):

"gml_include_items"   "all"
"ows_geometries"      "mygeom"
"ows_mygeom_type"     "polygon"

# Then there are two possibilities/formats available, see a) and b):

# a) basic (output is generated by Mapserver and does not contain XSD)
# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml,text/html"

# b) using OGR (output is generated by OGR, it is sent as multipart and contains XSD)
# in MAP define OUTPUTFORMAT (example):
OUTPUTFORMAT
    NAME "OGRGML"
    MIMETYPE "ogr/gml"
    DRIVER "OGR/GML"
    FORMATOPTION "FORM=multipart"
END

# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "OGRGML,text/html"

19.1.7. Visning av egenskaper

När du har lagt till en WMS-server kan du visa dess egenskaper genom att högerklicka på den i teckenförklaringen och välja Properties. WMS/WMTS-lagrets egenskaper liknar rasterlagrets egenskaper, så du hittar en detaljerad beskrivning i Dialog för egenskaper för raster. Det finns dock vissa skillnader, som förklaras nedan.

19.1.7.1. Informationsegenskaper

Fliken Metadata

Fliken Metadata visar en mängd information om WMS-servern, i allmänhet hämtad från den capabilities statement som returneras från den servern. Många definitioner kan hämtas genom att läsa WMS-standarderna (se OPEN-GEOSPATIAL-CONSORTIUM i Litteratur- och webbreferenser), men här är några praktiska definitioner:

  • Egenskaper för server

    • WMS Version — Den WMS-version som stöds av servern.

    • Image Formats — Listan över MIME-typer som servern kan svara med när kartan ritas. QGIS stöder alla format som de underliggande Qt-biblioteken byggdes med, vilket vanligtvis är åtminstone image/png och image/jpeg.

    • Identity Formats — Listan över MIME-typer som servern kan svara med när du använder Identify-verktyget. För närvarande stöder QGIS typen text-plain.

  • Lagrets egenskaper

    • Vald — Huruvida detta lager var valt eller inte när dess server lades till i detta projekt.

    • Visible — Huruvida detta lager är markerat som synligt i förklaringen (används ännu inte i den här versionen av QGIS).

    • Can Identify — Huruvida detta lager kommer att ge några resultat när Identify-verktyget används på det eller inte.

    • Can be Transparent — Huruvida detta lager kan återges med transparens eller inte. Denna version av QGIS kommer alltid att använda transparens om detta är Yes och bildkodningen stöder transparens.

    • Can Zoom In — Om detta lager kan zoomas in av servern eller inte. Denna version av QGIS förutsätter att alla WMS-lager har detta inställt på Yes. Lager som inte har det kan återges på ett konstigt sätt.

    • Cascade Count — WMS-servrar kan fungera som en proxy till andra WMS-servrar för att hämta rasterdata för ett lager. Denna post visar hur många gånger begäran för detta lager vidarebefordras till andra WMS-servrar för att få ett resultat.

    • Fixed Width, Fixed Height — Om detta lager har fasta pixeldimensioner för källan eller inte. Denna version av QGIS antar att alla WMS-lager har detta inställt till ingenting. Lager som inte har det kan återges på ett konstigt sätt.

    • WGS 84 Bounding Box — Lagrets avgränsande box, i WGS 84-koordinater. Vissa WMS-servrar ställer inte in detta korrekt (t.ex. används UTM-koordinater i stället). Om detta är fallet kan den första vyn av detta lager återges med ett mycket ”utzoomat” utseende av QGIS. WMS webmaster bör informeras om detta fel, som de kanske känner till som WMS XML-elementen LatLonBoundingBox, EX_GeographicBoundingBox eller CRS:84 BoundingBox.

    • Tillgänglig i CRS — De projektioner som detta lager kan återges i av WMS-servern. Dessa listas i det WMS-nativa formatet.

    • Available in style — De bildstilar som detta lager kan återges i av WMS-servern.

19.1.7.2. Temporala egenskaper

Raster temporala egenskaper (nämligen Dynamic Temporal Control) kan ställas in för WMS- och WMTS-lager. När ett WMS- eller WMTS-lager med tidsdimension läggs till i projektet visas det som standard i panelen Layers med ikonen indicatorTemporal Temporal Layer bredvid. Dess Temporal-egenskaper är som standard inställda på Automatic temporalt läge, vilket innebär att lagret som standard följer den temporala styrenhetens aktuella tidsintervall.

Du kan sedan välja att visa ett specifikt statiskt tidsvärde för lagret genom att avmarkera Dynamic Temporal Control och välja ett alternativ under Static WMS-T Temporal Range:

  • Serverstandard

  • Predefined date med en server som exponerar data för icke sammanhängande tidsintervall eller Predefined range med en server som exponerar ett intervall av tillgängliga datum. En Start date och End date är nödvändiga i det senare fallet. Deras förväntade formatering kan härledas från alternativet referenstid (se nedan). beroende på om leverantören har data för en sammanhängande period eller inte

  • Följ projektets tidsintervall enligt definitionen i projektets egenskapsdialog

../../../_images/temporal_properties.png

Fig. 19.4 Temporala egenskaper hos ett WMTS-lager

Oavsett vilken kontroll av tidsdata som används finns det några WMS-T Inställningar som hjälper till att visa rätt tidsdata:

  • Time slice mode vilket kan vara:

    • Utnyttja hela tidsintervallet

    • Matcha med början av intervallet

    • Matchning till slutet av intervallet

    • Närmaste matchning till början av intervallet

    • Närmaste matchning till slutet av intervallet

  • Ignorera tidskomponenter (använd endast datum): Om detta markeras kommer tidskomponenten i temporala frågor att ignoreras och endast datumkomponenten kommer att användas i serverförfrågningar.

Du kan också checkbox Use Specific WMS-T Reference Time plocka från tider som rapporteras i lagrets funktioner. Praktiskt för servrar som exponerar en icke sammanhängande uppsättning av datumtidsinstanser (istället för ett intervall av datum).

19.1.7.3. Egenskaper för QGIS Server

Förutom rasterlagrets properties visas följande alternativ när du publicerar ett WMS/WMTS-lager med QGIS Server:

  • WMS-utskriftslager: Gör det möjligt att ange ett alternativt WMS-lager som ska användas för utskrift (i svaret GetProjectSettings). Lämpligt för WMTS-lager som i allmänhet inte är lämpliga för utskrift.

  • checkbox Publicera WMS/WMTS datakälla uri: Tillåter en webbklient att hämta WMS/WMTS-data direkt

  • checkbox Annonser som bakgrundslager

../../../_images/server_properties.png

Fig. 19.5 QGIS Server-egenskaper för ett WMS/WMTS-lager

19.1.8. Visa WMS legendgrafik i innehållsförteckningen och i layouten

QGIS WMS-dataleverantören kan visa en grafisk förklaring i innehållsförteckningens lagerlista och i utskriftslayouten. WMS-förklaringen visas endast om WMS-servern har GetLegendGraphic-kapacitet och lagret har getCapability url specificerad, så du måste dessutom välja en styling för lagret.

Om en legendGraphic är tillgänglig visas den under lagret. Den är liten och du måste klicka på den för att öppna den i verklig storlek (på grund av QgsLegendInterface arkitektoniska begränsning). Om du klickar på lagrets förklaring öppnas en ram med förklaringen i full upplösning.

I utskriftslayouten kommer teckenförklaringen att integreras i sin ursprungliga (nedladdade) dimension. Upplösningen på legendgrafiken kan ställas in i artikelegenskaperna under Legend ► WMS LegendGraphic för att matcha dina utskriftskrav.

Legenden kommer att visa kontextuell information baserat på din aktuella skala. WMS-förklaringen visas endast om WMS-servern har GetLegendGraphic-kapacitet och lagret har getCapability url specificerad, så du måste välja en styling.

19.2. WCS-klient

wcs En Web Coverage Service (WCS) ger tillgång till rasterdata i former som är användbara för rendering på klientsidan, som indata i vetenskapliga modeller och för andra klienter. WCS kan jämföras med WFS och WMS. I likhet med WMS- och WFS-tjänstinstanser gör en WCS det möjligt för klienter att välja delar av en servers informationsinnehav baserat på spatiala begränsningar och andra frågekriterier.

QGIS har en inbyggd WCS-leverantör och stöder både version 1.0 och 1.1 (som skiljer sig avsevärt), men för närvarande föredrar den 1.0, eftersom 1.1 har många problem (dvs. varje server implementerar den på olika sätt med olika särdrag).

Den inbyggda WCS-providern hanterar alla nätverksförfrågningar och använder alla standardinställningar för QGIS-nätverk (särskilt proxy). Det är också möjligt att välja cache-läge (”always cache”, ”prefer cache”, ”prefer network”, ”always network”), och leverantören stöder också val av tidsposition, om tidsdomän erbjuds av servern.

Varning

Om du anger användarnamn och lösenord på fliken Autentisering kommer oskyddade uppgifter att sparas i anslutningskonfigurationen. Dessa uppgifter kommer att vara synliga om du t.ex. delar projektfilen med någon. Därför är det lämpligt att spara dina autentiseringsuppgifter i en Autentiseringskonfiguration istället (fliken configurations). Se System för autentisering för mer information.

19.3. WFS och WFS-T Klient

I QGIS beter sig ett WFS-lager ungefär som vilket annat vektorlager som helst. Du kan identifiera och välja funktioner och visa attributtabellen. QGIS stöder WFS 1.0.0, 1.1.0, 2.0 och OGC API - Features (OAPIF), inklusive redigering (genom WFS-T). QGIS stöder också nedladdning i bakgrunden och progressiv rendering, cachelagring på disk av nedladdade funktioner och automatisk versionsdetektering.

Lager av servrar som implementerar OGC API - Funktioner - Del 4: Skapa, ersätta, uppdatera och ta bort kan omvandlas till redigeringsläge för att göra det möjligt att skapa, ändra och ta bort funktioner. Observera att varje skapad/ändrad/raderad funktion kräver en dedikerad nätverksbegäran, så prestandan kan bli lidande vid samtidig ändring av hundratals eller fler funktioner åt gången.

Att lägga till ett WFS-lager är i allmänhet mycket likt det förfarande som används med WMS. Det finns inga standardservrar definierade, så du måste lägga till dina egna. Du kan hitta WFS-servrar genom att använda MetaSearch plugin eller din favoritsökmotor på webben. Det finns ett antal listor med offentliga webbadresser, vissa av dem underhålls och andra inte.

Laddning av en WFS Layer

Som ett exempel använder vi Gateway Geomatics WFS-server och visar ett lager.

https://demo.gatewaygeomatics.com/cgi-bin/wfs_gateway?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WFS

För att kunna ladda ett WFS-lager måste du först skapa en anslutning till WFS-servern:

  1. Öppna dialogrutan Data Source Manager genom att trycka på knappen dataSourceManager Open Data Source Manager

  2. Aktivera fliken addWfsLayer WFS / OGC API - Funktioner

  3. Klicka på New… för att öppna dialogrutan Create a New WFS Connection

  4. Ange Gateway Geomatics som namn

  5. Ange webbadressen (se ovan)

    ../../../_images/add_connection_wfs.png

    Fig. 19.6 Skapa en anslutning till en WFS-server

    Observera

    När det gäller ett OGC API - Features (OAPIF) ska den URL som ska anges vara landing page, dvs. den huvudsida från vilken det är möjligt att navigera till alla tillgängliga serviceendpoints.

  6. I dialogrutan för WFS-inställningar kan du:

    • Anger serverns WFS-version. Om den är okänd, tryck på knappen Detect för att automatiskt hämta den.

    • Definiera det maximala antalet funktioner som hämtas i en enda GetFetFeature-begäran. Om den är tom sätts ingen gräns.

    • Och beroende på WFS-versionen, ange om du vill:

      • Enable feature paging och ange det maximala antalet funktioner som ska hämtas med Page size. Om ingen gräns definieras tillämpas serverns standard.

      • Tvinga till Ignore axis orientation (WFS 1.1/WFS 2.0)

      • Inverterad axelorientering.

      • Använd GML2-kodning för transaktioner.

    Varning

    Om du anger användarnamn och lösenord på fliken Autentication kommer oskyddade uppgifter att sparas i anslutningskonfigurationen. Dessa uppgifter kommer att vara synliga om du t.ex. delar projektfilen med någon. Därför är det lämpligt att spara dina autentiseringsuppgifter i en Autentication-konfiguration istället (fliken Configurations). Se System för autentisering för mer information.

  7. Tryck på OK för att skapa anslutningen.

Observera att eventuella proxyinställningar som du kan ha angett i dina inställningar också beaktas. Observera också att det är möjligt att Load anslutningsparametrarna från en .XML-fil eller Save dem till en .XML-fil.

Nu är vi redo att ladda WFS-lager från ovanstående anslutning.

  1. Välj ”Gateway Geomatics” i rullgardinsmenyn Server Connections.

  2. Klicka på Connect

  3. Välj lagret Parks i listan

  4. Du kan också välja om du vill:

    • unchecked Använd titel för lagernamn, visar lagrets titel enligt definitionen på servern i panelen Lager i stället för dess Namn

    • checkbox Begära endast funktioner som överlappar vyns omfattning

    • Ändra… lagrets CRS till något annat som stöds av tjänsten

    • eller skapa en fråga för att ange särskilda funktioner som ska hämtas från tjänsten: dubbelklicka på lagrets rad för att öppna dialogrutan SQL Query Composer. I den dialogen finns widgetar för att skriva en avancerad SQL-fråga som bygger på tillgängliga tabeller och kolumner i tjänsten, med sortering och filtrering och en mängd SQL-funktioner, spatiala predikat och operatorer.

      Den fråga du bygger kommer att visas efter validering i kolumnen SQL i tabellen WFS / OGC API - Features, och det filtrerade lagret kommer att visa ikonen indicatorFilter bredvid det i panelen Layers. Det är således möjligt att justera frågan när som helst.

  5. Klicka på Add för att lägga till lagret på kartan.

../../../_images/connection_wfs.png

Fig. 19.7 Lägga till ett WFS-lager

Du kommer att märka att nedladdningsförloppet visualiseras längst ner till vänster i QGIS huvudfönster. När lagret har laddats kan du identifiera och välja ett par funktioner och visa attributtabellen.

19.4. SensorThings

QGIS stöder anslutningar till OGC SensorThings API, en standard som tillhandahåller ett öppet och enhetligt ramverk för att sammankoppla IoT-avkänningsenheter, data och applikationer över webben. Det är en öppen standard som behandlar syntaktisk och semantisk interoperabilitet för Internet of Things. Den baseras på datamodellen ”Observations and Measurements <https://www.ogc.org/publications/standard/om/>`_”, en standardiserad modell för observationer och för funktioner som ingår i provtagning vid observationer.

19.4.1. Inställning av anslutning

Lägg till SensorThings data i QGIS genom att använda fliken addSensorThingsLayer SensorThings i dialogrutan Data Source Manager.

För att upprätta en ny anslutning trycker du på Ny (eller Ny SensorThings-anslutning från bläddrarpanelen) och anger Namn och URL. Avancerade alternativ, t.ex. authentication och en Referer, kan också konfigureras.

Tryck på OK för att upprätta anslutningen. Sedan kommer du att kunna:

  • Ändra inställningarna för SensorThings-anslutningen

  • Avlägsna SensorThings-anslutningen

../../../_images/sensorThings_connection.png

Fig. 19.8 SensorThings Anslutningsdialog

Konfigurationer kan sparas till en .XML-fil (Save) via SensorThings-posten i Data Source Manager-dialogrutan eller dess kontextuella meny i Browser-panelen (Save Connections). På samma sätt kan konfigurationer läggas till från en fil (Load).

19.4.2. Ladda SensorThings data

Relationer mellan lager (s.k. entiteter) som lagras i en SensorThings-datauppsättning uttrycks i diagrammet nedan.

../../../_images/sta_uml_diagram.png

Fig. 19.9 Datamodell Observationer och mätningar (Källa: Sensor Web Tutorial by SIST network)

Alla typer av entiteter kan läsas in i QGIS, men alla är inte spatiala data. För att ladda en entitet finns det Lagerinställningar som kan konfigureras:

  • Entity Type: den entitet som ska laddas från datamodellen som lager i QGIS

  • Geometry Type: geometritypen för den valda entiteten som ska laddas. Tryck på refresh Check available types för att begränsa listan till de geometrityper som faktiskt stöds.

  • Sidstorlek

  • Feature Limit anger ett maximalt antal funktioner som ska begäras från tjänsten

  • Extent Limit anger en maximal omfattning för lagret, så att endast funktioner inom omfattningen begärs

  • Expansioner: Datamodellen för SensorThings tillhandahåller en mekanism för utvidgning av resultaten till relaterade enheter, på samma sätt som tabeller sammanfogas i en relationsdatabas. Med hjälp av detta tillvägagångssätt kan du expandera det valda lagret till att omfatta data från andra objekt. Detta gör relationen plattare och skapar lika många överordnade funktioner som underordnade, och ytterligare egenskaper läggs till som kolumner i attributtabellen.

Använd Filter för att skapa en fråga för att filtrera data med hjälp av SensorThings filtersyntax.

Observera

Ovanstående inställningar och filtreringsalternativ är också tillgängliga för uppdatering i dialogrutan för lagrets egenskaper, fliken Source, när lagret har laddats i QGIS.

Tryck på Add för att ladda den valda enhetstypen som lager i QGIS.

19.4.3. Arbeta med ett vektorlager från SensorThings

Ett SensorThings-lager laddas i QGIS som ett vektorlager. Som sådant visar det samma flikar i lagrets egenskaper och tillåter samma funktionsinteraktioner med hjälp av urvals- eller identifieringsverktygen. Det finns dock några specifika egenskaper som du bör tänka på när du arbetar med SensorThings-data.

På grund av datamodellen är resultategenskapen för en SensorThings Observation ett strängfält. Om du vill använda dess numeriska representation, t.ex. i en graderad stil, använder du ett uttryck för att konvertera värdet till verkligt och try() om detta misslyckas (t.ex. try( to_real("Observation_result"), Null)).

Om du vill skapa ett diagram över observationerna på en eller flera platser kan du installera QGIS-tillägget Data Plotly.

  1. Välj nu observationerna på en punkt i kartvyn.

  2. Öppna plotly-panelen och aktivera kryssrutan Use only selected features.

  3. Välj i x-kolumnen en egenskap för datum och tid och i y-kolumnen Observation_result. Detta kommer att rita upp observationerna på den platsen över tiden.

  4. Verifiera för att filtrera efter en enda observerad egenskap.

  5. Lägg märke till att diagrammet ändras så snart du väljer andra platser på kartan.

    ../../../_images/sensorthings-plotly-airquality.png

    Fig. 19.10 Använd Data plotly för att plotta luftkvalitetsobservationerna på en plats