GIS Programming Skills: An Overview

GIS Programming Skills
GIS Programming Skills

So which languages should you learn to excel in the Geospatial industry? A vast majority of job openings in the Geospatial industry require some expertise in gis programming, application development, and software management.Programming is employed with several goals in mind, whether or not it’s automating geoprocessing tasks or implementing an algorithm for all tasks, programming is a problem solving approach used in a long way. It helps us tackle those tasks that need a distinct degree of operations.This is one of the reasons why many GIS software allow us to access API for customizing their application according to our specific requirements.Listed below are the programming languages that are widely used in the Geospatial industry.

We will focus here on those most relevant programming languages to GIS, which essentially means the most popular languages today, along with a few GIS-specific languages. I will add a few general programming languages for GIS.

GIS Programming languages

Here is my list of current GIS programming languages, If you see anything that is missing, or you disagree, please point out by leaving a comment below on this page.

GIS Programming in Application

Python: Whenever I think about GIS programming, Python comes to my mind. Python is often used as a scripting language. It is currently gaining a lot of visibility as the primary scripting language for ArcGIS. Python is incorporated into many GIS Applications, for example, ArcGIS, QGIS, GRASS GIS, gvSIG, and also in other open source projects, that make the language worth knowing.

C# — C# was Microsoft’s response to Java and is the leading programming language for .NET. So, if you were starting to write a new add-on to ArcGIS, it would probably be the best choice. Some examples are ArcGIS (ArcObjects), ArcGIS Runtime SDK.NET, NetTopologySuite, MapWindow.

Visual Basic.NET — VB.Net is now basically an alternative syntax for the same C# runtime. All the power and complexity.

C/C++ — One of the most well-known languages among developers, and useful for desktop applications. Whether it was for Windows or Linux, C++ has a long line of successful applications it supported and still does. Most of the software we use in our everyday life was written in C++ like ArcGIS, Windows OS, Firefox, MS Office, so it isn’t going away anytime soon. A few examples are ArcGIS, QGIS, SAGA GIS, GRASS GIS, MapServer, ILWIS, Mapnik, GDAL.

Java — Java is used when you develop the backbone of the application, especially for desktop applications as an alternative to C/C++ or C#. It is one of the contenders for the most popular Open Source GIS languages, used in the GeoServer projects for example. Java has proven itself as a, particularly useful language even for map servers. Some Examples are GeoServer, GeoTools, ArcGIS Runtime SDK, gvSIG, OpenJump, uDig, WhiteBox (GAT), Java Topology Suite etc. Last but not the least, most of the times today Android apps are built with Java language, thus you’d have to know it if you want to go in that direction.

R — R is freely accessible to users under the GNU (General Community License). It is a programming language which is perfect for data science, graphic design, geostatistical, and for geospatial study. QGIS and ArcGIS application have script printed in R. We have recently seen that ESRI decided to provide support R in their ArcGIS suite of application.You can also get R in QGIS as well. Some examples are rgdal, rgeos, ggplot2, ggmap, leaflet for R.

Ruby — This is an older language that has become more popular recently. Ruby got major attraction due to Ruby on Rails, which made it easy to set up a database-backed application. This has been extended to web maps by GeoCommons. Some other interesting neogeography sites such OpenStreetMap also done in Ruby.

Must Read: Mapping the World with OpenStreetMap

Web GIS Programming

JavaScript — Without a doubt, current leader for Web User Interfaces. Google Maps is a heavy user of JavaScript, and so is the leading open source web map client (OpenLayers). JavaScript is one of the core languages of the web. Nowadays JavaScript is present in pretty much every browser, website or web applications, this makes it a reasonable choice for development of web mapping applications. Some of the examples are: ArcGIS Web APIs, MapBox, CARTO, Google Maps API, OpenLayers, Leaflet, the list can go on.

Database GIS Programming

SQL — SQL is used as a database access and control language. SQL is at the heart of many GIS operations. It’s one of the languages with a long history in GIS, that is being joined in numerous applications. You can have look at OpenStreetMap database overview in case you want to know more. This means SQL is set to remain relevant into a world of concurrent processing. Some of the examples are ArcGIS, PostGIS, CARTO, QGIS, MapInfo, and much other GIS software.

Why learning GIS programming is important?

Learning programming are the foundational skill sets for any technical jobs in the future. Significantly for the GIS – there’ll be repetitive kind of work like copy of gis data, data conversions in different format, spatial analysis etc. Also, most GIS product suites provides API’s to perform the geoprocessing task. Particularly, ArcGIS and QGIS have all the geoprocessing task available in Python. By this we can do batch processing and automation using programming language.

There are many programming languages present in GIS world and are difficult to say which programming language is the best one to learn. It may be a smart thought to have a grip on both Desktop and Web development languages, similar to Python and JavaScript for instance.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.