[Spanish] Duda con proyecciones en MapServer + WMS

Jorge Arévalo jorge.arevalo at deimos-space.com
Thu Nov 10 18:50:43 EST 2011


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 at 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