INTRODUCTION
Web mapping clients play a significant role in Geoportals of Spatial Data Infrastructures (SDI) allowing the visualization of spatial data from several sources. Likewise, these clients may be part of Web-based Geographic Information Systems (GIS) applications, in which users can directly interact with SDI services, visualize, query and integrate them with local data and GIS tools.
There exists a wide variety of free and open source software (FOSS) projects that make the creation and configuration of Web mapping clients easier. This study intends to characterize and compare them with the aim of providing Web GIS architects with decision elements for selecting a client side technology according to a given set of requirements.
This study presents a wide collection of Web mapping clients capable to access Open Geospatial Consortium (OGC) Web services, and examines some of their most relevant properties, but does not represent an exhaustive analysis of their technical features. Moreover, a definition of the term "Web mapping client" is proposed and the relation between them is examined.
WEB MAPPING CLIENTS
Web mapping clients are pieces of software (applications, viewers, libraries and frameworks, among others) that either provide or extend a Web-based mapping component to view and interact with maps from remote sources on the Internet. Some of the projects that provide such a mapping component use pure client-side technology whereas the vast majority rely on server-side features allowing advanced tasks to be performed, such as security, user and group administration, advanced printing capabilities, spatial analysis support and customization of graphic user interface controls and functionalities, among others.
The OGC promotes the use of standards for Web mapping services, which have helped to establish a common framework to access, display and download spatial data on the Internet (Web Map Service, Web Feature Service, Web Coverage Service), discover them (Catalog Service for the Web), present them by means of styles (Style Layer Descriptor), filter them (Filter encoding), store them, transport them (Geography Markup Language and Keyhole Markup Language) and process them (Web Processing Service). The Web Map Service (WMS) and Web Feature Service (WFS) are the mainly used services for Web mapping purposes, therefore, support for one of them is a must for a client to be included in this comparison.
WHAT IS NEW IN THIS VERSION
- Twelve (12) clients have been added to the comparison, namely: AtlasMapper, GPAAMP Viewer, GWT-OpenLayers, Heron Mapping Client, Leaflet, Legato, MapGuide OS Ajax Viewer, MapQuery, OL4JSF, QGIS Web Client, ReadyMap Web SDK and SLMapViewer.
- The data of the rest of clients have been updated.
- A new item called "Category" has been added to the first table.
- The graph "Relation between free and open source Web mapping clients" now includes the category of each client.
RELATION BETWEEN CLIENTS
Below is a graph showing the relation between free and open source Web mapping clients.
The graph allows to observe that most projects revolve around two paradigms: UMN MapServer and OpenLayers. Clients using UMN MapServer as a basis were created years ago taking advantage of the features that this client provides: map scale, map reference, basic navigation tools, identification of geographic objects and its Application Programming Interface (API) called MapScript, which has been implemented in different programming languages such as PHP, Python, Java, Perl and Ruby. On the other hand, a more recent generation of clients uses OpenLayers due to its optimal performance in rendering tasks on the Web and to the wide variety of data sources it supports. Several companies contribute to its development and projects like MapBuilder have come to an end to accelerate its progress, which makes it the state-of-the-art library for building Web mapping applications. Nowadays, even projects with their own rendering component are adopting or at least supporting OpenLayers in order to avoid duplicating efforts in an area where there is already a dominant one. It should be noted that some projects use Flash/Flex for building Rich Internet Applications (RIAs) such as Flamingo, worldKit, OpenScales and Geoide, providing a pleasanter experience for users intending to interact with on-line maps. Finally, the latest generation of clients are built upon HTML5, taking advantage of significant improvements in interaction with multimedia and vector content, this time native (for Web browsers) rather than through third party plug-ins. Leaflet and ReadyMap Web SDK are examples of projects using HTML5-related technologies, the latter one, based on WebGL, even allowing 3D globes to be rendered with pure JavaScript.
CATEGORIES
Due to the big quantity of Web mapping clients it is useful to think of grouping them by means of categories. Other authors coincide in that this could be a tough task because of the overlap between projects in terms of architecture and scope.
In this comparison, the categories for Web mapping clients have been extracted from the projects' description. Thus, there are libraries, wrappers, toolkits, frameworks and clients. All of these five (5) categories hold the definition given in the section "WEB MAPPING CLIENTS" and represent a more specialized way of looking at the projects, allowing to understand, at least at first glance, their aims and scopes.
- Libraries: Expose classes and functions allowing to build applications at a higher level of programming.
- Wrappers: According to the Free On-Line Dictionary of Computing, a wrapper "[...] acts as an interface between its caller and the wrapped code. This may be done for compatibility, e.g. if the wrapped code is in a different programming language or uses different calling conventions, or for security [...] The implication is that the wrapped code can only be accessed via the wrapper."
- Toolkits: P. Ramsey describes them as "more modular and easily integrated into a custom application."
- Frameworks: According to the OGC glossary, a framework is "[...] a reusable software template, or skeleton, from which key enabling and supporting services can be selected, configured and integrated with application code." For P. Ramsey, they "are more suitable for customization than integration."
- Clients: This category comprises viewers and ready-to-use Web mapping applications.
This way of categorizing Web mapping clients constitutes a first approach for distinguishing them and thus making the selection process easier.
THE COMPARISON
The comparison is based on free and open source software projects with capability to access OGC web services, showing a variety of parameters such as: license, origin country, internationalization, commercial support, supported programming languages and metadata management, among others.
The comparison is presented in three parts to facilitate the reading:
- General description: Gives an introduction about each project.
- Technical features: Presents some technical data of each project.
- Links of interest: Includes a screenshot showing how the client looks like as well as links for accessing useful pages and live demonstrations.
CONVENTIONS
Advantage, Disadvantage.
Officially abandoned client.
Client without recent version (over a year without a new version).
RECOMMENDATION: It is recommended to use a web browser such as Mozilla Firefox, SeaMonkey, Opera or K-Meleon, in which correct arrangement of the tables has been tested.
| [1] BSD compatible. [2] GPL compatible. [3] It can be changed by a "commercial license" by request. See: https://www.legato.net/display/LEGATO/Licenses [4] See: http://www.mapserver.org/copyright.html#license [5] Very quickly support from USA, Netherlands, Brazil and Italy. [6] Developed by Martin Hűgh. [7] City of Saint Paul, Minnesota. [8] Developed by Evgeny Gazdovsky. [9] Originally, developed by Volker Mische and Geodan. [10] Developed by Xavier Pons. [11] Developed by Robert Anderson. [12] Developed by Armin Burger. [13] Originally, developed by Andreas Neumann. [14] Incomplete documentation. [15] The available documentation is related only to the installation process. [16] The documentation is incomplete for some of the mentioned languages. [17] The user interface is in Spanish and in Latvian as well. [18] There are translations to several languages such as Swedish, Spanish, Bulgarian, Pole, Italian, French, Czech and Slovene, among others. [19] The user interface has been translated to 20 languages. [20] The user interface is available in several languages such as English, German, French, Italian and Portuguese, among others. [21] OSGeo doesn't support it as an official project, but hosts their mailing list and Trac. [22] The copyright will be transferred to OSGeo. [23] GeoMOOSE is in the incubation process. [24] The graduated project is actually Deegree and iGeoPortal is part of it. [25] The graduated project is actually MapGuide OS and the AJAX Viewer is part of it. [26] The graduated project is actually QGIS and QGIS Web Client is part of it. [27] Even though UMN MapServer is widely known as web map server, this comparison evaluates it as client and thus considers it to be a library because it exposes classes through MapScript. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [1] When MapGuide Open Source is present, Fusion is able to use a PHP API. [2] Does not yet have a published API. [3] The WFS only works for points. [4] Supports the GetCapabilities, GetFeatureOfInterest and GetObservation requests of the SOS specification. [5] As a server additionally supports the WCS and SOS services. [6] Takes this feature from OpenLayers. [7] In the last version it was introduced an example with OSM but with no tiles. [8] Consuming third-party tiles is only available in Fusion. [9] Supports a large number of map sources based on tiles. [10] It only supports the TMS Global Geodetic profile. [11] Runs through a Java applet. [12] It displays the metadata information (the layer abstract) included in the WMS capabilities document associated with the layers. [13] Camptocamp SA has added support for the GetDomain and GetRecords requests of the CSW specification to OpenLayers. [14] It has a search component that uses either a thesaurus or the CSW specification. [15] The HS – RS company offers it as a component of its solution for geoportals. [16] Currently, there is a proposal to build a metadata catalogue client using GeoNetwork. (See: https://trac.mapfish.org/trac/mapfish/wiki/Proposals/Catalogue and http://www.camptocamp.com/fr/blog/2009/06/732/) [17] Supports the GetDomain and GetRecords requests of the CSW specification. [18] There is a Google group for developers. [19] It has a single mailing list for users and developers. [20] It does not have its own mailing lists, they are from the Deegree project. [21] It does not have its own mailing lists, they are from the MapGuide OS project. [22] It has mailing lists for: Users, developers, commits, announcements, tilecache and trac, among others. [23] It does not have its own mailing lists, they are from the QGIS project. [24] It has a mailing list in German. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOTES ABOUT THE COMPARISON
- The data of the included clients were collected directly from their Web sites and then validated through mailing lists, forums or by e-mail.
- Empty cells indicate unknown information.
CONCLUSION
Besides presenting a general description, technical features and links of interest about Web mapping clients, the relation between them has been described and they have been categorized for distinguishing them better.
There is plenty of FOSS projects for building Web mapping clients, some of them allowing a comprehensive management of information and receiving support from OSGeo because they efficiently involve 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 in order to expand their functional scopes.
ACKNOWLEDGEMENTS
The author appreciates 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, by Paolo Cavallini from Faunalia, by Bob Basques, by GeoTux members: William Guerrero, Remy Galán, Samuel Mesa, and especially by the GeoTux user Mavka, who has even sent complete data about a couple of clients and has also translated the fifth version of the comparison to Russian.
You can contribute
If you find out a mistake in the comparison, let me know and I will fix it. If you know any other Web mapping client and you would like to see it in the comparison, e-mail me to study it and add it in the next version.
LICENSE
This article is under license "Attribution 2.5 Colombia", look it at: http://creativecommons.org/licenses/by/2.5/co/deed.en
REFERENCES
- Official website of each project (See Part 3, Links of interest.)
- Schütze, Emanuel. Current state of technology and potential of smart map browsing in web browsers. Alemania. Junio de 2007. Retrieved January 3, 2012, from http://www.smartmapbrowsing.org/html/index_en.html
- RAMSEY, Paul. The State of Open Source GIS. In : FOSS4G 2007. Victoria, Canadá. 2007. Retrieved January 3, 2012, from http://2007.foss4g.org/presentations/view.php?abstract_id=136
- Howe, Denis. Free On-Line Dictionary of Computing. 2010. Retrieved January 3, 2012, from http://foldoc.org/wrapper
- Open Geospatial Consortium (OGC). Glossary: http://www.opengeospatial.org/ogc/glossary
- Open Source Geospatial Foundation (OSGeo). Official website: http://osgeo.org
- CSS for tables: http://icant.co.uk/csstablegallery/index.php
- Flags of the world: http://www.33ff.com






































































comments
Ahora me doy cuenta que puede hacerlo, no de forma nativa, sino a través de proveedores como OpenLayers. Lo tendré en cuenta para la próxima versión.
Geomajas is all Java these days. The dojo face has moved to the attic as there was no maintainer for a long time. The Java codes is compiled to JavaScript by GWT where needed.
Before updating everything, what about the Geomajas JavaScript API plug-in?
http://files.geomajas.org/maven/trunk/geomajas/geomajas-plugin-javascript-api-documentation/html/master.html
O i3Geo está tbm no OHLOH: http://www.ohloh.net/p/i3geo
Parabéns pelo trabalho.
Will work on that, thanks!
Now that you mention it, perhaps this is one of the most difficult projects for me to get updates, mainly because of the language. Next time I'll ask you directly via the mailing list.
Let me know if you need additional info.
One minor update: it has a mailing list https://groups.google.com/group/leaflet-js
and also a UserVoice page
https://leaflet.uservoice.com/
I'm aware that Leaflet has had lots of updates recently. It'd be nice to reflect the momentum in the comparison, wouldn't it? I don't know how, though. Thanks for the info.
Por cierto, ¿Para cuando se estima que tendremos una 7º versión de la comparación?
Saludos y felicidades por el gran trabajo realizado.
Con respecto a la 7ma versión, aún no hay una fecha tentativa por varias razones, primero, hace solo 2 meses y medio se publicó la 6ta (yo acostumbraba a publicar versiones algo así como cada 6 meses) y segundo, adelanto mis estudios de maestría y debo destinar el tiempo a otras actividades. Cuando sea el momento lo iré mencionando por Twitter, síguenos en @GeoTux2
Gracias por el mensaje.
Estaba viendo el artículo, e investigando en internet, y me dí cuenta que los enlaces que tiene el artículo de iGeoportal están desactualizados , seguramente debido al momento de realización del mismo. No obstante, parece que la iniciativa de deegree3 ahora se concentró solo en ser servidor de mapas, y ha dejado a un lado (al menos de momento) el desarrollo de este cliente. ¿Se sabe algo al respecto? Saludos y muchos éxitos!
seguro, la comparación v.6 ya lleva casi año y medio de publicada y proyectos como deegree han tenido cambios significativos desde entonces, no solo en sus sitios web sino también en su estructura. Algunos enlaces quedan rotos debido a esos cambios. Con respecto al cliente web de deegree, parece que tienes razón, no he logrado ubicar nuevas versiones de iGeoPortal (es decir, mayores a la 2.5), tal vez puedes preguntar en la lista de correo de deegree si se planea continuar el desarrollo de dicho componente.
Saludos,
Tuxman
RSS feed for comments to this post