miércoles, 3 de diciembre de 2008

Creación de un fichero XWMS

En el post de ayer vimos la explicación de un fichero XWMS, ahora veremos como crearlo.

Un ejemplo de XWMS, para la capa del PNOA para las Islas Canarias es el siguiente, para utilizarlo copiamos y pegamos en el bloc de notas y le ponemos extensión XWMS:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BentleyWMSFile>
<VERSION>1.1</VERSION>
<URL>http://www.idee.es/wms/PNOA/PNOA?</URL>
<REQUEST>
<VERSION>1.1.1</VERSION>
<SRS>EPSG:32628</SRS>
<LAYERS>PNOA</LAYERS>
<WIDTH>800</WIDTH>
<HEIGHT>500</HEIGHT>
<BBOX>173253.0507353173,2425037.131730126,2168385.5834976654,5240210.159592544</BBOX>
<FORMAT>image/jpeg</FORMAT>
</REQUEST>
<SERVERCAPABILITIES>
<MAXBITMAPSIZE width="1024" height="1024" />
</SERVERCAPABILTIES>
</BentleyWMSFile>


Si queremos rehacerlo para emplearlo con la proyección UTM Huso 30 y elipsoide WGS-84, ¿qué se ha de hacer?

Primeramente escribimos en el navegador la siguiente URL:
  • http://www.idee.es/wms/PNOA/PNOA?service=wms&version=1.1.1&request=getcapabilities
La parte en negrita se puede cambiar por cualquier otro WMS, para que nos informe de la configuración del mismo.
Esta dirección nos va ha dar un listado con las capacidades del WMS, y nosotros nos debemos de fijar en las siguientes partes:

.....
<Format>image/jpeg</Format>
<Format>image/png</Format>
<Format>image/gif</Format>
....
<BoundingBox SRS="EPSG:4230" minx="-18.160878749603313" miny="21.900636570557513" maxx="6.290494734666003" maxy="45.28725915261717"/>
<BoundingBox SRS="EPSG:4258" minx="-18.162115973099013" miny="21.899217862404793" maxx="6.289256402294638" maxy="45.286286289212114"/>
<BoundingBox SRS="EPSG:4326" minx="-18.162115973099013" miny="21.899217861706028" maxx="6.289256402294638" maxy="45.28628628820378"/>
<BoundingBox SRS="EPSG:25828" minx="173253.0507353173" miny="2425037.131730126" maxx="2168385.5834976654" maxy="5240210.159592544"/>
<BoundingBox SRS="EPSG:25829" minx="-449327.61251775094" miny="2450149.3828724967" maxx="1698735.22045626" maxy="5129778.224899362"/>
<BoundingBox SRS="EPSG:25830" minx="-1079535.5734522804" miny="2500902.424957928" maxx="1228440.8617586703" maxy="5056901.789903663"/>
<BoundingBox SRS="EPSG:25831" minx="-1722562.545459419" miny="2579757.8084207447" maxx="757948.2154955431" maxy="5020018.521170157"/>
<BoundingBox SRS="EPSG:23028" minx="173370.72728847287" miny="2425223.032265319" maxx="2168530.3962929747" maxy="5240449.115844509"/>
<BoundingBox SRS="EPSG:23029" minx="-449228.39729226846" miny="2450332.5000240584" maxx="1698867.1219029585" maxy="5130004.196100846"/>
<BoundingBox SRS="EPSG:23030" minx="-1079453.857309374" miny="2501084.8048548615" maxx="1228559.3062343127" maxy="5057116.852345662"/>
<BoundingBox SRS="EPSG:23031" minx="-1722497.3406947684" miny="2579941.4932313673" maxx="758052.9159781663" maxy="5020224.5616884725"/>
<BoundingBox SRS="EPSG:32628" minx="173253.0507353173" miny="2425037.131730126" maxx="2168385.5834976654" maxy="5240210.159592544"/>
<BoundingBox SRS="EPSG:32629" minx="-449327.61251775094" miny="2450149.3828724967" maxx="1698735.22045626" maxy="5129778.224899362"/>
<BoundingBox SRS="EPSG:32630" minx="-1079535.5734522804" miny="2500902.424957928" maxx="1228440.8617586703" maxy="5056901.789903663"/>
<BoundingBox SRS="EPSG:32631" minx="-1722562.545459419" miny="2579757.8084207447" maxx="757948.2154955431" maxy="5020018.521170157"/>
.....
<Name>pnoa</Name>
<Title>PNOA</Title>
......

De la primera parte seleccionamos el tipo de imagen según nuestra conveniencia, después seleccionaremos el sistema de referencia que necesitemos en función de si queremos que la información está en latitud y longitud o en UTM en un determinado huso y con un determinado elipsoide y la última parte nos dará el nombre de la capa.

Para obtener la información del BBOX, lo que tenemos que poner es la información de minx, miny, maxx y maxy separadas por comas. Además debemos garantizar que los valores que se pongan en Width y Height, sean multiplos de BBOX, tal y como aparece en la parte descriptiva.

Por lo que para realizar la actualización solicitada hay que cambiar las líneas de SRS y BBOX, con los siguientes datos:
  • <SRS>EPSG:32630</SRS>
  • <BBOX>-1079535.5734522804,2500902.424957928,1228440.8617586703,5056901.789903663</BBOX>

Y se guardaría con otro nombre. El fichero final contendría las siguientes líneas:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BentleyWMSFile>
<VERSION>1.1</VERSION>
<URL>http://www.idee.es/wms/PNOA/PNOA?</URL>
<REQUEST>
<VERSION>1.1.1</VERSION>
<SRS>EPSG:32630</SRS>
<LAYERS>PNOA</LAYERS>
<WIDTH>800</WIDTH>
<HEIGHT>500</HEIGHT>
<BBOX>-1079535.5734522804,2500902.424957928,1228440.8617586703,5056901.789903663</BBOX>
<FORMAT>image/jpeg</FORMAT>
</REQUEST>
<SERVERCAPABILITIES>
<MAXBITMAPSIZE width="1024" height="1024" />
</SERVERCAPABILTIES>
</BentleyWMSFile>


El fichero para el WMS de Catastro con WGS-84 y Huso 28 sería:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BentleyWMSFile>
<VERSION>1.1</VERSION>
<URL>ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?</URL>
<REQUEST>
<VERSION>1.1.1</VERSION>
<SRS>EPSG:32628</SRS>
<LAYERS>Catastro</LAYERS>
<WIDTH>800</WIDTH>
<HEIGHT>500</HEIGHT>
<BBOX>180000,3000000,2170000,5000000</BBOX>
<FORMAT>image/png</FORMAT>
</REQUEST>
<SERVERCAPABILITIES>
<MAXBITMAPSIZE width="1024" height="1024" />
</SERVERCAPABILTIES>
</BentleyWMSFile>

Hay que tener en cuenta que en cada fichero XWMS, sólo puede haber una capa, aunque el servidor WMS sirva 18. Necesitaríamos 18 fichero XWMS, uno para cada capa.

0 comentarios: