Comparación de clientes ligeros web para SIG

===Objetivo===
Esta comparación está destinada a todos aquellos que busquen una primera aproximación a los proyectos de SIG en la web del lado del cliente y pretende brindar elementos de decisión para elegir una u otra tecnología según los requerimientos que se tengan.
===Introducción===
En la actualidad, los Sistemas de Información Geográfica (SIG) han logrado ampliar su utilidad práctica incluyendo usuarios con diferentes niveles de preparación debido al auge de las aplicaciones web, cada vez más enfocadas al usuario final y con interfaces gráficas más enriquecidas. El propósito de este estudio es brindar elementos de decisión a los analistas de proyectos SIG en la web para elegir una u otra tecnología del lado del cliente, según los requerimientos que se tengan en un proyecto determinado.
Los clientes web para SIG son aplicaciones de internet que se encargan de visualizar información geográfica y permiten su manipulación a través de herramientas básicas de navegación y análisis. Existen varios proyectos de software libre y de código abierto que facilitan la administración, el desarrollo y la personalización de este tipo de aplicaciones, las cuales consumen servicios web y comunican al usuario con tareas avanzadas que se realizan en el servidor.
El Open Geospatial Consortium (OGC) ha promovido el uso de estándares para servicios web de mapas que han ayudado a establecer un marco común de trabajo para acceder a información geográfica en la internet (Web Map Service, Web Feature Service, Web Coverage Service), presentarla por medio de estilos (Style Layer Descriptor), filtrarla (Filter encoding), almacenarla, transportarla (Geography Markup Language y Keyhole Markup Language) y procesarla (Web Processing Service).
===Dependencia entre clientes===
A continuación se presenta una gráfica de dependencia entre clientes web de software libre y de código abierto para SIG.
La mayoría de proyectos gira en torno a dos paradigmas: UMN MapServer y OpenLayers. Los clientes que utilizan como base UMN MapServer fueron creados años atrás aprovechando las características que este cliente dispone: mapa, escala, mapa de referencia, herramientas de navegación básica, identificación de objetos espaciales; y su Interfaz de Programación de Aplicaciones (API) llamada MapScript que ha sido implementada en diferentes lenguajes de programación como PHP, Python, Perl y Ruby, y que continua su desarrollo adicionando funcionalidades como el etiquetado y la generación de gráficos de barra y de torta. Por otra parte, la nueva generación de clientes utiliza OpenLayers debido a su óptimo rendimiento en tareas de renderización en la web. Diferentes empresas contribuyen a su desarrollo y proyectos como MapBuilder han finalizado para acelerar su progreso.
Existen clientes que no se han basado en otros sino que han sido originados de manera independiente, como el caso de Geomajas, iGeoPortal, Mapbender, TimeMap, MiraMon y worldKit. Algunos clientes utilizan opcionalmente UMN MapServer por medio de MapScript (AppForMap, GeoMOOSE y msCross) y otros permiten elegir una manera adicional para renderizar sus mapas con OpenLayers (AppForMap e i3Geo) y Flamingo (i3Geo).
Es de anotar que debido a su versatilidad Flash ha servido para construir clientes web para SIG, como por ejemplo en los proyectos Flamingo y worldKit, brindando una nueva experiencia para los usuarios que buscan consultar mapas en línea.
===La comparación===
Existen varios proyectos para construir clientes ligeros web para SIG. El equipo GeoTux ha elaborado la siguiente comparación basándose en proyectos de software libre y de código abierto con capacidad para acceder a servicios web de mapas regulados por el OGC, mostrando en forma de ventajas y desventajas diferentes parámetros como son: su licencia, su país de origen, los idiomas que manejan, su soporte comercial, los lenguajes de programación que permiten, su independencia con respecto a programas servidores de mapas y el manejo de metadatos que poseen, entre otros.
Se presenta en tres partes para facilitar su visualización:
#Descripción general: Se da una introducción a cada proyecto.
#Características técnicas: Se presentan datos técnicos de los programas para facilitar una descripción detallada.
#Enlaces de interés: Comprende una captura de pantalla que muestra una interfaz de cada proyecto y direcciones para acceder a páginas de interés de los mismos.
==== Convenciones ==== 
Los parámetros que corresponden a una ventaja para un cliente son representados con color verde, las desventajas con color naranja, así: Ventaja/Desventaja.
==== Descripción General ==== 
Cliente 	País 	Licencia 	Desarrollo original 	Apoyo de OSGeo 	Documentación 	Observaciones
AppForMap 	30px 	GNU GPL v.2 	Martin Hoegh 	No 	Idiomas: Inglés Formatos: HTML Niveles: DesarrolladoresDocumentación incipiente. 	Utiliza el Simple Feature Specification para consultar y modificar bases de datos PostgreSQL/PostGIS. Utiliza PHP/MapScript para funcionar como cliente de UMN MapServer (opcional). Recientemente se ha agregado la posibilidad de utilizar OpenLayers para el renderizado.
CartoWeb 	30px 30px 	GNU GPL 	Camptocamp SA 	No 	Idiomas: Francés; Inglés Formatos: HTML; PDF; Wiki Niveles: Usuarios; Desarrolladores 	Es un framework. Posee una arquitectura orientada a objetos que lo hace modular. Puede ser configurado como servicio web SOAP. Se obtiene todo su potencial cuando se asocia con PostgreSQL/PostGIS.
Chameleon 	30px 	Chameleon LicenseCompatible con BSD. 	DM Solutions Group 	No 	Idiomas: Inglés Formatos: HTML; Wiki Niveles: Usuarios; Desarrolladores 	Posee una API Javascript bien documentada y consolidada. Crecimiento acelerado a través de widgets personalizados.
ET - Map 	30px 	GNU GPL v.2 	SEDesign 	No 	Idiomas: Alemán Formatos: txt Niveles: UsuariosLa única documentación disponible corresponde al proceso de instalación. 	No trabaja con AJAX. Utiliza algunas funciones Javascript del proyecto p.mapper. Su desarrollo ha finalizado.
Flamingo 	30px 	GNU GPL v.2 	Flamingo MC Community 	No 	Idiomas: Alemán; Inglés Formatos: HTML; Trac; Wiki Niveles: Usuarios; Desarrolladores 	Está desarrollado con base en una serie de componentes que realizan las tareas comunes de navegación y consultas.
Fusion 	30px 30px 	MIT 	AutoDesk; DM Soultions Group 	NoAunque OSGeo no lo apoya como proyecto oficial, le da alojamiento a sus listas de correo y a su Trac.	Idiomas: Francés; Inglés Formatos: Trac; Wiki Niveles: Usuarios; Desarrolladores 	Es un framework. Usa OpenLayers como API base. Está soportado comercialmente.
GeoExt 	30px 30px 30px 30px 30px	BSD 	Camptocamp SA; OpenGeo; OSGIS 	NoEl Copyright será transferido a OSGeo. 	Idiomas: Inglés Formatos: Blog; HTML; Trac; Wiki Niveles: Usuarios; DesarrolladoresDocumentación incipiente. 	Proyecto incipiente. Está basado en OpenLayers y en Ext JS. Busca dar al usuario SIG controles avanzados en internet.
Geomajas 	30px 	GNU AGPL v.3 	DFC Software Engineering; GeoSparc 	No 	Idiomas: Inglés Formatos: HTML; Tracker Niveles: Usuarios; Desarrolladores 	Es un framework. Admite dos opciones para implementar su interfaz: Javascript (Dojo) y Java (Google Web Toolkit). Cuenta con herramientas de edición, snapping, medición, consultas avanzadas y análisis. Soporta reproyección al vuelo. Tiene un componente avanzado de impresión.
GeoMOOSE 	30px 	MIT-style v.2+; City of Saint Paul Open Source License v.1.x 	City of Saint Paul, Minnesota 	No (En incubación) 	Idiomas: Inglés Formatos: HTML Niveles: Usuarios 	Es un framework. Tiene una arquitectura modular. Es configurable. Busca ser un cliente de UMN MapServer usando PHP/MapScript, pero fue diseñado para no depender de este. Utiliza OpenLayers como motor de renderizado.
GMap 	30px 	GNU GPL 	DM Soultions Group 	No 	Idiomas: Inglés Formatos: txt Niveles: UsuariosDocumentación incipiente. 	Es una aplicación de ejemplo de la extensión PHP/MapScript. Se encuentra generalmente dentro de paquetes de utilidades como MS4W o FGS. Es utilizado en el proyecto MapLab.
i3Geo 	30px 	GNU GPL v.2 	Ministério del Médio Ambiente de Brasil, Portal do Software Público Brasileiro Ver: http://www.softwarepublico.gov.br	No 	Idiomas: Portugués Formatos: Blog; HTML; Trac; Video; Wiki Niveles: Usuarios; Desarrolladores 	Aplicación basada en UMN MapServer, utiliza PHP/MapScript. Además de la principal, puede utilizar OpenLayers, Google Maps, Google Earth o Flamingo como interfaces alternativas. Tiene una versión más ligera para conexiones lentas y cuenta con versión para dispositivos móviles. Realiza análisis espacial en línea.
iGeo-Portal 	30px 	LGPL 	lat/lon; GIS Research Group of the Department of Geography of University of Bonn 	No (En incubación) 	Idiomas: Alemán; Inglés Formatos: HTML; PDF; Wiki Niveles: Usuarios 	Es un framework. No trabaja con AJAX. Arquitectura modular. Basado en estándares OGC e ISO/TC 211. Componente de seguridad. Soporta Gazeteer para consultas espaciales por nombres o direcciones. La mayor parte de la configuración es XML.
ka-Map 	30px 	MITCompatible con GPL. 	DM Soultions Group 	No 	Idiomas: Francés; Inglés; Japonés Formatos: Wiki Niveles: Usuarios; Desarrolladores 	Requiere PHP/MapScript. Está diseñado para usar cacheo tanto como sea posible y para renderizar rápidamente mapas con tiles.
Mapbender 	30px 	GNU GPL 	CCGIS 	Si (Graduado) 	Idiomas: Alemán; InglésActualmente se trabaja sobre traducciones a varios idiomas: Sueco, español, búlgaro, polaco, italiano, francés, checo, esloveno, entre otros. Formatos: PDF; Trac; Wiki Niveles: Usuarios; Desarrolladores	Es un framework. Provee interfaces de administración para la gestión de seguridad, usuarios y grupos a través de una base de datos en MySQL o PostgreSQL.
MapBuilder 	 	LGPL 	 	Si (Graduado) 	Idiomas: Inglés Formatos: Wiki Niveles: Usuarios; Desarrolladores 	Comparte motor de renderizado vectorial con OpenLayers. Editor de Style Layer Descriptor. Se ofrece soporte comercial (LISAsoft de Australia y DM Solutions Group de Canadá). Su desarrollo ha finalizado.
MapFish 	30px 30px 	GNU GPL v.3 	Camptocamp SA 	No (En incubación) 	Idiomas: Francés; Inglés Formatos: Blog; HTML; Trac; Wiki Niveles: Usuarios; Desarrolladores 	Es un framework. Está basado en Pylons. Del lado del cliente utiliza y extiende OpenLayers, GeoExt y ExtJS.
MiraMon 	30px 	GNU GPL v.3 	Xavier Pons 	No 	Idiomas: Catalán; Español; Inglés Formatos: HTML Niveles: Usuarios 	Cliente AJAX. Consta de archivos HTML y Javascript. Es financiado por el Centre de Supercomputació de Catalunya (CESCA-FCR).
msCross 	30px 	GNU GPL 	Center for Advanced Studies, Research and Development in Sardinia 	No 	Idiomas: Francés; Inglés; Italiano Formatos: HTML; Trac Niveles: Usuarios; DesarrolladoresDocumentación incipiente. 	Creado como cliente AJAX para UMN MapServer, actualmente puede funcionar prescindiendo de este. Consta de un solo archivo Javascript.
p.mapper 	 	GNU GPL 	Armin Burger 	No 	Idiomas: Inglés Formatos: PDF; Trac; Wiki Niveles: Usuarios 	Es un framework. Basado en MapServer y PHP/MapScript. Provee un buen conjunto de herramientas listas para usar. Tiene una API de plugins para agregar funcionalidades. Se ofrece soporte comercial desde Italia, Eslovaquia y Alemania.
OpenLayers 	30px 	BSD-style 	Metacarta 	Si (Graduado) 	Idiomas: Francés; Inglés; Portugués; Ruso Formatos: Blog; HTML; Trac; Wiki Niveles: Usuarios; Desarrolladores 	No tiene dependencias en el servidor. Sirve de base para varios proyectos en la web. Soporta reproyección. Soporta SLD. Funcionalidades básicas de edición en línea. Desarrollo rápido. Gran cantidad de ejemplos.
TimeMap 	30px 	GNU GPL; LGPL 	University of Sydney (Archaeological Computing Laboratory) 	No 	Idiomas: Inglés Formatos: HTML; PDF Niveles: Usuarios; Desarrolladores 	Consiste en un applet de Java (TMJava). Se especializa en datos espacio-temporales, los cuales presenta a través de animaciones. Puede empaquetarse en un CD-ROM para funcionar como aplicación independiente a través de un navegador web. Cuenta con una herramienta de publicación y administración de datos para Windows (TMWin) pero su uso es opcional.
UMN MapServer	30px 	MIT-styleVer: http://www.mapserver.org/copyright.html#license	University of Minnesota 	Si (Graduado) 	Idiomas: Inglés Formatos: HTML; PDF; Trac; Wiki Niveles: Usuarios; Desarrolladores 	Provee funcionalidades para generar escala gráfica, leyenda y mapa de localización. Soporta SLD. Puede ser extendido con plantillas HTML o usando MapScript. Soporta simbología (tortas, barras) y etiquetas avanzadas. No trabaja con AJAX por defecto.
WebGIS Public	30px 	GNU GPL v.3 	SWECO Position AB 	No 	Idiomas: Inglés Formatos: HTML; Wiki Niveles: Usuarios; DesarrolladoresDocumentación incipiente. 	Está basado en OpenLayers y en Ext JS. Su desarrollador principal ha anunciado su apoyo al proyecto GeoExt con el fin de no duplicar esfuerzos.
worldKit 	30px 	GNU GPL v.2 	Mapufacture 	No 	Idiomas: Inglés Formatos: Blog; HTML Niveles: Usuarios; Desarrolladores 	Aplicación en Flash. Se configura a través de XML. Acepta GeoRSS e imágenes de base en formato JPEG. Despliega anotaciones y fotografías asociadas a elementos del mapa.
==== Características Técnicas ==== 
Cliente 	Lenguaje en el que está escrito	Lenguaje de programación que admite su API	Servicios OGC que consume 	Dependencia de servidor de mapas 	¿Requiere plug-ins privativos? 	¿Incluye componente de metadatos? 	Listas de correo
AppForMap 	Javascript; PHP 	Javascript; PHP 	WMS; WFS 	No 	No 	No 	No
CartoWeb 	PHP 	PHP 	WMS; WFS 	Si (UMN MapServer) 	No 	No 	Si (Usuarios; Desarrolladores)
Chameleon 	Javascript; PHP 	Javascript; PHP 	WMS 	Si (UMN MapServer) 	No 	No 	Si (Anuncios; Usuarios; Desarrolladores)
ET - Map 	Javascript; PHP 	Javascript; PHP 	WMS 	No 	No 	No 	No (Solo foros)
Flamingo 	ActionScript 	ActionScript 	WMS; WFS; WFS-T 	No 	Si (Adobe Flash Player) 	No 	No (Solo foros)
Fusion 	Javascript; PHP 	Javascript; PHP 	WMS 	Si (MapGuide Open Source; UMN MapServer)	No 	No 	Si (Usuarios; Desarrolladores; Commits; Trac)
GeoExt 	Javascript 	Javascript 	WMS; WFS; WFS-T 	No 	No 	No 	Si (Usuarios; Desarrolladores; Commits; Trac)
Geomajas 	Java; Javascript 	Javascript 	WMS; WFS 	No 	No 	No 	Si (Usuarios; Desarrolladores)
GeoMOOSE 	Javascript; PHP 	Javascript; PHP 	WMS; WFS 	No 	No 	No 	Si (Usuarios; Desarrolladores)
GMap 	PHP 	PHP 	WMS; WFS 	Si (UMN MapServer) 	No 	No 	No
i3Geo 	Javascript; PHP 	Javascript; PHP 	WMS; WFS; WCS; SOS 	Si (UMN MapServer) 	No 	No 	No (Solo foros)
iGeo-Portal 	Java 	Javascript; ASP; JSP 	WMS; WFS; WCS; CS-W; WFS-G; WPS; WTS; WCTS; SOS; WPVS	No 	No 	Si (Servicios de catálogo OGC para metadatos ISO 19115/19119) 	Si (Anuncios; Usuarios; Desarrolladores)
ka-Map 	Javascript; PHP 	Javascript; PHP 	WMS; WFSSolo soporta puntos para el WFS. 	Si (UMN MapServer) 	No 	No 	Si (Usuarios; Desarrolladores)No tiene listas de correo propias. Las listas de correo son del proyecto Deegree.
Mapbender 	Javascript; PHP 	PHP 	WMS; WFS: WFS-T 	No 	No 	Si (Cumple con la especificación ISO-19119) 	Si (Usuarios; Desarrolladores; Commits)
MapBuilder 	Javascript 	Javascript 	WMS; WFS; WFS-T 	No 	No 	No 	Si (Anuncios; Usuarios; Desarrolladores)
MapFish 	Javascript; Python 	Java; Javascript; PHP; Python 	WMS; WFS 	No 	No 	NoActualmente se trabaja en un cliente catálogo de metadatos empleando GeoNetwork. (Ver: https://trac.mapfish.org/trac/mapfish/wiki/Proposals/Catalogue)	Si (Usuarios; Desarrolladores; Commits; Trac)
MiraMon 	Javascript 	Javascript 	WMS; WCS; WFSSolo soporta puntos para el WFS. 	No 	No 	No 	Si (Commits)
msCross 	Javascript 	Javascript 	WMS; WFSSolo soporta puntos para el WFS. 	No 	No 	No 	Si (Usuarios)
p.mapper 	Javascript; PHP 	Javascript; PHP 	WMS; WFS 	Si (UMN MapServer) 	No 	No 	Si (Usuarios)
OpenLayers 	Javascript 	Javascript 	WMS; WFS 	No 	No 	No 	SiTiene listas de correo para: Usuarios, desarrolladores, commits, anuncios, tilecache y trac, entre otras.
TimeMap 	Java 	Javascript; JSP 	WMS 	No 	NoSe ejecuta mediante un applet de Java.	Si (Maneja metadatos básicos para el mapa) 	No
UMN MapServer	C/C++ 	PHP; Python; Perl; Ruby; Java; .NET 	WMS; WFS; WCS; SOS 	Si (UMN MapServer) 	No 	No 	Si (Anuncios; Usuarios; Desarrolladores)Tiene una lista de correo en alemán.
WebGIS Public	Javascript 	Javascript 	WMS 	No 	No 	No 	No
worldKit 	ActionScript 	Javascript 	WMS 	No 	Si (Adobe Flash Player) 	No 	SiTiene una lista de correo en la que participan usuarios y desarrolladores.
==== Enlaces de Interés ====
Cliente 	Versión actual (Noviembre de 2009) 	Página oficial	Descargas	Documentación 	Galería 	Captura de pantalla
AppForMap 	0.6a (2006/03/21) 	 	 	--- 	--- 	
CartoWeb 	3.5.0 (2008/09/04) 	 	 	 	 	
Chameleon 	2.6 rc1 (2007/09/06) 	 	 	 	 	
ET - Map 	0.5Ya no habrán más versiones del programa. (2007/02/23)	 	--- 	--- 	--- 	
Flamingo 	3.1 (2009/09/07) 	 	 	 	--- 	
Fusion 	2.0.0 beta1 (2009/10/09) 	 	 	 	 	
GeoExt 	0.6 (2009/10/15) 	 	 	 	 	
Geomajas 	1.4.0 (2009/06/23) 	 	 	 	 	
GeoMOOSE 	2.0.1 (2009/10/09) 	 	 	 	 	
GMap 	1.6 (2005/04/25) 	--- 	 	--- 	--- 	
i3Geo 	4.2 (2009/08/21) 	 	 	 	 	
iGeo-Portal 	2.2 (2008/12/22) 	 	 	 	 	
ka-Map 	1.0 (2007/02/05) 	 	 	 	 	
Mapbender 	2.6 (2009/09/22) 	 	 	 	 	
MapBuilder 	1.5Ya no habrán más versiones del programa. (2009/07/16) 	 	 	 	 	
MapFish 	1.2 (2009/10/15) 	 	 	 	 	
MiraMon 	4.10 (2008/06/27) 	 	 	--- 	--- 	
msCross 	1.1.9 (2007/02/18) 	 	--- 	--- 	--- 	
p.mapper 	4.0 beta3 (2009/09/26) 	 	 	 	 	
OpenLayers 	2.8 (2009/06/22) 	 	 	 	 	
TimeMap 	2.2.25Corresponde a la versión de TMJava. (2007/10/02) 	 	 	 	 	
UMN MapServer	5.6.0 beta 4 (2009/10/18) 	 	 	Ver la sección OGC Support and Configuration, en donde se explica cómo usar UMN MapServer como cliente.	Se está implementando la galería oficial: http://www.mapserver.org/introduction.html#gallery	
WebGIS Public	1.2.4 (2009/04/23) 	 	 	 	 	
worldKit 	3.3 (2007/05/03) 	 	 	 	 	
==== Notas al pie ====
===Notas con respecto a la comparación===
* Los datos fueron recogidos directamente de los sitios web de los proyectos, posteriormente se validaron a través de listas de correo o en su defecto de foros. Se ha recibido buen apoyo de parte de los involucrados con cada proyecto.
* Las celdas en blanco indican datos que no se recogieron.
* El apoyo de OSGeo se da cuando el proyecto se gradúa del proceso de incubación, por lo cual los proyectos que están en la incubadora no son proyectos oficiales de OSGeo y no reciben su soporte. Ver: Incubador
====Tú puedes colaborar====
Si ves algún error u omisión en la comparación por favor edítalo (necesitas un usuario en OSGeo), o si lo prefieres, escríbenos y haremos la corrección. Si conoces algún otro cliente ligero web y te gustaría verlo en la comparación comunícanoslo para investigarlo y anexarlo, o en el mejor de los casos hazlo tú :D.
===Conclusión===
Se observó que existe abundancia de proyectos libres para construir clientes web para SIG, algunos muy profesionales y elaborados que permiten realizar una gestión integral de la información y que reciben soporte del OGC debido a que involucran eficientemente a toda una comunidad; otros, resultado de esfuerzos individuales destacados que cumplen necesidades básicas. Algunos han desaparecido por duplicación de esfuerzos y otros han tomado como base desarrollos previos para ampliar sus alcances funcionales.
===Licencia===
Este artículo puede ser utilizado bajo la licencia Attribution 2.5 Colombia.
===Referencias===
* Esta versión de la comparación ha sido realizada y mantenida por Germán Carrillo del equipo GeoTux, con sugerencias de Lorenzo Becchi, Jorge Sanz y Evaristo Gestoso. La puedes encontrar en su formato original en la página web GeoTux
* Página web oficial de cada proyecto. (Ver parte 3 de la comparación: Enlaces de interés) 
* Emanuel Schütze. Current state of technology and potential of smart map browsing in web browsers. Alemania. Junio de 2007. Disponible en la URL: 
* Open Source Geospatial Foundation (OSGeo). 
* Banderas del mundo. 
Category:Español