[Spanish] Re: Duda con proyecciones en MapServer + WMS

Jorge Gaspar Sanz Salinas jsanz at osgeo.org
Fri Nov 11 02:32:53 EST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El 11/11/11 01:18, Jorge Arévalo escribió:
> 2011/11/11 Jorge Arévalo <jorge.arevalo en deimos-space.com>:
>> Buenas lista,
>>
>> Tengo un GeoTIFF cuya proyección es epsg:23028. He configurado
>> correctamente MapServer para servir dicho GeoTIFF en estas
>> proyecciones:
>>
>> epsg:23028 (la original de los datos)
>> epsg:4326
>> epsg:3785
>>
>> Pero lo he hecho un poco por ensayo y error, porque no termino de
>> entender bien como funciona el tema de las proyecciones en MapServer.
>> Veo que hay 3 sitios donde definir proyecciones en un mapfile, a la
>> hora de configurar un WMS:
>>
>> - Dentro del objeto MAP. Por lo que entiendo, MapServer llama a esto
>> "output projection". Es decir, la proyección en la que renderiza los
>> datos, vengan de la proyección que vengan. Yo he puesto lo siguiente,
>> que corresponde a la epsg:3785
>>
>> PROJECTION
>>    "proj=merc"
>>    "lon_0=0"
>>    "k=1"
>>    "x_0=0"
>>    "y_0=0"
>>    "a=6378137"
>>    "b=6378137"
>>    "towgs84=0,0,0,0,0,0,0"
>>    "units=m"
>>    "no_defs"
>> END
>>
>> Pero si pongo
>>
>> PROJECTION
>>    "init=epsg:3785"
>> END
>>
>> Me funciona igual.
>>
>>
>> - Dentro del objeto WEB. Concretamente, como metadato, de la forma
>> "wms_srs" "EPSG:XXXX". Aquí se pueden definir varias proyecciones
>> EPSG, que serían las que el servidor WMS está ofreciendo. Y aquí es
>> donde tengo mi primer conflicto: ¿no se supone que la proyección de
>> salida de MapServer es la que defino en el objeto PROJECTION dentro de
>> MAP? Claramente, estoy entendiendo algo mal, porque yo a un WMS le
>> puedo pedir los datos en diferentes proyecciones, pero en el objeto
>> PROJECTION dentro de MAP estoy definiendo una sola proyección. Es
>> aquí, en el metadato "wms_srs" de WEB, donde defino varias
>> (concretamente, tengo puesto: "wms_srs" "EPSG:3785 EPSG:4326"). Eso me
>> lleva a pensar que la proyección de salida de MapServer NO es lo mismo
>> que las proyecciones que ofrece el servidor WMS configurado con
>> MapServer.
>>
>> - Dentro del objeto LAYER. Esta sería la proyección en la que están
>> los datos de entrada. Tengo otra confusión aquí. Yo he definido,
>> dentro de mi objeto LAYER, lo siguiente:
>>
>> PROJECTION
>>    "init=epsg:23028"
>> END
>>
>> METADATA
>>    "wms_title" "canarias_gsm"
>>    "wms_srs"   "EPSG:23028"
>> END
>>
>> Lo que hay dentro de PROJECTION es la proyección en la que se
>> encuentran los datos. Lo que hay dentro de METADATA, asociado a
>> "wms_srs" pretendo que sea una proyección en la que quiero poder
>> servir mi capa. Ya he definido, dentro del objeto WEB, otras dos
>> proyecciones (la 3785 y la 4326). Y lo cierto es que funciona. Si yo
>> le hago una petición WMS con SRS=epsg:23028 y el bbox en coordenadas
>> utm de la zona 28, me saca mi GeoTIFF, lo mismo que si le hago la
>> petición en epsg:4326 o epsg:3785.
>>
>> Mi confusión está entre los dos primeros lugares. Estoy leyendo la
>> documentación de MapServer sobre proyecciones
>> (http://mapserver.org/mapfile/projection.html) y sobre lo necesario
>> para configurar un WMS (http://mapserver.org/ogc/wms_server.html) pero
>> no acabo de ver clara eso que digo: ¿Es lo mismo la proyección de
>> salida de MapServer que las proyecciones que ofrece el WMS? Yo creo
>> que no... pero si alguien puede arrojar algo de luz, estaré
>> enormemente agradecido.
>>
>> Saludos, y gracias por anticipado,
>>
>> --
>> 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
>>
> 
> Me respondo a mi mismo para actualizar cosas de las que creo que me
> voy enterando:
> 
> - La proyección definida en el objeto de nivel superior, es decir,
> MAP, es la proyección a la que se van a transformar TODAS las capas.
> Esto es independiente de las proyecciones que luego se quiera que
> ofrezca el WMS (que se especifican en el metadato "wms_srs" del objeto
> WEB)
> 
> - Dentro de cada capa, se puede definir también la proyección en la
> que están los datos de esa capa, si es diferente a la definida en el
> nivel superior (el objeto MAP). Luego si todas mis capas tienen datos
> en la misma proyección, lo lógico sería definir la proyección en el
> nivel superior (MAP) y todas las capas la heredarían. Lo he hecho, y
> funciona.
> 
> Mirando el mapfile, me han surgido dos dudillas más:
> 
> - ¿Para qué sirve el EXTENT? Por lo que he leído, si no lo
> especificas, MapServer te lo intenta calcular en función de las capas
> que vayas a sacar (lo cuál puede ser muy costoso). Pero si yo tengo
> una capa de China y la otra de Cánada, por ejemplo... ¿qué sentido
> tiene definir un único EXTENT a nivel del objeto MAP? Cada capa tendrá
> el suyo...

pues en el caso que comentas para poco, no se puede definir un extent
"multipolígono" aunque estaría bastante bien supongo.

la solución supongo más elegante sería definir dos servicios digamos
orientando tu solución por áreas, aunque no creo que valga la pena

> 
> - ¿Cuáles son las principales diferencias entre ofrecer una interfaz
> WMS y comunicarse directamente con MapServer? Lo digo porque, por
> ejemplo, MapProxy ofrece como posibles fuentes de datos para cachear
> tanto una fuente MapServer como una fuente WMS genérica. Supongo que
> lo que pierdes en interoperabilidad lo ganas en velocidad...
> 

no sé si ganarás mucho en velocidad, la verdad. Nosotros solo usamos el
protocolo nativo de MapServer como último recurso y siempre para temas
muy concretos de "negocio" como informes, capas con parámetros dinámicos
y cosas así.

Uno nunca sabe si te van a salir más "clientes" de tu servidor, cuanto
más interoperable de partida mejor, sobretodo cuando el coste de que así
sea es casi nulo.


- -- 
Jorge Gaspar Sanz Salinas
http://es.osgeo.org
http://jorgesanz.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOvM+lAAoJEAOYD75lvHdBG8sH/1QYhDkuw5qhSqT2G0uafvse
UuH3vrq22m67C6Sp4Q8bMrDeAT4vPTigTUiva9KZanLrv8ScW8f6B4Ae8bhtHgJv
9CYAxa55NXianBptYYY5aXrRv+uLu1M5nMH2mDysK16in6eiRo4aPddPNulJgRJV
P2uMGMaoH2tU3z3Mkx7cLEkdZeCI9xrgYFLaSSSmVJEHFfTVK+mFGwQ26YTNKa6f
pgR/Zu080ycRFcJi7TK8GBdO+0QKSuKkGqwTABqo2bB7XY/e2tmFtsEXehs37WdZ
PeumrfEs38yHwywkvrPJ5YsghPTY0pATzE17nX7z9eN7Wv7gJIwKOwtIoHhVTFw=
=S2Jx
-----END PGP SIGNATURE-----


More information about the Spanish mailing list