Opciones para crear una arquitectura WEB GIS en un servidor

Una de las preguntas que se plantea un técnico GIS cuando quiere crear una aplicación WEB GIS, es cómo crear una arquitectura en un servidor para que sea accesible por todo el público en Internet. En esta entrada nos vamos a centrar en arquitecturas WEB GIS basadas en software libre.

Porque instalar una base de datos y un servidor GIS en local (localhost) es relativamente sencillo, pero trasladar esa arquitectura a la web es algo más complicado. Opciones hay muchas y dependiendo del tipo de complejidad de la arquitectura, volumen de datos, etc. será más conveniente utilizar una u otra opción.

1ª opción. Un servidor especializado en WEB GIS

Tienes que buscar un servidor que soporte el software GIS, algunos son HOSTgis o AcuGIS.

AcuGIS

En el caso de AcuGIS trabaja con la base de datos espacial libre más potente: PostGIS y con el servidor de datos espaciales GeoServer, uno de los más populares.

AcuGIS nos da la opción de instalar solamente PostGIS desde $10.

Pero la opción recomendada es el paquete OpenGeo Suite 4.8 Cloud Hosting por 55 dolares al mes. Que nos ofrece 50 Gb de almacenamiento. Un panel de control basado en cPanel (muy intutivo), y por supuesto, como en el resto de hosting, email, instalador de aplicaciones con un clic de wordpress, Drupal, ExtJS, jQuery, etc.

De este servidor destaca en la parte WEB GIS:

  • GeoServer
  • GeoExplorer
  • Private Tomcat Instance
  • PostgreSQL 9.3 or 9.4
  • Remote Access
  • PostGIS 2.1
  • GeoWebCache
  • OGR_FDW
  • ogr2ogr
  • GDAL, PROJ, GEOS
  • Daily PostgreSQL Backup
  • One-click PostgreSQL Restores
  • PostgreSQL SnapShots
  • PostgreSQL Clone DB

Recomendado para proyectos de cualquier tamaño.

MapServerPro

MapServerPro es un servicio de hosting GIS que nos proporciona alojamiento para las aplicaciones GIS más populres:.

  • Mapserver
  • GeoServer
  • QGIS Server
  • GeoMajas
  • GeoNetwork
  • MapBender
  • GeoMOOSE
  • p.Mapper
  • OpenGeo Suite
  • GeoNode
  • MapGuide
  • OpenLayers

2ª opción: Amazon Web Services

GIS en la nube

Con motivos suficientes para crear tu arquitectura GIS en la nube, Amazon nos ofrece la posibilidad de crear una arquitectura WEB GIS open source.

La instalación de PostGIS y/o GeoServer en una instancia de Amazon EC2 (Elastic Compute Cloud) tiene un coste de algunos pocos céntimos de euro por hora o incluso gratis puede servir para hacer alguna prueba.

Aqui tienes un excelente tutorial para configurar CentOS, PostgreSQL, PostGIS, Apache HTTP Server, Apache Tomcat y GeoServer en una microinstancia de Amazon:

AWS: Configuring a Geo-spatial stack in Amazon Linux

Podemos utilizar una microinstancia de Amazon, instalar Ubuntu 12.04 y a continuación la suite sobre Ubuntu

Otra opción es utilizar la suite de OpenGeo disponible en el Marketplace de AWS: se trata de esta versión.

En este caso la suite se instala en una instancia mlarge o xlarge (no está disponible la opción de instalar en una microinstancia),  OpenGeo Suite on Amazon Web Services tiene un coste de unos $1.75 por hora o $999 al mes. Además hay que sumar las tasas para el almacenamiento de datos.

Tendrás una arquitectura muy robusta con los mejores herramientas open source (PostGIS + GeoServer + GeoExplorer +GeoWebCache + OpenLayers), el servidor y el soporte en un único paquete. Esta opción es válida para grandes proyectos (es capaz de soportar millones de peticiones por hora).

3ª opción: Crear tu propio servidor web

Puedes crear un servidor web para poder publicar mapas en internet. Debes configurar la red para modificar localhost por la IP interna del servidor web y poner esa IP pública para que sea accesible desde una red externa.

Deberás redireccionar las peticiones que lleguen a la IP pública a la IP de tu servidor. Probablemente necesites la ayuda de un informático especializado en redes, pagar a tu proveedor de internet un extra y revisar la factura de la luz (piensa que para poder servir tus mapas en internet el servidor debe estar encendido las 24 horas del día). Aunque a priori te parezca una opción económica puede salir caro.

4ª opción: Utilizar un servidor compartido o un VPS

Un servidor barato con un plan compartido (hostgator, 1&1 o bluehost, etc) no te permitirá instalar otra cosa que no sea Apache/PHP/MySQL. No vas a poder instalar una base de datos como PostgreSQL, tampoco GeoServer o MapServer.

Lo que si puedes hacer en un servidor compartido es subir todos los archivos necesarios para crear una aplicación web mapping y crear un mapa web a partir de un shapefile sin crear una gran arquitectura GIS.

Por lo tanto si lo que quieres es un visor sencillo, puedes desarrollar tu aplicación con HTML/JavaScript.

En esencia se trata de colgar en nuestro servidor los archivos geoJSON o json que contienen la información espacial y un archivo html que contenga el código necesario para mostrar un sencillo visor.

Esta opción es la que utilizamos en el visor de ejemplo de la web del curso desarrollo de aplicaciones webmapping. Además también podrás subir a tu servidor los complementos que necesites.

Esta es la opción más barata, ya que por tan solo unos 5 $ al mes lo tienes solucionado.

Una opción válida para pocos datasets y datos sencillos.

Si dispones de un VPS o de un servidor dedicado sí podrás instalar tus propios programas. Hay cientos de proveedores (linodedinahosting, etc).

Necesitarás un servidor dedicado no administrado, de tal forma que seas tu quien lo administra con privilegios de root, configurando y utilizando el software que prefieras. La arquitectura para crear tu WEB GIS la eliges tú.

Antes de elegir un servidor necesitarás saber qué tipo de software vas a utilizar y revisar tanto los requerimientos de hardware del servidor como de sistema operativo. De esta forma tienes la capacidad de desplegar la arquitectura GIS teniendo el control sobre qué software has instalado.

GitHub

GitHub es una plataforma de desarrollo colaborativo de software para alojar proyectos utilizando el sistema de control de versiones Git.

El código se almacena de forma pública, aunque también se puede hacer de forma privada, creando una cuenta de pago.

GitHub es gratuito. Solamente necesitamos crear un usuario para subir los datos, es completamente gratuito.

Aquí tienes más información.

5ª  opción: Node.js + PostGIS

Al contrario que la mayoría del código JavaScript, Node.js no se ejecuta en un navegador, sino en el servidor. Para visualizar los datos (como geoJSON) podemos utilizar Google Maps, OpenLayers o Leaflet.

Cheap Hosting, PostGIS goodness, JavaScript simplicity

ONLINE GIS MAPPING WITHOUT GIS SERVERS

6ª  opción: Utilizar un servicio para crear y publicar mapas online

Bueno esta no es realmente una opción porque la arquitectura ya viene definida por la propia aplicación. No podemos elegir ni el sistema gestor de bases de datos. La plataforma se encarga de mantener nuestros mapas disponibles las 24 horas del día los 365 días del año.

Hay numerosas aplicaciones GIS que nos permiten publicar mapas online. En esta entrada hemos visto todas las ventajas e inconvenientes de utilizar un servicio para publicar mapas online, en lugar de crear una arquitectura propia.

Son gratuitas para un uso esporádico.

Como ves hay muchas opciones, incluso alguna más, que serán más aconsejables dependiendo de la envergadura del proyecto.

Para seguir leyendo:

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

12 comentarios en “Opciones para crear una arquitectura WEB GIS en un servidor”

  1. Hola Aurelio consulto, Cual de estos 3 software es mejor en cuanto funcionalidad y facidad de uso: Geoexplorer, Geonode o Geoshape?
    Gracias
    Saludos

    • Hola Juan,
      Me lo apunto para un post. Conozco GeoExplorer pero no las otras dos opciones, tendría que analizarlas bien.

      GeoExplorer es una aplicación que se bas en openLayers 2 + GeoExt con GeoServer como servidor GIS por detrás. Es basatnte completa, pero su desrrollo se ha detenido hace tiempo y solo esta disponible con OpenGeo Suite. Su uso es muy sencillo.

      Leo (http://geonode.org/user_features/) que Geonode incluye: GeoExplorer GIS client.

      Según la web de GeoSHAPE «GeoSHAPE is the integration of a geospatial portal (GeoNode), a web mapping client (MapLoom), and a mobile application (Arbiter). Y como componentes centrales GeoServer, GeoGit, GeoNode, OpenLayers 3.

      Por lo tanto tenemos a Geonode por detrás de GeoSHAPE, que a su vez incluye GeoExplorer.. no se, esto hay que verlo con detenimiento… ¿Y la opción de OpenGeo Suite qué te parece?

      Saludos!

      • Hola Aurelio gracias por la respuesta. Si estoy comenzando con este tema, para inplemenar un websig.
        La opcion GeoServer+GeoExplorer+posgis es interesante, pero me comentaron que en GeoExplorer no se podria configurar para que se pueda tener acceso a varios usuarios y cada usuario visualice su grupo de capas. Pero si lo podria hacer con Geonode o GeoSHAPE.
        Por eso estoy investigando cuales son las principales diferencias entre estos.
        Saludos

  2. Hola Aurelio,
    Muy útil tu web, estoy haciendo un trabajo para la universidad y quiero hacer una encuesta con respuesta espacial, es decir le preguntaré algo puntual a los encuestados y su respuesta la tienen que espacializar. He visto que con el API de Google maps se pudiera hacer. Tendrias algún tutorial específico para esto o curso que me pudiera servir. Gracias
    Saludos,
    Amalia,

  3. Hola Aurelio!

    Gracias por el artículo! Sigo tu blog con interés y hoy he aprendido algunos servicios que no conocía.

    Me parece interesante incluir plataformas que soportan la instalación de node.js+postgis. Permiten montar de una forma fácil un servidor web GIS para el manejo de datos vectoriales y suponen alternativas muy baratas (incluso gratuitas). Eso por no hablar de la velocidad a la que se está imponiendo nodeJS como arquitectura web y de que ya existe una versión adaptada de mapserver para node.

    Para ello está muy bien heroku y open shift.

    Un saludo

    • Hola Yannick,
      Muchas gracias por tu comentario. Pues mira yo también he aprendido una cosa nueva, no conocía ni heroku ni openshift, he estado mirando un poco y son buenas soluciones y además como comentas, son gratuitas para testear o pequeños proyectos. Es cierto que nodeJS tiene muy buena integración tanto con PostGIS como con mongoDB y con GeoServer también.
      Saludos!

    • Hola Víctor. Muchas gracias.
      Me alegro de que te haya gustado, hay muy poca información sobre este tema y siempre es interesante conocer qué opciones hay. En cuanto a AcuGIS es la mejor relación calidad-precio, y además con todo en cPanel para que sea más sencillo.
      Saludos!

Los comentarios están cerrados.