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
