Este artículo pretende analizar cuáles son los principales lenguajes de programación GIS hoy en día y dar razones para considerarlos como tal.
Características como la popularidad del lenguaje de programación, aplicaciones, versatilidad y especificidad frente a tareas o necesidades entorno a las soluciones geoespaciales son las claves necesarias para realizar este análisis.
En esencia, programar en clave GIS permite repensar el funcionamiento de los Sistemas de Información Geográfica, sus usos y sus objetivos.
Es indispensable para realizar análisis geoespaciales complejos, integrar software distinto, compartir y visualizar información espacial en la web e incluso para desarrollar herramientas específicas y especializadas para propósitos determinados.
La importancia de la programación GIS
El mundo de la programación es complejo a la vez que dinámico, ya que se encuentra en constante cambio, adaptación y evolución para poder dar respuesta a las necesidades de múltiples sectores profesionales.
En el sector geoespacial esto no es una excepción. Debido a su polifacética aproximación, existen multitud de soluciones, aplicaciones y funcionalidades que pueden encuadrarse dentro de lo que se podría denominar como desarrollo o programación GIS.
La captura, gestión, análisis y visualización de la información geográfica digital son procesos fundamentales que requieren de una serie de necesidades tecnológicas e informáticas distintas.
En muchos casos, diversas tecnologías y lenguajes de programación resultan ser complementarios y forman parte integral de alguno de los procesos descritos y, por ello, se convierten en imprescindibles.
¿Qué lenguajes de programación GIS aprender?
Si bien cada uno de los lenguajes de programación GIS se enfoca a una solución específica o a un proceso, lo cierto es que las tecnologías suelen ser dependientes unas de otras cuando hablamos, por ejemplo, de una aplicación web o móvil que trate información espacial.
En este sentido, no existe un lenguaje más importante que otro. Tan sólo podría hablarse de la popularidad del lenguaje en cuanto a su uso como solución tecnológica a una necesidad, entendiéndolo como indicador de su adecuación o capacidad para solventar y cubrir dicha necesidad.


Si tu perfil parte de carreras no estrictamente de corte informático es posible que se te haga cuesta arriba el aprendizaje de lenguajes de programación. No obstante, el mercado laboral tiende a tecnificarse gradualmente y se hace cada vez más necesario integrar dichas tecnologías como base de cualquier perfil profesional.
Si por el contrario ya dominas ciertos lenguajes de programación y quieres profundizar en el ámbito GIS y sus aplicaciones, sabrás perfectamente la importancia que tienen, pero puede que te preguntes a qué se orienta o para qué sirve cada lenguaje.
A continuación se listan los lenguajes más populares para GIS, extendidos y aplicados a proyectos vinculados a la geoinformación, la cartografía digital y los Sistemas de Información Geográfica.
Todos ellos se constituyen como parte fundamental de la gestión de la información de carácter espacial y por ello es muy probable que termines por aprenderlos e integrarlos en tu carrera profesional.
Asimismo, si necesitas información acerca de dónde y cómo empezar a realizar cierta formación en programación GIS puedes revisar este artículo sobre recursos de aprendizaje de programación GIS.
Principales lenguajes de programación GIS
SQL
El primero de ellos, a pesar de no tratarse de un lenguaje de programación estricto, sino de control y consulta, forma parte integral e indispensable del uso de las Bases de Datos, también espaciales.
Este lenguaje de consulta fue desarrollado por la empresa IBM en los años 70 y su uso está altamente expandido. De hecho, se conoce como el DML (Data Manipulation Language) o lenguaje de manipulación de datos más popular hoy en día.
Prácticamente todos los Sistemas Gestores de Bases de Datos tienen soporte para este lenguaje, entre otros: MySQL, PostgreSQL, Oracle, SQLite, MariaDB, Firebird, Microsoft SQL Server… Incluso dentro de los clientes GIS de escritorio más populares pueden realizarse consultas SQL para seleccionar o actuar sobre capas de información geográfica.


SQL es probablemente el lenguaje de programación GIS que primero deberías aprender, ya que sin él será imposible almacenar, gestionar, actualizar o consultar adecuadamente la información geográfica que forme parte de las soluciones GIS que integre.
Se trata, en general, de un lenguaje sencillo debido a su corta y sencilla gramática que resulta relativamente fácil de aprender. De hecho, con SQL vas a indicar qué acciones quieres realizar sobre la Base de Datos y los registros que ésta contiene.
No obstante, con SQL también se pueden llegar a realizar consultas complejas sobre nuestros datos (sean espaciales o no) almacenados en una Base de Datos relacional y operar con ellos para obtener análisis en profundidad.
Python
El lenguaje para programación en clientes GIS de escritorio por excelencia es Python. Se trata de un lenguaje de alto nivel cuya sintaxis es fácilmente legible (cosa que facilita su aprendizaje y lectura) y que está orientado a objetos.
La programación orientada a objetos es un paradigma de programación donde cada elemento o entidad se trata como un objeto definido mediante “etiquetas” y al cual se le pueden atribuir características definitorias o incluir bajo clases determinadas.
Python es un lenguaje muy popular que ha adquirido un papel preponderante a lo largo de los últimos años dentro del mundo de la programación por su versatilidad, facilidad de aprendizaje y por la irrupción del Big Data y el Data Science donde adquiere un rendimiento indiscutible.
Existen multitud de librerías que extienden su funcionalidad y eso ha permitido aumentar su uso de forma exponencial.


Python ha sido adoptado como lenguaje de programación para automatización de tareas mediante scripts por los dos GIS de escritorio más populares como QGIS y también por ArcGIS mediante los módulos PyQGIS y ArcPy.
Écha un vistazo a nuestro artículo acerca de cómo crear mapas con Python para visualización y análisis de datos espaciales.
Además, las aplicaciones de Python para GIS no sólo se limitan al entorno de escritorio, sino que pueden extenderse sus funcionalidades a la web mediante APIs concretas como la ArcGIS API for Python que dispone el propio ESRI.
JavaScript
JavaScript es el lenguaje de la web por excelencia rivalizando con PHP, aunque notablemente más popular que este. La unión de HTML, CSS y JavaScript son el tridente necesario para adentrarse en el diseño y la programación de páginas y aplicaciones web.


De forma breve, JavaScript permite implementar funcionalidades e interacciones con el usuario en navegadores web. Por ello, es la solución ideal para implementar en proyectos de web mapping donde la interacción y la navegación son esenciales.
Para facilitar su implementación y el desarrollo de mapas y visores de mapas web, existen multitud de librerías específicas para tal fin como OpenLayers, Leaflet, CARTO… entre muchas otras.
En este otro artículo puedes obtener información detallada acerca de las principales plataformas y librerías JavaScript para web mapping.
JavaScript, además, puede extenderse al entorno servidor mediante el cada vez más popular Node.js, casi nada.
Por todo ello, JavaScript es un lenguaje obligatorio si quieres realizar proyectos web, tanto si utilizan herramientas de web mapping como si no, además de ser relativamente fácil de aprender y tener la capacidad de ofrecer una infinidad de opciones.
Java
No nos confundamos: Java poco tiene que ver con JavaScript. Lo cierto es que este lenguaje de programación es algo más complejo que los anteriores y su curva de aprendizaje es notablemente más difícil.
Sin embargo, se trata de un lenguaje altamente implementado y muy popular debido a su gran flexibilidad, conteniendo multitud de APIs disponibles, extensiones y una gigantesca comunidad detrás.
Java se utiliza tanto en el Back-End o el entorno servidor de muchas aplicaciones GIS, como también en el entorno web. De hecho, Geoserver, el popular servidor de mapas para aplicaciones web está construido sobre este lenguaje.
Recomendamos que Java, a no ser que lo conozcas previamente, lo dejes apartado momentáneamente para centrarte en otros lenguajes más sencillos. Sin embargo, no deberías perderlo de vista pues es una opción muy interesante que puede que termines necesitando en un momento u otro.
R
El lenguaje de programación R se sitúa en otro escenario distinto a los anteriores. Esto es debido a que su mayor capacidad y principal propósito es el análisis, el procesado y la visualización de datos desde un punto de vista estadístico.
Su evolución es asombrosa y ha pasado de ser un lenguaje reducido al uso por parte de la comunidad científica o investigadora, a convertirse en un lenguaje tremendamente popular respaldado por una dinámica comunidad tras él.
Igual que ocurre con Python, esto es debido en parte al ascenso meteórico del uso del Data Science y el Big Data. En cierto modo, el ascenso de uno ha propiciado el desarrollo del otro y viceversa.
El “core” de R es relativamente pequeño. Sin embargo, existe una infinidad de librerías específicamente diseñadas para dotar de mayores ventajas a este lenguaje ante distintas necesidades y sectores.
El sector geoespacial no es una excepción. De hecho, R permite incorporar algunas de estas librerías que van a permitir automatizar tareas en cuanto a la gestión de información espacial. Efectivamente, R puede usarse como un auténtico GIS de escritorio de gran potencialidad por su capacidad de análisis y cálculo.


Es importante destacar que R contiene aspectos de análisis espacial y visualización de datos GIS vectoriales y ráster que convierten a este lenguaje en una opción nada despreciable para llevar a cabo análisis complejos, generación de gráficos, informes y vistas de mapas sencillos.
Si quieres ver un ejemplo de cómo utilizar R y sus capacidades para GIS y teledetección, puedes revisar este artículo donde mostramos cómo calcular el NDVI con R mediante ejemplos y detalles.
Además, R puede interactuar con QGIS de forma similar a como lo hace Python, otro punto más a su favor para incorporarlo a la lista de lenguajes de programación GIS imprescindibles.