[Spanish] getFeatureInfo Mapserver

Jorge Gaspar Sanz Salinas jsanz at osgeo.org
Tue May 19 12:19:18 EDT 2009


2009/5/19 Amvlf <negha en hotmail.com>:

> Otra pregunta, he observado en otros links y manuales que hacen referencia a
> que en el mapfile se deben de tener 3 templates: el header.html,
> footer.html y el template.html donde vamos a especificar los atributos que
> queremos obtener. En este caso yo solo tengo el template.html donde
> especifico los atributos que quiero obtener, crees que tambien tenga que ver
> el hecho de que en mi mapfile no haga referencia al header.html y
> footer.html ?
>
> Bueno de cualquier manera voy a probar estas alternativas y te cuento.
>
> Gracias y saludos !
>
>

Bien el sistema de plantillas de Mapserver es sencillo cuando se
entiende. Imagina que vas a obtener una página HTML de una petición a
un mapa de municipios.

Desde el punto de vista del mapa tendrás un encabezado que abre el
HTML y un pie que lo cierra, como mínimo sería (los iguales abren y
cierran un archivo de texto plano)

encabezado-mapa.tpl:
=====================
<html><body><h1>Información por punto</h1>
=====================

pie-mapa.tpl:
=====================
</body>
=====================

Luego para cada layer de tu map (bueno, en realidad podría hacerse
para cada clase pero vamos a hacerlo sencillo) quieres pintar una
tabla que muestre en filas los posibles fenómenos que ha devuelto tu
consulta. Pongamos por ejemplo una capa de municipios con nombre y
población. Sería algo así como.

encabezado-municipios.tpl:
=====================
<h2> Municipios </h2>
<table>
<td><th>Nombre muncipio</th><th>Población</th></td>
=====================

cuerpo-municipios.tpl
=====================
<td><tr>[NOMBRE]</tr><tr>[POBLACION]</tr></td>
=====================

pie-municipios.tpl
=====================
</table>
<hr/>
=====================


Es decir el encabezado añade un título con el nombre de la capa y abre
una tabla con un encabezado mínimo. Luego el cuerpo va añadiendo filas
(tantas como entidades se encuentren) y finalmente la plantilla "pie"
cierra la tabla y pone una línea horizontal.

Esta estructura la harías para cada layer que quieras ver en HTML

Como ves es bastante tedioso tener que definir esto para un mapa
mínimamente grande y suele ser más cómodo a medio plazo crearte un
parser que procese la respuesta en GML.

Ale, mis dos céntimos.
Saludos
-- 
Jorge Gaspar Sanz Salinas
Ingeniero en Geodesia y Cartografía
http://wiki.osgeo.org/wiki/Jorge_Sanz


More information about the Spanish mailing list