WMS (klient och server), SLD Portaler, öppna tjänster och geografisk infrastruktur GISSamverkan Dalarna, temadag, Borlänge 6 mars 2008 WMS (klient och server), SLD Mats Öberg IT, Länsstyrelserna
WMS (WebMapService) är en ISO-standard (19128) för att skapa och visa kartvyer/bilder som kommer samtidigt från flera distribuerade källor. Innehåll Poängen med WMS WMS i olika klienter – desktopGIS, web WMS egenskaper – GetCapabilities, GetMap, GetFeatureinfo WMS på servern – hur skapa WMS i praktiken (ArcIMS, ArcGISServer) Stilmallen XSL (bl a för definition av publicerade koordinatsystem) SLD – extern styrning av WMS-ens uppritning
Poängen med WMS Karttjänst enligt internationell standard(specifikation), vilken kan visas i alla klienter som stödjer läsning av WMS. Detta oberoende av i vilken servermiljö tjänsten är skapad. Även om man har sin organisations data i ett referenssystem (t ex RT90) så kan man publicera en WMS i flera andra och olika referenssystem (t ex SWEREF99, WGS84) Sammansatta tjänster/portaler kan bygga på att WMS tillhandahålls av olika dataleverantörer och ”ajourhålls vid källan” (Direkt nedladdning av data publicerad i WFS – ingen särskild ”nedladdningssida” behövs) /sept 07
Svårigheten är dock inte att göra en WMS (”WMS-enabla” en ArcIMS-tjänst är relativt enkelt). Och även om det finns ”dialekter”/olika programvarors tolkningar av WMS, så ligger utmaningen i att: Få organisationen att harmonisera sina data [m a p ”rätt” datakvalitet, attributinformation, namnstandard och metadatasättning] /sept 07
WMS i olika klienter – desktopGIS, web Vissa serverprodukter kan skapa (klientoberoende) WMS-er Vissa klienter kan läsa WMS. Exempel: ArcMap, MapInfo, Geosecma, Cadcorp, ”WMS viewers”, portaler (som t ex ESRI GIS Portal Toolkit – används i portaldelen i ”Planeringsportalen”, hos SGU - eller GeoNetwork m fl) Finns och kommer starkt i Norge, EU-länder. Relaterat till INSPIRE, Nationell Geodatastrategi. ”Planeringsportalen” bygger bl a på att WMS-tjänster finns publicerade. Exempel på sammanställningssidor WMS-URL: http://gis.lst.se/lstgis/wms.asp, http://maps.sgu.se , http://www.ogc-services.net Demo: WMS i ArcMap, WMS i Vindtjänsten
R
WMS egenskaper – GetCapabilities, GetMap, GetFeatureinfo beställa och returnera information om vilka slags kartor en server kan leverera (GetCapabilities) beställa och returnera en karta som bild (GetMap) beställa och returnera information om innehållet i en karta, t.ex. position eller attribut (GetFeatureInfo) Demo: Studera innehållet i svaret från ett GetCapabilities-anrop (browser, XMLPad) http://www.gis.lst.se/wmsconnector/com.esri.wms.Esrimap/wms_skyddadeomraden?service=WMS&version=1.1.1&request=GetCapabilities
R
R
WMS på servern – hur skapa WMS i praktiken (ArcIMS, ArcGISServer) ArcIMS9.2 ”out-of-the-box” Skapa ArcIMS-tjänst (baserad på axl eller ArcMap mxd) med en eller flera lager Editera eventuellt xsl för att lägga till koordinatsystem utöver det som data ligger i i samt metadata om tjänsten Använd den installerade WMS-connectorn för att ”enabla” WMS-tjänsten baserad på ArcIMS-tjänsten ArcGISServer ”out-of-the-box” Skapa mxd med ett eller flera lager Kör AGS administrator Bocka i att AGS-tjänsten skall publiceras som WMS
ArcIMS9.2 ”out-of-the-box” 1 AXL ArcIMS administrator
ArcIMS9.2 ”out-of-the-box” 2 http://servername/wmsconnector WMSConnector admin
ArcGISServer ”out-of-the-box” AGS admin mxd WMS-URL: http://SERVER/ArcGIS/services/Maps/Agslab1/MapServer/WMSServer?
Stilmallen XSL på servern (bl a def. av publicerade koordinatsystem) Demo: Studera innehållet i ArcIMS XSL C:\Program Files\ArcGIS\ArcIMS\Connectors\wms_connector\wmsconnector\WEB-INF\classes\wms\stylesheets\1.1.1\wms_capabilities_111.xsl XSL = Extensible Stylesheet Language Lägg till koordinatsystem som tjänsten skall publiceras i Metadata om tjänsten WGS84 (SRS/EPSG=4326) och native koordsys publiceras alltid
Harmoniserade Länsstyrelsedata i Planeringsportalen Lst PP WMS Publicering Publicerad XML Publicering och ’skördning’ Nedladdning av data
SLD – extern styrning av WMS-ens uppritning Ett ”problem” med WMS är att dataleverantören, förstås, väljer ett visst generellt manér och utsnitt, som kanske inte passar kartografiskt i en tjänst - t ex Planerings-portalen - som kombinerar många WMS-er. (Övriga problem kan vara prestanda/stabilitet, säkerhet, betalning) SLD (Styled Layer Descriptor) kan vara en lösning på detta. SLD behöver inte ligga på samma server som den publicerade WMS, utan kan tas ”omhand” (”kopplas på”) i klienten. ArcIMS stöder ännu inte detta
Ett GetMap-anrop (från en MapServer-baserad WMS): http://www2 Filter- och SLD-fil: http://194.16.71.102/SIS/africa.xml, http://194.16.71.102/SIS/africa_europe.xml Resultat: http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline&SLD=http://194.16.71.102/SIS/africa.xml http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline&SLD=http://194.16.71.102/SIS/africa_europe.xml
Med modifierad SLD (filter och manér) http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline + http://194.16.71.102/SIS/africa.xml = http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline&SLD=http://194.16.71.102/SIS/africa.xml utan SLD Med modifierad SLD (filter och manér)
Med modifierad SLD på egen server (manér) Så här ser SLD-filen ut http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline + http://gis.lst.se/presentationer/africa2.xml = http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline&SLD=http://gis.lst.se/presentationer/africa2.xml Med modifierad SLD på egen server (manér) Så här ser SLD-filen ut
Med modifierad SLD på egen server (filer och manér) http://www2.dmsolutions.ca/cgi-bin/mswms_world?SERVICE=WMS&VeRsIoN=1.1.1&Request=GetMap&LAYERS=WorldGen_Outline&SLD=http://gis.lst.se/presentationer/africa3.xml Med modifierad SLD på egen server (filer och manér) Så här ser SLD-filen ut
Jämför Capabilities för ”wms_skyddadeomraden” (ArcIMS) och ”mswms_world” (MapServer)