Visor de mapas Interactivo de la Diputación de Albacete

Captura de pantalla del visor VIDA

Contenido

Introducción

El Visor de mapas Interactivo de la Diputación de Albacete (VIDA) es un complemento para el módulo Guía Urbana de LocalGIS (versión 1.1) que mejora la interacción y experiencia del ciudadano con este sistema a través de la web.

Este visor se ha desarrollado a partir de OpenLayers (disponible bajo licencia BSD) y ha sido adaptado a las particularidades del sistema LocalGIS.

La última versión del visor es la 1.4.

Descarga

Para realizar la descarga de la aplicación deberá rellenar primero un sencillo formulario.

Nota importante: la descarga de este software no está dirigida a usuarios finales, sino a webmasters o desarrolladores informáticos. Se requieren conocimientos informáticos avanzados para su instalación y configuración.

La Diputación de Albacete utiliza este visor para los callejeros de los municipios de la provincia dentro del proyecto Albacete Avanza. Los ciudadanos pueden acceder directamente a ellos a través de los portales de los Ayuntamientos correspondientes sin necesidad de realizar esta descarga. El listado completo de callejeros disponibles de la provincia de Albacete puede obtenerse desde la siguiente dirección:

http://app.dipualba.es/vida/listado.aspx

Rellenar formulario

El fichero descargado incluye como ejemplo los ficheros de configuración que actualmente se utilizan en el visor de la Diputación de Albacete cuyo funcionamiento se puede observar desde la dirección app.dipualba.es/vida?m=XXXXX donde XXXXX es el código INE de uno de los municipios de la provincia, por ejemplo app.dipualba.es/vida?m=02024

Características

La versión actual del visor incluye las siguientes funciones:

Requisitos

La mayor parte de la aplicación se ejecuta en el ordenador del usuario mediante Javascript. No obstante, las funciones del servidor del visor utilizan la tecnología ASP.net, para lo cual es necesario:

El servidor donde se despliegue la aplicación web debe tener conectividad por red con la base de datos de PosgreSQL de LocalGIS con un usuario con derechos de lectura. No es obligatorio que esta aplicación se despliegue en el mismo servidor de LocalGIS mientras exista dicha conectividad.

La parte que se ejecuta en el navegador del usuario ha sido probado en Microsoft Internet Explorer 6, 7 y 8 y Mozilla Firefox 2 y 3.

Por último, son necesarios conocimientos básicos de Javascript para adaptar los ficheros de configuración (notación JSON), del funcionamiento de LocalGIS (edición de mapas y publicación) y nociones básicas sobre sistemas de información geográfica y, en especial, del estándar WMS del OGC.

Ejemplo de instalación en Windows - IIS 6.0

Siga las instrucciones del apartado Descarga de este documento para obtener el código binario de la aplicación web.

Descomprima el fichero descargado en el subdirectorio vida de la carpeta wwwroot que normalmente se encuentra en c:\inetpub.

Cree un nuevo directorio virtual que apunte a la carpeta descomprimida (normalmente c:\inetpub\wwwroot\vida) con el alias que queramos (por ejemplo vida). A continuación se detalla como realizar este paso en IIS 6.0:

Por último, es necesario configurar los permisos del directorio donde se instala la aplicación (normalmente c:\inetpub\wwwroot\vida). Todos los subdirectorios y archivos contenidos en dicha ruta deben garantizar permisos de lectura y ejecución al usuario correspondiente (normalmente ASPNET o IUSR_NOMBREEQUIPO). Además, el subdirectorio MapasPDF debe garantizar también permisos de modificación y escritura a dicho usuario.

Ejemplo de instalación en Linux - Mono y Apache 2

Siga las instrucciones del apartado Descarga de este documento para obtener el código binario de la aplicación web.

Descomprima el fichero descargado en el subdirectorio vida dentro del directorio htdocs de su instalación de Apache.

Configure los permisos de acceso del directorio vida. Todos los subdirectorios y archivos contenidos en dicha ruta deben garantizar permisos de lectura y ejecución al grupo correspondiente (normalmente www). Además, el subdirectorio MapasPDF debe garantizar también permisos de escritura.

Edite el fichero mod_mono.conf (suele encontrarse en /etc/apache2/conf.d) y añada la línea

MonoSetEnv MONO_IOMAP=case

antes de la línea

</IfModule>

Por último, es necesario adaptar el parámetro RUTA_MAPA_PDF del fichero Web.config para indicar el path de acceso el subdirectorio MapasPDF de nuestra instalación. Por ejemplo:

<add key="RUTA_MAPA_PDF" value="/srv/www/htdocs/VIDA/MapasPDF/#ID#.PDF" />

El visor se ha probado utilizando la versión de Mono 2.4.2.3 incluido en la imagen de la máquina virtual disponible para la descarga en la web del proyecto Mono.

Configuración

La aplicación se configura editando los siguientes ficheros de texto:

Fichero web.config

Este fichero se encuentra en el directorio de instalación de la aplicación web (normalmente c:\inetpub\wwwroot\vida\web.config). Los parámetros que podemos configurar se encuentran en la sección appSettings y son los siguientes:

Los siguientes parámetros son instrucciones SQL de PostgreSQL que sólo es necesario modificar si no estamos utilizando las capas de vías y parcelas que vienen por defecto en LocalGIS. Para su modificación es necesario estar familiarizado con el modelo de datos de LocalGIS y con PostgreSQL / PostGIS.

Estas instrucciones son consultas parametrizadas cuyos parámetros se pueden identificar por ir precedidos por los dos puntos.

Así mismo, es necesario configurar el parámetro LOCALGIS dentro de la sección connectionStrings para que sea posible el acceso a la base de datos. Los datos que se deben indicar aquí son los siguientes:

Ficheros de configuración del visor

Estos ficheros se ubican en el subdirectorio js\configuracion dentro del directorio de instalación de la aplicación web (normalmente c:\inetpub\wwwroot\vida\js\configuracion). Cada fichero de configuración se identifica por su id el cual debe coincidir con el nombre del fichero, añadiendo la extensión .js. Este identificador no debe incluir espacios ni signos diacríticos.

El fichero de configuración que se utilizará en el visor dependerá del parámetro opcional c pasado a través de la URL. Si no se indica ninguno, se utilizará el fichero de configuración default.js. Ver la sección parámetros URL. La aplicación web suministrada ya incluye este fichero, que podremos adaptar.

Los parámetros de este fichero se escriben y estructuran usando notación JSON y son los siguientes:

Ficheros de mapa

Estos ficheros se ubican en el subdirectorio js\mapas dentro del directorio de instalación de la aplicación web (normalmente c:\inetpub\wwwroot\vida\js\mapas). Cada fichero de mapa se identifica por su id el cual debe coincidir con el nombre del fichero, añadiendo la extensión .js. Este identificador no debe incluir espacios ni signos diacríticos.

El fichero de mapa que se utilizará en el visor dependerá del parámetro obligatorio m pasado a través de la URL. Ver la sección parámetros URL.

Los parámetros de este fichero se escriben y estructuran usando notación JSON y son los siguientes:

Puesto que resulta complicado obtener manualmente todos estos datos, entre los ficheros de descarga podrá encontrar una aplicación que genera automáticamente un fichero por mapa publicado en la guía urbana de LocalGIS. A partir de estos ficheros resulta más sencillo modificar los parámetros que nos interesen y crear otros ficheros de mapas.

Generador automático de mapas

Al ejecutar el programa debemos proporcionar los datos de conexión de la base de datos de Geopista/LocalGIS (estos datos se configuran durante la instalación de LocalGIS, excepto el nombre de la base de datos, que es siempre geopista). La sentencia SQL que se solicita permite calcular para cada mapa el punto en el que el visor aparecerá centrado inicialmente. Por defecto, la consulta que viene inicialmente escrita calcula este punto como el centro de masas del polígono del municipio correspondiente. Por ejemplo, si disponemos de una capa llamada administracion en la que para cada municipio existe un único registro correspondiente al ayuntamiento y queremos centrar el mapa en dicho punto, podemos hacerlo con la siguiente instrucción:

SELECT x(centroid(a."GEOMETRY")) AS x,y(centroid(a."GEOMETRY")) AS y FROM public.administracion a,localgisguiaurbana.map m WHERE m.mapid=:idMap AND m.mapidmunicipio=a.id_municipio AND upper(trim(a."Tema"))='AYUNTAMIENTO' AND upper(trim(a."Nombre"))='AYUNTAMIENTO'

Modificar esta consulta requiere conocimientos de Postgres/Postgis y del modelo de datos de LocalGIS. En cualquier caso, podemos dejar el valor por defecto y más tarde modificar los ficheros generados con otros valores x e y, accediendo desde la web al visor y obteniendo las coordenadas del punto deseado al mover el puntero del ratón sobre el visor.

Por último, es necesario indicar dónde se guardarán los ficheros.

Parámetros disponibles en la URL

Es posible indicar varios parámetros en la dirección URL de la página default.aspx que determinan ciertas características de visualización y configuración de los mapas. Los parámetros se indican siguiendo la siguiente sintaxis:

http://[URL_BASE]?[param1]=[valor1]&[param2]=[valor2]&...&[param_n]=[valor_n]

Por ejemplo:

http://app.dipualba.es/vida/?m=02024

A continuación se enumeran estos parámetros:

Actualizar desde la versión 1.3

Los siguientes pasos describen el procedimiento para actualizar la aplicación desde la versión 1.3 a la versión 1.4:

Configurar TileCache

TileCache es una implementación del estándar WMS-C basada en Python que acelera la obtención de las imágenes de los mapas.

Los servidores TileCache se comportan como servidores WMS normales pero, internamente, mantienen una memoria caché de bloques de imágenes (o tiles). El cliente debe configurarse para realizar las peticiones al servidor TileCache en lugar de al servidor real. Ante una petición de un bloque que está guardado en caché (acierto), el servidor devuelve de forma eficiente dicha imagen sin necesidad de hacer un renderizado. Si por el contrario no se encuentra en caché (fallo en caché), es el servidor TileCache el que solicita al servidor real el bloque, el cual guarda y devuelve al cliente. Es importante señalar que en caso de fallo en cache, la penalización producida en tiempo y recursos (como la sobrecarga de tráfico en la red) puede no compensar los beneficios obtenidos cuando hay un acierto. Así pues, es necesario estudiar y comparar los tiempos de respuesta con varias configuraciones.

A continuación se muestra un cuadro con el resultado de las pruebas realizadas en nuestro servidor:

Pruebas Tilecache-VIDA
Mapa Tiempos (s)
Primera carga / fallo en cache Carga desde cache
Tilecache activado en todas las capas
02022 17.39 6.23
02021 23.16 6.13
02069 23.63 6.52
02024 15.70 6.03
Tilecache activado sólo en capas de LocalGIS
02022 12.29 6.77
02021 12.59 6.64
02069 16.84 6.94
02024 14.27 6.71
Tilecache activado sólo en capas externas a LocalGIS
02022 8.35 5.32
02021 10.50 5.88
02069 9.06 6.87
02024 8.00 6.17
Tilecache desactivado
02022 7.48
02021 6.98
02069 7.62
02024 7.77
Valores obtenidos utilizando Mozilla Firefox 3.5.2 con Firebug 1.4.2

Como se aprecia en el cuadro anterior, la mejor opción para nosotros fue activar TileCache sólo en capas externas a LocalGIS.

Para configurar TileCache en el visor VIDA es necesario seguir los siguientes pasos:

Contactar

Para cualquier consulta, puede dirigirse a la dirección de correo electrónico vida@dipualba.es.

Copyright © Diputación de Albacete. N.I.F. P0200000H
Paseo Libertad, 5. 02071. Albacete.
Tel. 967595300. Fax. 967520316
Horario de registro (9h-13h) Aviso Legal