The thin web mapping clients are applications in Internet that allow visualizing geographical information and their manipulation across basic tools of navigation and analysis.
In general terms, the thin web mapping clients has low capacity of analysis for their same essence, they doesn’t support the logic of the program, however, is increasingly frequent to make on-line process to spatial data, with help of programs in the server that process the information, which has helped to extend the users range that focus in this type of solutions.
The Open Geospatial Consortium (OGC) has promoted the use of standards for Web Map Services that helps 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).
The thin web mapping clients has been benefited also from technologies like AJAX (Asynchronous JavaScript And XML) nearing the users who in principle saw the navigation of maps in Internet as an exhausting and unpleasant exercise. The consultations of information now are more transparent, allowing the information travel from the client to server and results are returned without the navigation has to be paralyzed. API's (Application Program Interface) based on Javascript has been arranged to construct thin web mapping clients, allowing the browser interprets code lines and almost charging completely with the user interaction, which adds enhancements in operations as complex as the geometries edition.
There exists several projects to construct thin web mapping clients. GeoTux has elaborated the following comparison based on free software and open source projects. The comparison appears in three parts to facilitate its visualization:
-
General Description: Gives an introduction about each project.
-
Technical features: Presents technical data of the programas to facilitate a detail description.
-
Links of interest: Consists in a screenshot and links of interest.
The comparison has focused in the following thin web mapping clients, selected by its recognition in web mapping:
| CartoWeb | Chameleon |
Flamingo |
Fusion |
| iGeoPortal |
Ka-Map | Mapbender | MapBuilder |
| MapFish | msCross |
p.mapper | OpenLayers |
| TimeMap |
CONVENTIONS: Advantage / Disadvantage
COMPARISON: (Please avoid to use IE6 or IE7 to see the comparison, it seems can't work well with styles, you can use instead a free browser like Mozilla Firefox, Opera or K-Meleon, in which the correct diagramming of the tables has been proved)
| [1] Compatible with BSD. [2] Compatible with GPL. [3] Currently they're translating to diverse languages: swedish, spanish, bulgarian, pole, italian, french, Czech, slovene and others. [4] Incomplete documentation. [5] OSGeo doesn't support it like an official project, but hosts their mailing list and Trac. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [1] The WFS supports points only. [2] Executes through Java applets. [3] Currently they works on a client metadata catalogue using GeoNetwork. (See: https://trac.mapfish.org/trac/mapfish/wiki/Proposals/Catalogue) [4] Doesn't have its own mailing list. The mailing list owns Deegree Project. [5] Has mailing lists for: Users, developers, commits, announcements, tilecache and trac, among others. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOTES ABOUT THE COMPARISON:
-
The actual version of this comparison was written on November 2008.
-
In the process of compilation of information, was looked documentation of every project in its official website, extracting the information of interest, and later participating in the mailing lists (exempting MapBuilder, finalized; msCross, doesn’t exists; and iGeoportal, because doesn’t have own mailing list). Was received response of the following projects: Chameleon, Merger, Ka-Map, MapBender, MapFish, OpenLayers, who validated the information and did explanations and suggestions.
-
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)
-
The parameter "Supported data formats" refers to the information that the web client can be add without use a map server.
The users that collaborates in the comparison was: Geowarrior, remyalex, samtux and tuxman. The translation was done by dianatg.
Due to the constant innovation and implementation of technologies of this type of projects, we expect to keep the comparison updated every six (6) months (Next on May 2009).
You can collaborate
If you see any mistake in the comparison, please let us know and we will quickly fix it. If you know any other thin web mapping client and would like to see it in the comparison, write us to investigate it and add it.
LICENSE:
This article can be used under license "Attribution 2.5 Colombia", watch it in this link: http://creativecommons.org/licenses/by/2.5/co/
REFERENCES:
· Official Website of each Project (See Comparison Part 3, Links).
· Emanuel Schütze. Current state of technology and potential of smart map browsing in web browsers. Germany. June 2007. Available on: http://www.smartmapbrowsing.org/html/index_en.html
· Open Source Geospatial Foundation (OSGeo). Official Website: http://osgeo.org
· CSS Styles for tables: http://icant.co.uk/csstablegallery/index.php
· Flags of the world: http://www.33ff.com/
· Wikipedia. Thin Client definition: http://es.wikipedia.org/wiki/Cliente_liviano






























comments
Mi pregunta es que para una persona que inicia con estos clientes (en este caso se ha tocado algo de mapserver a pelo y me de que va un poco), cuál sería el más recomendable para realizar un servidor de mapas lo más agradable posible(teniend o en cuenta los que no se nada sobre php y javascript).
Gracias...
Con respecto a PHP y Javascript, bueno, seguro vas a tener que comenzar a emplear al menos uno de los dos lenguajes cuando empieces a configurar y a personalizar tu aplicación. Dependiendo de los requerimientos que tengas podrás elegir uno u otro cliente. Por ejemplo, Cartoweb, Ka-Map, MapBender y p.mapper vienen con varias funcionalidades listas para usar pero puede que tan solo necesites navegación en el mapa, así que te bastaría con OpenLayers :o.
Te recomiendo entonces que definas muy bien las funcionalidades que necesitas y que luego observes la documentación de los proyectos para que conozcas de primera mano qué tanto puede suplir un cliente tus requerimientos o qué tanto tendrás tú que poner en cuanto a desarrollo.
Saludos.
La información ofrecida en este artículo es muy interesante y completa además.
Tengo inquietudes acerca de pmapper, apenas empiezo a desarrollar en este framework, pero tengo entendido que existen 3 modos de ejecución entre los cuáles se encuentran CGI, MapScript y WebServices, dónde este último permite combinar los recursos con lenguajes como JAVA. Es óptimo realizar aplicaciones en este modo? y dónde puedo encontrar información detallada de desarrollo en esta modalidad.
Existen componentes en PHP como NuSOAP, para consumir e incluso crear webservices; aquí hay algunos ejemplos:
www.scottnichol.com/nusoapprogwsdl.htm.
www.ferdychristant.com/blog/articles/DOMM-6J2QFF.
Lo "malo" de los webservices, es que la información o métodos que implementan, quedarán dispuestos en la web, por tanto, son tan seguros como el ambiente o la red en la que se publiquen, a menos que implementen certificados digitales (método que considero un poco complejo).
Espero te sirva.
Muchas gracias por la respuesta. Voy a revisar los links que me envías. Mi inquietud está orientada a usar recursos diferentes a php (que hasta el momento es el lenguaje dónde se han desarrollado el mayor número de librerías de desarrollo) como JAVA, que es un lenguaje dónde ya tengo alguna experiencia en desarrollo web con Java Server Faces (JSF), lo ideal sería ahorrar tiempo de entrenamiento en PHP y desarrollar directamente con JAVA eso sí de acuerdo a las especificacione s que ofrece MapScript por ejemplo. Lo que no sé por el momento es si es recomendable desarrollar con esta metodología o mejor me dedico a trabajar directamente con php y allí lo combino con otros lenguajes que necesite.
Muchas gracias por la información. í‰xitos.
Recientemente trabaje en un proyecto desarrollado bajo el estándar JSF integrado con openlayers, en este proyecto trabajamos con el framework de IceFaces y se obtuvieron resultados aceptables( eso si debe tener cuidado con las librerías de java script con las etiquetas enriquecidas que ofrecen los distintos frameworks JSF ).
Para comenzar a implementar soluciones como estas es necesario, tener claro la diferencia en entre la programación que se hace en el cliente (pagina web) integrándola con el framework o cliente ligero para realizar tu mapa, la programación que se haga en la aplicación del lado del cliente con las etiquetas JSF y lo que se desarrolle del lado del servidor (si ha trabajado con JSF habrá notado la facilidad de intercambiar información entre etiquetas de la pagina web y los BackingBean del lado del servidor) . Entendiendo esto es posible que la solución que busque vaya enfocad a realizar su página web con etiquetas jsf y la aplicación web geográfica con html para que pueda trabajar con OpenLayer e intercambiar información con etiquetas JSF. Y eso si trabajando con servicios OGC (WMS...u otro, si estaba trabajando con pmmaper seguramente estará trabajando con mapserver) proporcionados por un servidor de mapas haciendo peticiones desde el cliente. ( Otra cosa seguramente se perderá lo que puede hacer con mapscript)
Aunque claro tienes otras opciones para trabajar directamente con etiquetas desde tu pagina Web ejecutadas en MapFaces, aunque los proyectos no son aún muy maduros puede probarlos, para ver si se acomodan a los requerimientos de su aplicación (eso sí pienso yo se perdería la flexibilidad que ofrece openlayers).
geofaces http://code.google.com/p/geo-faces/
MapFaces http://mapfaces.codehaus.org/
En esta url se peude encontrar mas informacion http://urewera.boarsnest.net/MapScript/ o en http://ms.gis.umn.edu:8081/ms_plone/docs/howto/javamapscript :-
Muchas gracias por la información, muy completa. ;-). Voy a implementar dichos componentes.
Exitos y gracias de nuevo.
de antemano muchas gracias.
Lo que buscas se trata en el WPS del OGC, que te permite definir parámetros y llamar procesos espaciales que corren en el servidor.
Para GRASS hay muchos adelantos que datan de años atrás:
Por ejemplo, para GRASS7 se espera una utilidad para obtener la descripción de cada proceso en XML conforme a WPS.
Te recomiendo que mires la wiki de GRASS:
grass.osgeo.org/wiki/WPS
Aquí encuentras una implementación de WPS con Python enfocada a GRASS:
pywps.wald.intevation.org/
Y no dejes de revisar el trabajo de 52º North al respecto.
Saludos.
la idea que tengo es realizar una aplicacion RIA que permita ejecutar comandos o realizar procesos a un servidor de grass mediante WPS.
ya he averiguado acerca de estos tipos de sevicios pero lo que me falta es definir cual va ser mi lenguaje a utilizar ya que manejo java, no se si sea factible realizarlo desde este.
te agradesco tu orientacion ya que he visto cosas muy interesantes como jgrass para udig, no se si sea el camino correcto para lo que quiero hacer.
de antemano muchas gracias.
Bueno, no se si viste esta página: http://pywps.wald.intevation.org/gallery/index.html
Hay varios ejemplos de implementación de WPS (GRASS) con OpenLayers (Javascript) como cliente web, en ese sentido podrías mirar proyectos como GeoExt o MapFish para elaborar la interfaz de la aplicación usando como base ExtJS (Javascript).
52º North tiene planeado liberar un cliente OpenLayers WPS próximamente: http://www2.52north.org/pipermail/geoprocessingservices/2010-March/000838.html
Te puede interesar ZOO project: http://www.zoo-project.org/
Pretenden crear una plataforma Open Source para servir WPS y consumirlos con un cliente basado en OpenLayers, sin embargo, no parece haber mayor información en su página web.
Por el lado de Java, revisa cómo se comporta el cliente de Deegree (no es RIA) con WPS y mira MapFaces (RIA), tal vez te sirva por el lado de los componentes JSF.
Saludos.
ya estoy en la configuracion de pywps con grass , tenia unos problemas con unas librerias de xml pero ya lo solucione.
lo que no he entendido es como se envian las peticiones desde el navegador a pywps, hay una parte del manual que habla de un directorio cgi-bin , creo que por ahi es la cosa , pero no se como configurar esa parte.
tambie vi que para realizar los procesos que llamo desde el navegador tengo que tener estos en la carpeta processes y en el archivo _init_.py agregarlo en la lista para que puedan ser utlizados, si esta bien esta parte??.
si me puedes ayudar con la configuracion del cgi-bin de apache para poder ejecutar lo procesos desde el navegador.
la configuracion la estoy realizando en ubuntu 9.1
muchas gracias.
tenia problemas era con permisos, ahora seguire configurandolo.
muchas gracias.
RSS feed for comments to this post