Viktigt

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

10.1. Lektion: Karttjänster på webben

En Web Mapping Service (WMS) är en tjänst som finns på en fjärrserver. På samma sätt som en webbplats kan du komma åt den så länge du har en anslutning till servern. Med hjälp av QGIS kan du ladda en WMS direkt till din befintliga karta.

Från lektionen om plugins minns du säkert att det är möjligt att ladda en ny rasterbild från till exempel Google. Detta är dock en engångstransaktion: när du väl har laddat ner bilden ändras den inte. Ett WMS är annorlunda eftersom det är en live-tjänst som automatiskt uppdaterar sin vy om du panorerar eller zoomar på kartan.

Målet för den här lektionen: Att använda ett WMS och förstå dess begränsningar.

10.1.1. ★☆☆ Följ med: Ladda ett WMS-lager

För den här övningen kan du antingen använda den grundläggande karta som du skapade i början av kursen eller bara starta en ny karta och ladda in några befintliga lager i den. I det här exemplet använde vi en ny karta och laddade de ursprungliga skikten places, landuse och protected_areas och justerade symbologin:

../../../_images/new_map.png
  1. Ladda in dessa lager i en ny karta eller använd din ursprungliga karta med endast dessa lager synliga.

  2. Innan du börjar lägga till WMS-lagret, avaktivera projektionen ”on the fly” (:menyval:`Projekt --> Egenskaper... --> CRS`, markera No CRS (or unknown/non-Earth projection). Detta kan leda till att lagren inte längre överlappar varandra ordentligt, men oroa dig inte: vi åtgärdar det senare.

  3. Lägg till WMS-lager genom att klicka på knappen dataSourceManager för att öppna dialogrutan Data Source Manager och aktivera fliken addWmsLayer WMS/WMTS.

    ../../../_images/datasourcemanager_wms.png

    Kom ihåg hur du anslöt till en SpatiaLite- eller GeoPackage-databas i början av kursen. Skikten landuse, buildings och roads lagras i en databas. För att använda dessa skikt måste du först ansluta till databasen. Användningen av ett WMS är likartad, med undantaget att skikten finns på en fjärrserver.

  4. För att skapa en ny anslutning till ett WMS, klicka på knappen New.

    Du behöver en WMS-adress för att fortsätta. Det finns flera gratis WMS-servrar tillgängliga på Internet. En av dessa är terrestris, som använder sig av OpenStreetMap dataset.

  5. För att använda detta WMS, ställ in det i din nuvarande dialog, så här:

    ../../../_images/new_wms_connection.png
    • Värdet i fältet Name bör vara terrestris.

    • Värdet i fältet URL bör vara https://ows.terrestris.de/osm/service.

  6. Klicka på OK. Du bör se den nya WMS-servern listad:

    ../../../_images/new_connection_listed.png
  7. Klicka på Connect. I listan nedan bör du nu se dessa nya poster laddade:

    ../../../_images/new_wms_entries.png

    Det här är alla lager som finns på den här WMS-servern.

  8. Klicka en gång på skiktet OSM-WMS. Detta kommer att visa standard Coordinate Reference System som används och antalet CRS som stöds av datasetet:

    ../../../_images/osm_wms_selected.png

    Eftersom vi inte använder EPSG:4326 - WGS 84 för vår karta, låt oss hitta en som uppfyller våra behov.

    1. Klicka på knappen setProjectionVälj CRS. Du kommer att se en standard Coordinate Reference System Selector-dialogruta som visar alla CRS som data publiceras med.

    2. Vi vill ha en projicerad CRS, så låt oss välja WGS 84 / Pseudo-Mercator med EPSG:3857. Du kan använda den översta widgeten search Filter.

      ../../../_images/pseudo_mercator_selected.png
      1. Klicka på OK. Det koordinatreferenssystem som är kopplat till posten har ändrats.

  9. Klicka på Add för att ladda lagret i ditt projekt med hjälp av Layer name` (standard är OpenStreetMap WMS - by terrestris).

  10. Stäng dialogrutan Data Source Manager om det inte görs automatiskt

  11. I panelen Layers klickar du på den och drar den längst ned i listan.

  12. Zooma ut för att få en global vy av lagren. Du kommer att märka att dina lager inte är korrekt placerade (nära väster om Afrika). Detta beror på att ”on the fly”-projektion är inaktiverad.

    ../../../_images/reprojection_off.png
  13. Låt oss aktivera omprojiceringen igen, men med samma projektion som skiktet OpenStreetMap WMS, som är WGS 84 / Pseudo Mercator.

    1. Öppna Projekt ► Egenskaper… ► CRS flik

    2. Avmarkera Ingen CRS (eller okänd/ej jordprojektion)

    3. Välj WGS 84 / Pseudo Mercator från listan.

      ../../../_images/enable_projection.png
    4. Klicka på OK.

  14. Högerklicka nu på ett av dina egna lager i panelen Layers och klicka på Zoom to layer(s). Du bör se området Swellendam:

    ../../../_images/wms_result.png

Notera hur WMS-skiktets gator och våra egna gator överlappar varandra. Det är ett gott tecken!

WMS:ets karaktär och begränsningar

Vid det här laget har du kanske märkt att det här WMS-skiktet faktiskt innehåller många funktioner. Det har gator, floder, naturreservat och så vidare. Dessutom, även om det ser ut som om det består av vektorer, verkar det vara ett raster, men du kan inte ändra dess symbologi. Varför är det så?

Så här fungerar ett WMS: det är en karta, som liknar en vanlig karta på papper, som du får som en bild. Det som vanligtvis händer är att du har vektorlager som QGIS renderar som en karta. Men om du använder ett WMS finns dessa vektorlager på WMS-servern, som renderar dem som en karta och skickar kartan till dig som en bild. QGIS kan visa den här bilden, men kan inte ändra dess symbologi, eftersom allt detta hanteras på servern.

Detta har flera fördelar, eftersom du inte behöver oroa dig för symbologin. Den är redan utarbetad och bör vara trevlig att titta på i alla kompetent utformade WMS.

Å andra sidan kan du inte ändra symbologin om du inte gillar den, och om saker ändras på WMS-servern kommer de också att ändras på din karta. Det är därför du ibland vill använda en Web Feature Service (WFS) istället, som ger dig vektorlager separat och inte som en del av en karta i WMS-stil.

Detta kommer dock att tas upp i nästa lektion. Låt oss först lägga till ett annat WMS-lager.

10.1.2. ★☆☆ Prova själv:

  1. Lägg till eAtlas WMS-server på denna URL: https://maps.eatlas.org.au/maps/wms

  2. Ladda ett World: Hillshading-lager till kartan.

  3. Du kanske vill ställa in dess Encoding till JPEG och dess Tile size-alternativ till 200 av 200, så att den laddas snabbare.

  4. Din karta bör se ut så här (du kan behöva ändra ordningen på lagren och lägga till lite transparens):

    ../../../_images/world_hillshading_result.png

10.1.3. ★★★★ Prova själv:

En del av svårigheten med att använda WMS är att hitta en bra (gratis) server.

  • Hitta ett nytt WMS på directory.spatineo.com (eller någon annanstans på nätet). Det får inte ha några tillhörande avgifter eller begränsningar och måste täcka studieområdet Swellendam.

    Kom ihåg att det enda du behöver för att kunna använda ett WMS är dess URL (och helst någon form av beskrivning).

10.1.4. ★★★★ Prova själv:

  • Lägg till skiktet bluemarble från MapServer Demonstration Server. Är det en lämplig dataset för vårt studieområde?

10.1.5. Sammanfattningsvis

Med hjälp av ett WMS kan du lägga till inaktiva kartor som bakgrund till dina befintliga kartdata.

10.1.6. Ytterligare läsning

10.1.7. Vad händer härnäst?

Nu när du har lagt till en inaktiv karta som bakgrund kommer du att bli glad över att veta att det också är möjligt att lägga till funktioner (som de andra vektorlagren du lade till tidigare). Det går att lägga till funktioner från fjärrservrar med hjälp av en Web Feature Service (WFS). Det är ämnet för nästa lektion.