WMS és l'acrònim de Web Map Service. En una interpretació simplificada, és només una línia de codi a introduir a la barra de direccions dels nostre navegador d'internet. El resultat és una imatge amb informació cartogràfica, de geologia, urbanística, o d'altres tipus subministrats per aplicacions web. El format de línia correcte i la interpretació del seu codi el podem realitzar per enginyeria inversa. En alguns casos les pàgines web del servidor proporcionen dades explícites sobre el codi. En altres casos poden intentar trobar el codi inspeccionant el codi de la pàgina web.
En resum, WMS es pot considerar com un sistema GIS minimalista en una sóla línia de codi. Anem a veure uns exemples i com usar-ho de forma pràctica.
https://geoserveis.icgc.cat/servei/catalunya/orto-territorial/wms?REQUEST=GetMap&VERSION=1.3.0&SERVICE=WMS&CRS=EPSG:25831&BBOX=445636.00,4685404.00,446136.00,4685904.00&WIDTH=4000&HEIGHT=4000&LAYERS=ortofoto_color_vigent&STYLES=&FORMAT=JPEG&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&EXCEPTION=INIMAGE
Explicació:
Aquest enllaç obre una ortofoto en alta resolució del servidor de l'Institut Cartogràfic de Catalunya (icc.cat) amb el paràmetre "orto_color_vigent". En aquest cas és la zona urbana de Llanars (El Ripollès), a Catalunya. Fixeu-vos atentament en el codi, sempre és similar (desxifrar codi):
style="code" > https://geoserveis.icgc.cat/servei/catalunya/orto-territorial/ < És el servidor principal de l'Institut Catogràfic i Geològic de Catalunya
CRS=EPSG:25831& < Indica el sistema de coordenades UTM de Catalunya (EPSG 25831)
LAYERS=orto_color_vigent& < Especifica que la capa a descarregar és una ortofoto en color vigent
FORMAT=JPG < Especifica fomat jpg
SERVICE=WMS&VERSION=1.3
SRS=EPSG:25831 < Especifica el sistema geogràfic de referència usat a Catalunya (ETRS89 UTM zona 31N)
BBOX=445636.00,4685404.00,446136.00,4685904.00 < Aquesta és la part més important, epecifica coordenades UTM x1,y1,x2,y2 del rectangle a descarregar. Punt (x1,y1) abaix a l'esquerra, punt (x2,y2) adalt a la dreta.
WIDTH=4000 < Especifica l'amplada en pixels del quadre
HEIGHT=4000 < Especifica l'alçada en pixels del quadre
Tots els servidors WMS tenen un cosi molt similar. Només modificant les coordenades a continuació de "BBOX" i les amplades "WIDTH" i "HEIGHT", podem obtenir ortofotos de qualsevol altre part de la nostra zona UTM, a condició que el servidor proporcioni dades en el punt especificat. L'amplada i l'alçada han de ser proporcionals a les mides del rectangle definit pels punts (x1,y1) (x2,y2). També hi han límits a la resolució en nombre de pixels en relació a les dimensions del quadre. Cal fer algunes proves per aconseguir resultats exitosos. En aquest cas, amb un cuadrat de terreny de 500x500 m i una foto de 4000x4000 píxels sóm gairebé a la màxima resolució del sistema. Amb el ratolí, botó de la dreta fem "Desar imatge com...".
Podem modificar el paràmetre LAYER per altres opcions que ens indica el servidor de l'ICGC, com ara "orto_gris_vigent", "orto_color_2020", etc...:
https://geoserveis.icgc.cat/servei/catalunya/orto-territorial/wms?REQUEST=GetMap&VERSION=1.3.0&SERVICE=WMS&CRS=EPSG:25831&BBOX=445636.00,4685404.00,446136.00,4685904.00&WIDTH=4000&HEIGHT=4000&LAYERS=ortofoto_infraroig_vigent&STYLES=&FORMAT=JPEG&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&EXCEPTION=INIMAGE
Aquí el LAYER principal es diu "ortofoto_infraroig_vigent". L'ús de coordenades "BBOX" i dimensions en pixels "WIDTH" i "HEIGHT" és similar. Veiem què passa si modifiquen el layer "orto10c" per "mtc5m":
Informació capes ortofoto territorial a la web de l'ICGC:
https://www.icgc.cat/ca/Geoinformacio-i-mapes/Geoinformacio-en-linia-Geoserveis/WMS-Ortoimatges/WMS-dOrtofoto-Territorial
Topografia territorial:
https://www.icgc.cat/ca/Geoinformacio-i-mapes/Geoinformacio-en-linia-Geoserveis/WMS-Topografics/WMS-Referencial-Topografic-Territorial
Per saber quins són els noms dels LAYERS disponibles cal cercar informació a la web de la institució que proporciona les dades, o usar enginyeria inversa estudiant el codi general al carregar diferents capes. Hi ha servidors per a múltiples temàtiques interessant per a l'enginyeria civil, geologia, delimitació d'espais naturals, planejament urbanístic, patrimoni arqueològic,... Al següent exmple veurem com obtenir codis WMS ocults a la web...
Novament, cal cercar informació a la web de la institució que proporciona mapes, el que no sempre és publicat, o usar enginyeria inversa, cercar i estudiar els codis generats. Generalment, es tracta d'obrir el servidor de mapes, i amb el botó
1) Obrir un servidor de mapes online subministrat per alguna institució pública o privada. Per exemple obribrem el mapa geològic de l'Institut Geològic de Catalunya, que té la següent adreça web:
https://www.icgc.cat/en/Public-Administration-and-Enterprises/Downloads/Geological-and-geothematic-cartography/Geological-cartography/Geological-map-1-50-000
2) Ara cal trobar el codi del servidor intern WMS...
3) Usant el navegador Firefox (o altres) amb el botó de la dreta fer "Inspeccionar" i apareix una finestra de codi a la part inferior.
4) Cercar a la pestanya "xarxa" (Monitor de xarxa). Aquí hem de trobar unes línies de codi que parlen de "WMSServer" o "service=WMS" o similar. És el que estem cercant!
5) Copiar una de les líies de codi que contenen la paraula WMS i tenen l'estructura necessària, i verificar el resultat.
6) Per exemple, al primer intent he trobat el codi:
Les línies WMS que més ens interessen són aquelles en que les coordenades especifiacdes a "BBOX" són UTM, ja que les unitats són metres i molt fàcil d'interpretar. Hi ha alguns servidors WMS que usen sistemes de referència diferents (codi associat al paràmetre "EPSG"
https://siurana.icgc.cat/arcgis/services/geologic/icgc_mg250m/MapServer/WMSServer?=&service=WMS&request=GetMap&layers=UGEO_PA&styles=&format=image/png&transparent=true&version=1.1.1&nom=Unitats geològiques&tipus=wms&businessId=a8c42945fbd6de690b1d8080f2fbdf44&width=512&height=512&srs=EPSG:3857&bbox=0,5087648.602661333,78271.51696402048,5165920.119625352
https://geoserveis.icgc.cat/arcgis/services/geologic/icgc_mg250m/MapServer/WMSServer?&service=WMS&request=GetMap&layers=UGEO_PA&styles=&format=image%2Fpng&transparent=true&version=1.1.1&nom=Unitats%20geol%C3%B2giques&tipus=wms&businessId=a8c42945fbd6de690b1d8080f2fbdf44&width=512&height=512&srs=EPSG%3A3857&bbox=156543.03392804097,5165920.119625352,234814.5508920615,5244191.636589374
Que te l'estructura adequada i proporciona bons resultats. Recordi que hem d'ajustar les coordenades a continuació de "bbox" i els pixels "width" i "heigth" si necessari. En aquest cas la capa és "layers=UGEO_PA". El sistema cartogràfic és EPSG:3857 (WGS84 Pseudo-Mercator)
En resum, recopilar servidors WMS i conèixer els codis per a descarregar les nostres imatges georeferenciades és quelcom molt interessant i útil. Cal anar amb compte, sovint els servidors de mapes WMS canvien el nom dels servidors i els seus paràmetres de control.
Aquí només hem parlat de com descarregar manualment imatge per imatge editant el codi. No obstant, aquesta tasca també la he automatitzat per a múltiples imatges amb un script bash (enllaç). I usant la filosofia UNIX de fer programes senzills que facin una cosa, la facin bé, i estiguin connectats entre ells, també està resolt amb un altre script bash, com descarregar múltiples quadres i carregarlos com a referències externes a un arxiu DXF usant l'aplicació FortranCAD.
Saber més sobre l'estandard WMS aquí:
https://portal.ogc.org/files/?artifact_id=14416
https://portal.ogc.org/files/?artifact_id=14416