[Spanish] WMS Catastro + OpenLayers

Jorge Arévalo jorge.arevalo at deimos-space.com
Sun Jun 12 10:41:29 EDT 2011


Buenas,

Muchas gracias crack. La pena es que no me ha funcionado :-(. He
probado también a usar la versión estable de OpenLayers
http://openlayers.org/api/OpenLayers.js, en lugar de la versión en
desarrollo, y me dice lo mismo.

Otra cosa algo molesta es que siempre me sale un popup con el
copyright de TeleAtlas. Pero bueno, es un problema menor. Si conseguis
poner el WMS del catastro sobre una capa de GoogleMaps en OpenLayers,
me haréis un gran favor. Ya digo que con la API de Google Maps
directamente ha sido sencillo.

Muchas gracias en cualquier caso :-)

Jorge

2011/6/12 Jorge Gaspar Sanz Salinas <jsanz en osgeo.org>:
> El 11/06/2011 17:41, Jorge Arévalo escribió:
>> Buenas,
>>
>> Estoy intentando superponer una capa del WMS del catastro sobre una
>> capa base de GoogleMaps en OpenLayers. Usando la API de GoogleMaps lo
>> hice sin problemas, aprovechando que el WMS del catastro ofrece el
>> EPSG:3785, pero al intentarlo en OpenLayers me está pasando una cosa
>> rara. Me explico:
>>
>> Si la capa la defino así en OpenLayers
>>
>>       var catastro_layer = new OpenLayers.Layer.WMS(
>>               "WMS Catastro",
>>               "http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?SERVICE=WMS&VERSION=1.1.1",
>>               {
>>                       layers: "catastro",
>>                       format:"image/png",
>>                       srs: "EPSG:3785",
>>                       transparent: false
>>               }
>>       );
>>
>> Me aparece la capa WMS como una capa más, elegible en lugar de la de
>> Google, pero NO superponible sobre ella. En esta captura se ve lo que
>> quiero decir: http://dl.dropbox.com/u/6599273/capa_wms1.png
>>
>> En este caso, la petición WMS se genera correctamente. Aquí un ejemplo:
>>
>> http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?SERVICE=WMS&VERSION=1.1.1&LAYERS=catastro&FORMAT=image%2Fpng&SRS=EPSG%3A3785&TRANSPARENT=false&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX=-1721973.3737,3228700.0733875,-1702405.4944625,3248267.952625&WIDTH=256&HEIGHT=256
>>
>> Pero no me vale porque yo quiero la capa WMS encima de la de Google
>> Maps, no en lugar de ella.
>>
>> En cambio, si defino la capa así (solo he cambiado el transparent de
>> false a true):
>>
>>       var catastro_layer = new OpenLayers.Layer.WMS(
>>               "WMS Catastro",
>>               "http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?SERVICE=WMS&VERSION=1.1.1",
>>               {
>>                       layers: "catastro",
>>                       format:"image/png",
>>                       srs: "EPSG:3785",
>>                       transparent: true
>>               }
>>       );
>>
>> La capa WMS ya aparece como una capa superpuesta sobre la capa base
>> (como si hubiera especificado "isBaseLayer:false", aunque no lo he
>> hecho). En la captura se ve:
>> http://dl.dropbox.com/u/6599273/capa_wms2.png
>>
>> Lo que sucede ahora con la petición, es que se hace de manera
>> incorrecta. Me cambia el epsg:3785 por epsg:900913 (a pesar de que yo
>> lo he especificado el 3785, como se puede ver, y el servidor lo
>> acepta). Y al cambiarlo, el servidor me devuelve error. Aquí un
>> ejemplo de las peticiones que genera en este segundo caso, devolviendo
>> error por el epsg:
>>
>> http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?SERVICE=WMS&VERSION=1.1.1&LAYERS=catastro&FORMAT=image%2Fpng&SRS=EPSG%3A900913&TRANSPARENT=true&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX=-1721973.3737,3228700.0733875,-1702405.4944625,3248267.952625&WIDTH=256&HEIGHT=256
>>
>> Resumiendo lo que pasa, cuando transparent es 'false', la capa se
>> interpreta como capa base, y la petición se genera correctamente. Pero
>> cuando transparent es 'true', la capa se interpreta como overlay, que
>> es lo que yo quiero, pero la petición se hace de manera errónea,
>> porque me cambia el epsg.
>>
>> ¿Alguna pista de porqué pasa esto? Estoy usando esta versión de
>> OpenLayers directamente http://openlayers.org/api/OpenLayers.js
>>
>> Muchas gracias por adelantado, un saludo
>>
>>
>
> Mira a ver si esto[1] te vale tocayo.Básicamente me he sacado de la
> manga un parámetro reproject de este ejemplo[3].
>
> Pero cuidadín que ese parámetro esta deprecated[3] y es más bien un
> hack, debería haber una forma de conseguir instanciar un mapa en 3785 y
> que catastro funcione, si lo saco te aviso.
>
> [1] http://pastebin.com/gSVFU1id
> [2] http://openlayers.org/dev/examples/google-reproject.html
> [3]
> http://dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers/Layer/HTTPRequest-js.html#OpenLayers.Layer.HTTPRequest.reproject
>
> --
> Jorge Gaspar Sanz Salinas
> http://es.osgeo.org
> http://jorgesanz.net
> _______________________________________________
> Spanish mailing list
> http://lists.osgeo.org/mailman/listinfo/spanish
> http://es.osgeo.org
> http://twitter.com/osgeoes
>



-- 
Jorge Arévalo
Internet & Mobility Division, DEIMOS
jorge.arevalo en deimos-space.com
http://es.linkedin.com/in/jorgearevalo80
http://mobility.grupodeimos.com/
http://gis4free.wordpress.com
http://geohash.org/ezjqgrgzz0g


More information about the Spanish mailing list