Aplicaciones Web Espaciales con Software Libre

La creciente popularidad que las aplicaciones basadas en sistemas de información geográfica han cobrado en los últimos años propició el desarrollo de un enorme número de herramientas de software espacial open source para cubrir prácticamente cualquier necesidad (ver www.opensourcegis.org). Entre otras cosas, el desarrollo de aplicaciones web espaciales.

En la DGSIG (Dirección General de Sistemas de Información Geográfica – dependiente del Gobierno de la Ciudad Autónoma de Buenos Aires) llevamos a cabo un trabajo de investigación y desarrollo de aplicaciones web espaciales basadas íntegramente en software libre. El presente documento constituye un resumen del know-how adquirido y esperamos que sirva como guía para aquellos que deseen emprender un desarrollo de este tipo empleando software libre.

Software necesario

Si bien existen otras alternativas el producto de software libre más maduro y popular para el desarrollo de aplicaciones web espaciales es MapServer.

Aplicación

Descripción

MapServer

Ambiente de desarrollo para aplicaciones web espaciales.

PostGIS

Soporte de objetos geográficos para PostgreSQL.

PostgreSQL

Motor de base de datos objeto-relacional de código abierto.

MapLab

Conjunto de herramientas para crear y administrar archivos de mapas.



MapServer es un ambiente de desarrollo de código abierto para construir aplicaciones web espaciales construido sobre otros sistemas de código abierto o freeware y que corre tanto bajo plataformas UNIX/Linux como sobre plataforma Windows 95 o superior.

Si bien MapServer puede trabajar directamente con archivos en formato shape, se obtiene una performance significativamente superior cuando se utiliza en combinación con PostGIS/PostgreSQL.

PostGIS es una solución que agrega soporte para objetos geográficos al motor de base de datos objeto-relacional PostgreSQL habilitándolo de esa forma para ser usado como backend para un GIS, de forma similar al SDE de ESRI o a la extensión Spatial de Oracle. PostGIS está liberado bajo la licencia GNU GPL.

PostGIS/PostgreSQL incluye las siguientes funcionalidades:

Por su parte, PostgreSQL es un sistema de administración de base de datos objeto-relacional (ORDBMS, por sus siglas en inglés) basado en Postgres v4.2 desarrollado en la Universidad de California en el Departamento de Ciencias de la Computación de Berkeley.

PostgreSQL es un descendiente de código abierto de este código original de Berkeley. Soporta SQL92 y SQL99 y ofrece muchas características modernas:

A su vez, PostgreSQL puede ser extendido por el usuario en múltiples formas; por ejemplo, agregando nuevos tipos de datos, funciones, operadores, métodos de indexación, funciones de agregación y lenguajes procedurales.

Además, debido a la licencia libre, PostgreSQL puede ser usado, modificado y distribuido libre de cargos para cualquier propósito, sea privado, comercial o académico.

Otras aplicaciones útiles

Existe un buen número de aplicaciones que funcionan sobre o complementan las funcionalidades de MapServer entre las que se destaca MapLab, desarrollada por DM Solutions Group.

MapLab es un conjunto herramientas web para crear y administrar aplicaciones de mapeo vía web y archivos de mapas para MapServer. Consta de tres componentes: MapBrowser, GmapFactory y MapEdit. Este último provee una muy buena interface gráfica para crear y editar mapas para MapServer facilitando enormemente esta tarea.

Requerimientos de instalación

En este apartado exponemos los requerimientos de hardware y software para instalar un servidor con MapServer y PostgreSQL de acuerdo con nuestra experiencia particular en el uso de estos productos.

Requerimientos de hardware

Ni MapServer ni PostgreSQL tienen requerimientos específicos de hardware. En ambos casos es suficiente con satisfacer los requerimientos recomendados para instalar el sistema operativo que se vaya a emplear.

En la DGSIG realizamos todo el desarrollo con un servidor Pentium IV de 1.7 MHz y 1 GB de RAM con Red Hat Linux 8.0. Es importante destacar, sin embargo, que este servidor no era dedicado sino que simultaneamente corría un motor de base de datos Oracle que daba servicio a aproximadamente 30 usuarios. Naturalmente, si se planea que el sistema en producción de servicio a un número relativamente grande de usuarios concurrentes habrá que tener este factor en cuenta a la hora de elegir el hardware más adecuado.

Requerimientos de software

Los requerimientos de software son muchos y varían según el sistema operativo que se emplee. Sin embargo, dado que todas nuestras experiencias se realizaron bajo plataforma Linux, solo podemos dar referencias para este sistema operativo.

Los requerimientos de software recomendados para instalar MapServer bajo Linux son los siguientes:

Pueden encontrar una guía detallada para instalar MapServer bajo SuSE Linux 9.2 aquí. Es importante destacar que, aunque esta guía esté confeccionada para esa distribución particular, también puede ser de utilidad para usuarios de otras distribuciones relativamente nuevas que se basen en la misma versión de kernel (2.6.x).

Demos

En la DGSIG desarrollamos una serie de demos básicos en PHP con el objetivo de brindar al programador sin previa experiencia en aplicaciones geográficas una serie de ejemplos claros y concisos para iniciarse en la programación con PHP/Mapscript (la extensión de MapServer que permite acceder a su funcionalidad desde PHP).

Se trata de 3 demos cuyas funcionalidades y complejidad va aumentando de forma creciente para facilitar su comprensión. A continuación damos una breve descripción de las características de cada uno:

Para descargar los demos, haga click aquí.

Documentación recomendada

A continuación listamos algunos documentos cuya lectura recomendamos a todos aquellos interesados en realizar desarrollos con las tecnologías mencionadas arriba.

Contacto

Para dudas o consultas sobre estos temas, pueden contactarse con: Pablo Cecconi (pcecconi@buenosaires.gov.ar)