[Spanish] Re: WMS Catastro + OpenLayers (Jorge Ar?valo)

Ragi Burhum ragi at burhum.com
Sun Jun 12 14:03:59 EDT 2011


Jorge y Jorge :)

Ya puse una respuesta a esta pregunta en GIS.SE
http://gis.stackexchange.com/questions/10916/openlayers-weird-problem-with-googlemaps-base-layer-and-wms-overlay/10920#10920

Inclusive, uno de los creadores de Openlayers le dió un +1 a la respuesta,
así que pueden estar seguros que es la correcta. :)

Saludos,

- Ragi


> Message: 1
> Date: Sun, 12 Jun 2011 16:41:29 +0200
> From: Jorge Ar?valo <jorge.arevalo at deimos-space.com>
> Subject: Re: [Spanish] WMS Catastro + OpenLayers
> To: "Cap&amp, amp, amp, #237,   tulo Local de la comunidad
>        hispano-hablante" <spanish at lists.osgeo.org>
> Message-ID: <BANLkTi=2c9hYjsidC3vEPtg19Fm4WvQLtQ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> 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 at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/spanish/attachments/20110612/899793ef/attachment.html


More information about the Spanish mailing list