Por qué utilizar OpenLayers + GeoExt

En este artículo trataremos el tema sobre la versión 2 de OpenLayers , ya que la nueva arquitectura de OpenLayers 3 ha implicado un nuevo diseño diseño de la API y del código base, por lo que GeoExt 2.x no es compatible con OpenLayers 3.

GeoExt es de código abierto y permite la creación de aplicaciones SIG de escritorio, a través de la web. Basado en JavaScript,  combina la funcionalidad SIG de OpenLayers con la interfaz de usuario de la biblioteca ExtJS proporcionada por Sencha.

OpenLayers 2 es una librería Javascript para componer mapas dinámicos en páginas web. Forma parte de los proyectos de la Open Source Geospatial Foundation, está bajo una licencia  BSD. La combinación de OpenLayers 2 y GeoExt es la combinación perfecta para crear una aplicación web mapping.

Las aplicaciones de mapas contienen capas de mapa (ráster o vectoriales, procedentes de una gran variedad de fuentes), y los controles para operar sobre esas capas.

OpenLayers

¿Qué podemos hacer con OpenLayers 2?

  • Interactuar con servicios GIS externos: Google Maps, Bing Maps, Yahoo Maps, OpenStreetMap, a través de ArcGIS Server, GeoServer, MapServer…
  • Crear mapas interactivos.
  • Visualizar información espacial/geográfica.
  • Incluir y superponer distintos tipos de capas.
  • Editar información espacial.

¿Por qué elegir OpenLayers?

  • Superposición de múltiples capas de mapa en una sola aplicación.
  • Muestra tiles/imágenes de WMS, WMTS, TMS, WMS-C, WMTS.
  • Representación de elementos vectoriales y estilo con soporte para KML, GeoJSON, WKT, GML, WFS y GeoRSS.
  • Edición basada en la web, incluyendo snapping y spliting, a través de WFS-Transaccional (WFS-T) aprovechando SVG o VML.
  • Conectable con cualquier kit de herramientas JavaScript (jQuery, Ext, Dojo, MooTools).
  • Reproyección del lado del cliente.
  • Elementos de clúster y paginación.

Sin embargo OpenLayers carece de una rica interfaz de usuario. Para solucionar esto contamos con la librería Ext JS.

Ext JS es una librería JavaScript que ofrece un extraordinario conjunto de componentes (widgets) para incluir dentro de una aplicación web como rejillas, árboles de datos, menús y paneles.

Ext_JS

Ext Js que es perfecta para crear fabulosas aplicaciones web, pero falla en los mapas.

Por lo tanto la solución es poner los mapas de OpenLayers en un panel Ext y envolver los objetos de OpenLayers en los componentes de GeoExt.

GeoExt combina los controles geoespaciales de OpenLayers con los componentes de interfaz de usuario de Ext JS en un framework que nos permite construir aplicaciones GIS de estilo similar a las de escritorio, pero en un navegador.

En tan solo 12 líneas de código creas y muestras una ventana  de mapa con un GeoExt.MapPanel

GeoExt

La versión 3 de GeoExt es la sucesora de la GeoExt 2 y está construido sobre las librerías OpenLayers 3.6 y ExtJS 6.0.0.beta.

GeoExt 3 no se liberado aun, sin embargo, se está desarrollando activamente. En estos momentos no es completamente funcional ni está totalmente testeado.

9 comentarios en «Por qué utilizar OpenLayers + GeoExt»

  1. Buenas tardes,
    podría utilizar Geoext para añadir un panel dinámico de inserción de servicios WMS trabajando con libreria Leaflet? Como por ejemplo: vissir3 /Capes adicionals-Afegiu capes de servidors WMS
    URL: http://www.icc.cat/vissir3/
    Un saludo.

  2. Yo necesito vincular el framework ZK con openlayers. Alguien sabe cómo hacerlo o tiene algún ejemplo práctico?? Lo voy agradecer mucho

    Saludos desde Cuba

    Gracias

  3. Leyendo otros articulos por alli me he encontrado con esto.
    Ext JS 5 compatibilidad se está trabajando por un desarrollador de núcleo (Marc Jansen)

    OpenLayers 3 no pueden ser apoyados por GeoExt 2 sin romper la compatibilidad hacia atrás por lo que tendría que ser hecho en una rama separada, tal vez lanzado como GeoExt 3. No hay desarrollo existente y volver a escribir GeoExt 2 para apoyar OpenLayers 3 requiere un esfuerzo significativo.

    me pregunto si geo ext 2 o 1.1 se puede trabajar con openlayer 3 o definitivo no y que hay de sierto en que open layer 3 integra por medio de jquery y otras bibliotecas flexibles una funsionabilidad similar pero mas facil de usar me gustaria oir comentarios sobre el tema

  4. Eso de que OpenLayers tiene buena documentación… más bien lo contrario; lo que sí tiene OpenLayers es un buen conjunto de ejemplos, aspecto muy cuidado y que creo que ha contribuido mucho a su éxito.

    De hecho, en la propia página web de OpenLayers (openlayers.org) se anuncia, entre otras, la siguiente novedad referente a la documentación que vendrá con la versión 3.0:

    «High-quality documentation: The new release will also feature documentation with fresh examples and default designs in OpenLayers 3.0. Making a toolkit standout is about more than the actual code.»

    Lo que hace que uno, cínicamente, se pregunte: ¿Entonces que la documentación de la versión 2 era mala?

  5. ¿Cuáles son las ventajas de OpenLayers frente a LeafletJS? Supongo que OpenLayers es más interactiva, ¿verdad?

    Felicidades por el blog. De verdad.

    • Hola Marcos!
      Gracias por tu comentario.
      Bueno aunque Leaflet es menos complicado, OpenLayers es más potente y tiene más controles de mapa, así como una gran documentación. Soporta muchos tipos de datos y herramientas de edición, y aunque es vieja ha sido muy probada.

      OSM ha pasado de utilizar OpenLayers a utilizar Leaflet en su página principal por ser más sencillo y ligero…

Los comentarios están cerrados.