This comparison aims to serve as a basis for those seeking a first approach to web GIS technologies for the client side. In the third version I added two new clients (GeoMOOSE y MiraMon), updated information from previous, included a graph of dependence between clients and screenshots were taken in larger size for most projects.
This is the third version of the comparison published on November 2009. So I invite you to visit the fourth version, published on May 2010. Just click here.
INTRODUCTION
Currently, the Geographical Information Systems (GIS) have succeeded in extending its practical utility including users with different levels of training due to the rise of web applications, increasingly focused on the end user and with graphical interfaces enriched. The purpose of this study is to provide decision elements to web GIS projects analysts to choose one or other client side technology, according to the requirements of a particular project.
The web map clients are Internet applications that allows visualize and manipulate geographical information across basic tools of navigation and analysis. There are several FOSS projects that made easier the management, development and customization of these applications, which consume web services and communicate advanced tasks to be performed on the server.
The Open Geospatial Consortium (OGC) has promoted the use of standards for web map services which are helped to establish a common framework to spatial data access in the Internet (Web Map Service, Web Feature Service, Web Coverage Service), to present it by means of styles (Style Layer Descriptor), to filter it (Filter encoding), to store it, to transport it (Geography Markup Language and Keyhole Markup Language) and process it (Web Processing Service).
DEPENDENCE BETWEEN CLIENTS
Below is a graph of dependence between FOSS web map clients.
Most projects revolve around two paradigms: UMN MapServer and OpenLayers. Clients using UMN MapServer as a basis were created years ago taking advantage of features that this client provides: map scale, map reference, basic navigation tools, identification of geographic objects and their Application Programming Interface (API) called MapScript which has been implemented in different programming languages like PHP, Python, Perl and Ruby, and continues its development by adding features such as advanced labeling and generation of bar and pie graphs. On the other hand, the new generation of clients use OpenLayers due to its optimal performance in rendering tasks on the web. Different companies contributes to its development and projects as MapBuilder have ended to accelerate their progress.
There are clients who do not have relied on others but have been originated independently, as the case Geomajas, iGeoPortal, Mapbender, TimeMap, MiraMon and worldKit. Some clients use optionally UMN MapServer through MapScript (AppForMap, GeoMOOSE and msCross) and others allow you to choose an additional way to render their maps with OpenLayers (AppForMap and i3Geo) and Flamingo (i3Geo).
It should be noted that because of his versatility Flash has helped to build web map clients, for example in the Flamingo and worldKit projects, providing a new experience for users looking to view maps online.
THE COMPARISON
The comparison is based on free and open source projects with ability to access web services regulated by the OGC, showing in the form of advantages and disadvantages different parameters such as: license, country of origin, internationalization, commercial support, programming languages supported, its independence with respect to map servers programs and its metadata management, among others.
The comparison is presented in three parts to facilitate its visualization:
- General description: Gives an introduction about each project.
- Technical features: Presents technical data of the programs to facilitate a detail description.
- Links of interest: Includes a screenshot showing the interface for each client and links for accessing pages of the same.
CONVENTIONS: Advantage, Disadvantage.
WHAT'S NEW IN THIS VERSION
- Have added the clients GeoMOOSE (suggested by William Guerrero) and Miramon (suggested by Joan Maso Pau who included it in the OSGeo-es Wiki).
- For clients who were in the latest version of the comparison, information was updated from its official website, including some URLs of projects with new websites.
- The release date was added to the current version of the client, see the part 3 of the comparison.
- A graph of dependence between clients was included.
- Screenshots were arranged in a larger size for most clients. To view it click on the corresponding image in the part 3 of the comparison.
SUGGESTION: Please avoid to use IE6 or IE7 to see the comparison, it seems the css support is really poor, you can use instead a browser like Mozilla Firefox, SeaMonkey, Opera or K-Meleon, in which the correct diagramming of the tables has been proved.
Web map clients comparison
Parte 1. General description
[1] BSD compatible. [2] GPL compatible. [3] See: http://www.mapserver.org/copyright.html#license [4] Developed by Martin Høgh. [5] City of Saint Paul, Minnesota. [6] Developed by Xavier Pons. [7] Developed by Armin Burger. [8] Incipient documentation. [9] The only documentation available corresponds to the installation process. [10] Currently there are translations to several languages: swedish, spanish, bulgarian, pole, italian, french, czech, slovene and others. [11] OSGeo doesn't support it as an official project, but hosts their mailing list and Trac. [12] The copyright will be transferred to OSGeo.
|
| Parameter of comparison |
| License |
| Native Country |
| Origin Company or Entity |
| Documentation |
| OSGeo Support |
| Comments |
|
| AppForMap | CartoWeb | Chameleon | ET - Map | Flamingo | Fusion | GeoExt | Geomajas | GeoMOOSE | GMap | i3Geo | iGeoPortal | ka-Map | Mapbender | MapBuilder | MapFish | MiraMon | msCross | p.mapper | OpenLayers | TimeMap | UMN MapServer | WebGIS Public | worldKit |
| GNU GPL v.2 |
GNU GPL |
Chameleon License 1 |
GNU GPL v.2 |
GNU GPL v.2 |
MIT |
BSD |
GNU AGPL v.3 |
MIT-style v.2+; City of Saint Paul Open Source License v.1.x |
GNU GPL |
GNU GPL v.2 |
LGPL |
MIT 2 |
GNU GPL |
LGPL |
GNU GPL v.3 |
GNU GPL v.3 |
GNU GPL |
GNU GPL |
BSD-style |
GNU GPL; LGPL |
MIT-style3 |
GNU GPL v.3 |
GNU GPL v.2 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
 |
 |
 |
|
 |
 |
 |
 |
 |
| 4 |
Camptocamp SA |
DM Solutions Group |
SEDesign |
Flamingo MC Community |
AutoDesk; DM Soultions Group |
Camptocamp SA; OpenGeo; OSGIS |
DFC Software Engineering; GeoSparc |
5 |
DM Soultions Group |
Ministério del Médio Ambiente de Brasil; Portal do Software Público Brasileiro |
lat/lon; GIS Research Group of the Department of Geography of University of Bonn |
DM Soultions Group |
CCGIS |
|
Camptocamp SA |
6 |
Center for Advanced Studies, Research and Development in Sardinia |
7 |
Metacarta |
University of Sydney (Archaeological Computing Laboratory) |
University of Minnesota |
SWECO Position AB |
Mapufacture |
Languages: English Formats: HTML Levels: Developers8 |
Languages: French; English Formats: HTML; PDF; Wiki Levels: Users; Developers |
Languages: English Formats: HTML; Wiki Levels: Users; Developers |
Languages: German Formats: txt Levels: Users9 |
Languages: German; English Formats: HTML; Trac; Wiki Levels: Users; Developers |
Languages: French; English Formats: Trac; Wiki Levels: Users; Developers |
Languages: English Formats: Blog; HTML; Trac; Wiki Levels: Users; Developers |
Languages: English Formats: HTML; Tracker Levels: Users; Developers |
Languages: English Formats: HTML Levels: Users |
Languages: English Formats: txt Levels: Users8 |
Languages: Portuguese Formats: Blog; HTML; Trac; Video; Wiki Levels: Users; Developers |
Languages: German; English Formats: HTML; PDF; Wiki Levels: Users |
Languages: French; English; Japanese Formats: Wiki Levels: Users; Developers |
Languages: German; English; 10 Formats: PDF; Trac; Wiki Levels: Users; Developers |
Languages: English Formats: Wiki Levels: Users; Developers |
Languages: French; English Formats: Blog; HTML; Trac; Wiki Levels: Users; Developers |
Languages: Catalan; Spanish; English Formats: HTML Levels: Users |
Languages: French; English; Italian Formats: HTML; Tracker Levels: Users; Developers 8 |
Languages: English Formats: PDF; Trac; Wiki Levels: Users |
Languages: French; English; Portuguese; Russian Formats: Blog; HTML; Trac; Wiki Levels: Users; Developers |
Languages: English Formats: HTML; PDF Levels: Users; Developers |
Languages: English Formats: HTML; PDF; Trac; Wiki Levels: Users; Developers |
Languages: English Formats: HTML; Wiki Levels: Users; Developers8 |
Languages: English Formats: Blog; HTML Levels: Users; Developers |
| No |
No |
No |
No |
No |
No 11 |
No12 |
No |
No (In incubation) |
No |
No |
No (In incubation) |
No |
Yes (Graduated) |
Yes (Graduated) |
No (In incubation) |
No |
No |
No |
Yes (Graduated) |
No |
Yes (Graduated) |
No |
No |
| It uses the Simple Feature Specification to query and modify PostgreSQL/PostGIS databases. Uses PHP/MapScript to function as UMN MapServer client (optional). Recently it has added the possibility to use OpenLayers for rendering. |
It is a framework. Has an object oriented architecture that make it modular. Can be configured as SOAP web service. All its potential is obtained when is associated with PostgreSQL/PostGIS. |
Has a consolidated and well documented Javascript API. Accelerated growth across customized widgets. |
Doesn't work with AJAX by default. Uses some Javascript functions from the p.mapper project. Its development is ended. |
Has been developed based on a set of components that perform common tasks of navigation and queries. |
It is a framework. Uses OpenLayers as base API. Has commercial support. |
Incipient project. Based on OpenLayers and Ext JS. It seeks to give to the GIS users advanced web controls. |
It is a framework. Allows two options for implementing the interface: Javascript (Dojo) and Java (Google Web Toolkit). Has tools for editing, snapping, measurement and analysis. Supports on-the-fly projection. Has an advanced print component. |
It is a framework. Has a modular architecture. Is configurable. Seeks to be a UMN MapServer client using PHP/MapScript, but was designed to not depend on it. Uses OpenLayers as rendering engine. |
It is an example application for the PHP/MapScript extension. It is usually found in utilities packages such as MS4W or FGS. Is used in the MapLab project. |
Application based on UMN MapServer, uses PHP/MapScript. Besides the main, can use OpenLayers or Flamingo as alternatives interfaces. It has a lighter version for slow connections and also has a mobile version. Performs spatial analysis online. |
It is a framework. Doesn't work with AJAX by default. Modular architecture. Based on OGC and ISO/TC 211 standards. Safety component. Support Gazeteer for spatial queries by names or adresses. The most of the configuration is XML. |
Requires PHP/MapScript. It is designed to use caching as much as possible and to render maps quickly with tiles. |
It is a framework. Provides a management interface for security, users and groups configuration through a database in MySQL or PostgreSQL. |
Shares its vector rendering engine with OpenLayers. Style Layer Descriptor editor. Has commercial support (LISAsoft from Australia and DM Solutions Group from Canada). Its development is ended. |
It is a framework. Based on Pylons. Client side uses and extends OpenLayers, GeoExt y Ext JS. |
AJAX Client. Consists of HTML and Javascript files. It is funded by the Centre de Supercomputació de Catalunya (CESCA-FCR). |
Created as an AJAX client for UMN MapServer, currently can operate without it. Consists of a single Javascript file. |
It is a framework. Based on MapServer and PHP/MapScript. Provides a good set of tools ready to use. Has a plugin API to add functionalities. Has commercial support from Italy, Slovakia and Germany. |
Doesn't have dependences on the server. Provides the basis for several projects on the web. Supports reprojection. Supports SLD. Basic functionalities for on-line edition. Fast development. Lots of examples. |
It is a Java applet (TMJava). Focused in multi-temporal data which presents through animations. Can be packed in a CD-ROM to run as independent application through a web browser. Has a publishing tool and data management for windows (TMWin), but its use is optional. |
Provides functionalities to generate graphical scale, legend and reference map. Supports SLD. Can be extended with HTML templates or using MapScript. Supports advanced symbology (pies, bars) and advanced labeling. Doesn't work with AJAX by default. |
It is based on OpenLayers and Ext JS. Its main developer has announced its support for the GeoExt project to avoid duplicate efforts. |
Flash application. It is configurated through XML. Supports GeoRSS and images based on JPEG format. Displays notes and photographs associated with map elements. |
|
Web map clients comparison
Part 2. Technical features
[1] The WFS supports points only. [2] Runs through a Java applet. [3] Currently there are some work on a metadata catalogue client using GeoNetwork. (See: https://trac.mapfish.org/trac/mapfish/wiki/Proposals/Catalogue) [4] Doesn't has its own mailing list. The mailing list owns to Deegree project. [5] It has mailing lists for: Users, developers, commits, announcements, tilecache and trac, among other. [6] Has a mailing list in German. [7] Has a mailing list involving users and developers.
|
| Parameter of comparison |
| Source code language |
| API language |
| Supported OGC services |
| Map server dependence |
| Requires privative plug-ins? |
| Includes metadata component? |
| Mailing lists |
|
| AppForMap | CartoWeb | Chameleon | ET - Map | Flamingo | Fusion | GeoExt | Geomajas | GeoMOOSE | GMap | i3Geo | iGeoPortal | ka-Map | Mapbender | MapBuilder | MapFish | MiraMon | msCross | p.mapper | OpenLayers | TimeMap | UMN MapServer | WebGIS Public | worldKit |
| Javascript; PHP |
PHP |
Javascript; PHP |
Javascript; PHP |
ActionScript |
Javascript; PHP |
Javascript |
Java; Javascript |
Javascript; PHP |
PHP |
Javascript; PHP |
Java |
Javascript; PHP |
Javascript; PHP |
Javascript |
Javascript; Python |
Javascript |
Javascript |
Javascript; PHP |
Javascript |
Java |
C/C++ |
Javascript |
ActionScript |
| Javascript; PHP |
PHP |
Javascript; PHP |
Javascript; PHP |
ActionScript |
Javascript; PHP |
Javascript |
Javascript |
Javascript; PHP |
PHP |
Javascript; PHP |
Javascript; ASP; JSP |
Javascript; PHP |
PHP |
Javascript |
Java; Javascript; PHP; Python |
Javascript |
Javascript |
Javascript; PHP |
Javascript |
Javascript; JSP |
PHP; Python; Perl; Ruby; Java; .NET |
Javascript |
Javascript |
| WMS; WFS |
WMS; WFS |
WMS |
WMS |
WMS; WFS; WFS-T |
WMS |
WMS; WFS; WFS-T |
WMS; WFS |
WMS; WFS |
WMS; WFS |
WMS; WFS; WCS; SOS |
WMS; WFS; WCS; CS-W; WFS-G; WPS; WTS; WCTS; SOS; WPVS |
WMS; WFS 1 |
WMS; WFS; WFS-T |
WMS; WFS; WFS-T |
WMS; WFS |
WMS; WFS 1; WCS |
WMS; WFS 1 |
WMS; WFS |
WMS; WFS |
WMS |
WMS; WFS; WCS; SOS |
WMS |
WMS |
| No |
Yes (UMN MapServer) |
Yes (UMN MapServer) |
No |
No |
Yes (MapGuide Open Source; UMN MapServer) |
No |
No |
No |
Yes (UMN MapServer) |
Yes (UMN MapServer) |
No |
Yes (UMN MapServer) |
No |
No |
No |
No |
No |
Yes (UMN MapServer) |
No |
No |
Yes (UMN MapServer) |
No |
No |
| No |
No |
No |
No |
Yes (Adobe Flash Player) |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No 2 |
No |
No |
Yes (Adobe Flash Player) |
| No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
Yes (OGC catalogue services for ISO 19115/19119 metadata) |
No |
Yes (ISO-19119 specification) |
No |
No3 |
No |
No |
No |
No |
Yes (Handles basic metadata for the map) |
No |
No |
No |
| No |
Yes (Users; Developers) |
Yes (Announcements; Users; Developers) |
No (Forums only) |
No (Forums only) |
Yes (Users; Developers; Commits; Trac) |
Yes (Users; Developers; Commits; Trac) |
Yes (Users; Developers) |
Yes (Users; Developers) |
No |
No (Forums only) |
Yes (Announcements; Users; Developers) 4 |
Yes (Users; Developers) |
Yes (Users; Developers; Commits) |
Yes (Announcements; Users; Developers) |
Yes (Users; Developers; Commits; Trac) |
Yes (Commits) |
Yes (Users) |
Yes (Users) |
Yes 5 |
No |
Yes (Announcements; Users; Developers)6 |
No |
Yes 7 |
|
Web map client comparison
Part 3. Links of interest
[1] There will be no more versions of this program. [2] Corresponds to TMJava version. [3] See the section OGC Support and Configuration, where has been explained how to use UMN MapServer as a client. [4] Is being implemented the official gallery: http://www.mapserver.org/introduction.html#gallery
|
| Parameter |
| Screenshot |
Current Version (Nov 2009) |
| Official website |
| Downloads |
| Documentation |
| Gallery |
|
|
NOTES ABOUT THE COMPARISON:
- The data for GeoMOOSE were collected directly from their website, then validated through mailing list. The data for MiraMon weren't validated because one of their administrators filled directly the information of the project.
- The empty cells indicate that it wasn’t possible to obtain information.
- OSGeo's support is given when the project graduates of the incubation process, for which the projects that are in the incubator are not OSGeo's official projects and do not receive the support. (See: http://www.osgeo.org/node/343)
We appreciate the suggestions made by members of the OSGeo local chapter of the spanish speaking community (Capítulo Local de la comunidad hispanohablante de OSGeo), Jorge Sanz, Lorenzo Becchi and Evaristo Gestoso, which have enriched the comparison.
Due to the constant innovation and implementation of technologies in this type of projects, we expect to keep the comparison updated every six (6) months in spanish and the translation to english could be done every year.
You can collaborate
If you see a mistake in the comparison, please let us know and we will fix it. If you know any other web map client and would like to see it in the comparison, write us to investigate it and add it.
LICENSE
This article is under license "Attribution 2.5 Colombia", watch it in this link: http://creativecommons.org/licenses/by/2.5/co/deed.en
CONCLUSION
There is plenty of FOSS projects to build web map clients, some of them very professional allowing a comprehensive management information and receive support from OGC because they involve efficiently a whole community; others, result of individual efforts that satisfy basic needs. Some have been disappearing because of duplicated efforts and others have been based on previous developments to expand its functional scopes.
REFERENCES
comments
Con la aparición de nuevas tendencias en la aplicaciones SIG Web, como las Aplicaciones Enriquecidas para Internet (RIA por sus siglas en inglés), han surgido también proyectos que ofrecen APIs con funcionalidades especificas como Geocodificación , Ruteo, etc. en entornos de este tipo, pero que no ofrecen componentes como controles preconstruidos (quizá para evitar el desarrollo paralelo, como ocurrió con MapBuilder).
No sé si esta clase de proyectos puedan ser objeto de estudios como este, pero probablemente serán protagonistas en el crecimiento de la GeoWeb 2.0.
Enlaces de algunos proyectos de este tipo:
MapStraction: Librerías javascript con funcionalidades propias de Geocodificación y ruteo entre otras. mapstraction.com/.
Modest Maps: Librería para despliegue interacción con datos basados en cacheo espacial (tiled maps), construida en Flex (Actionscripty Flash) y Python. modestmaps.com/.
UMap: Universal ActionScript 3.0 Mapping API. No estoy seguro del tipo de licenciamiento de esta solución, pero es de libre descarga, (seguiré indagando). www.afcomponents.com/components/umap_as3/
Continuaré investigando...
Atentamente
remyalex.
Bueno, UMap no tiene licencia de código abierto. Creo que Modest Maps es un buen acercamiento a la visualización de datos de diversas fuentes, por ejemplo OSM. Sin embargo se queda muy corto para los requerimientos mínimos que se manejan en la internet. Con respecto a Mapstraction, no parece que tenga soporte para servicios OGC.
Por otro lado, me enteré hace poco de un proyecto que integra controles de Flex con servicios OGC, el proyecto se llama OpenScales (openscales.org/), tiene varias funcionalidades interesantes para ser tan nuevo (alrededor de 1 año). De seguro entra a la comparación. OpenScale ha absorbido a su proyecto base, FlexLayers (code.google.com/p/flexlayers/), que pretendió migrar la API de OpenLayers a Flex.
Vamos a ver cómo evolucionan estos proyectos, ya de por si interesantes.
Saludos.
Tuxman
How about the adding the Geoide web map client to the next comparison? See the wiki page http://geoikia.idgis.eu/wiki-english/index.php/Main_Page for info.
Please let me know if you need additional info.
Regards,
Herman
RSS feed for comments to this post