Home » GIS Career » GIS Programming Tutorials: Learn How to Code

GIS Programming Tutorials: Learn How to Code

GIS Programming in Python

Learn to write code for free in any GIS programming language

What do successful self-taught GIS programmers eat for breakfast?

They eat a healthy dose of Python, JavaScript, SQL, VB.NET, C++, HTML, CSS… In that order, these are the most popular GIS programming languages.

It’s not necessary to have programming skills to land a job in the GIS industry. But it’s a feather in your cap if you do. And it will certainly help.

If you’re just starting, here are some of the best, free GIS programming resources available to pave your way to coding competency:

Get certified in GIS programming

Learn GIS programming today. Start a new career or get a pay increase or promotion. Here are some courses that can give you a unique opportunity to boost your GIS programming skills:

If you don’t want to invest the time and money in yourself, there are always free alternative options (without the certification).

GIS Programming in Applications – Python, C++, .NET, C#

Python has been a standard language in GIS because Esri and open source tend to gravitate toward it. Because you can leverage so many Python libraries, many consider this GIS programming language to be the front-runner.

python logo

In addition to Python, GIS programmers use C++, C#, and .NET. C++ lets you work in multiple environments. While C# and the .NET languages offer you good development tools and interaction with Windows-based software.

We suggest learning Python first because it’s usually the first language a company looks for.

Here are 3 starter courses to start your journey into Python programming:

But you won’t truly learn Python unless you apply it:

For example, build your own toolbox to manage, process, or display GIS data of your own.

New Toolbox

A good example would be to analyze a large Excel file. Import that data into ArcGIS and run an analysis on that shapefile with your Python script.

Show off your new skills on your portfolio page. Add to your CV that you have a working knowledge of Python programming.

GIS Programming - Python, JavaScript, R and More
GIS Programming – Python, JavaScript, R and More

The big advantage of using Python is this:

You automate workflow and repeat redundant tasks. If you can save a company time and money with a working example, you’re as good as gold.

If you get good at Python, it isn’t that hard to transfer your skills to JavaScript. This is the way to go for developing your own web mapping applications.

1. JavaScript – Make Your Webpages Interactive

Web development is all the buzz these days.

…And the GIS industry is no exception as it is gravitating more these days with cloud-based platforms like ArcGIS Online.


Starting with the basics, HTML is the markup language that gives structure to web pages like headings, tables, and lists. While CSS stylizes webpages with layouts, it also provides color, fonts, and size.

But HTML and CSS are easy to learn. Your biggest hurdle is JavaScript. If you really want to make your webpage dynamic, then take a look at JavaScript.

Because JavaScript is run in a browser, it manipulates the behavior of your web-based content. In fact, Esri’s Javascript API is the successor of Flex and Silverlight.

READ MORE: 15 High-Tech Webmaps and Webscenes Examples Using Esri’s JavaScript API

Actually, HTML, CSS and JavaScript all work together to create dynamic web content. In addition, the Dojo toolkit provides language utilities and UI components.

Again, the assumption is starting at zero. These 3 courses deliver a good base in JavaScript and some HTML/CSS:


From here, it’s time to challenge yourself. Put your knowledge to action with a project of your own. For example, create your own personal web map project by starting simple. Take latitude and longitude coordinates and put them on a web map with Leaflet, ESRI API or D3.

You’ve gone through the necessary courses. You’ve put your knowledge into action. It’s time to give your resume a boost and tell employers. At this stage, it wouldn’t be unreasonable to add working knowledge of HTML, CSS, JS upon completion.

2. Leaflet and OpenLayers – Build Sophisticated Webmaps

Rich web maps often use open-source JavaScript libraries like Leaflet.js to really bring them to life. JavaScript libraries are code someone else has written to make life easier for the rest of us. This is the same as how Python modules are distributed. For example, JQuery, three.js, and bootstrap are JavaScript libraries in use today.

When you use Leaflet, you can build your own web map from this JavaScript library. This is why JavaScript is so good with interactive viewing in GIS. Leaflet.js is well documented and easy to learn. You can do almost anything with JavaScript from spatial analysis to robust basemap servers.

Leaflet Map
Example of Leaflet Map

As technology improves, web development is going to require using 3D visualization tools such as WebGL and Esri’s JavaScript API 4. Here is a course to fine-tune your GIS programming skills:

  • Use OpenLayers 3 Examples gives code examples of clusters, animations, GeoJSON, heatmaps, WebGL and more.

But you won’t truly learn how to create dynamic web maps unless you apply it.

QGIS Webmap
QGIS web map example

Test your knowledge with a more complex web map project. For example, make a web map with at least 2 toggleable layers. From this project hopefully, you will find why HTML, CSS, JavaScript, XML, JQuery, and AJAX are valuable in web development. As GIS technology shifts to the cloud, web development may just be a better career choice.

3. SQL and UML – Databases Management

Almost all modern database systems (DBMS) can use SQL. A big part of GIS is database entry, editing, and maintenance. For example, SQL queries, inputs, and deletions all fine-tune your data.

Database Management System

You should be familiar with SQL and be able to perform SELECT, INSERT, MODIFY, and DELETE statements. Join, relate and further SQL knowledge is greatly valued in the field.

Here are some courses to brush up your SQL:

When given a database, explore the data models within it. Understand the structure of the database. This database design structure is often represented in UML diagrams.

It’s often the case you can use design tools like Microsoft Visio. Most design work for data models use it.

But the best advice is to:

Practice, practice, practice!

Come up with a project and practice using your new SQL skills. If an employer asks for a portfolio, you have some good examples to share.

4. R Spatial – Statistics and Data Analytics

Statisticians and data miners use R for open statistical software development and analysis.

What you may not have known is that it’s already being adopted in GIS.


This is because R can visualize and analyze spatial data. It emphasizes statistics, but it can do both.

It’s not a bad idea to learn some programming languages/packages that are not strictly tied to ArcGIS. And for this reason, R is often recommended:

5. Object-Oriented Programming (OOP)

Object-oriented programming (OOP) is a must-have skill for a GIS programmer. OOP is about maintaining code as objects and reusing code through instantiation.

You can apply OOP in conjunction with your programming language of choice.

Database schema

Most GIS development is leaning toward the OOP paradigm. And you should too! Mastering the concepts of OOP will propel your career forward in GIS programming.

  • Udacity’s Object-Oriented JavaScript helps you build your own blocks of code as libraries and avoid copying and pasting lines of code.

GitHub and CodeAcademy Coding Community

Finally, you may be wondering why so many people use GitHub.

GitHub is like a Facebook for developers. It’s an open community that helps developers see what their peers are working on.


Developers can inspect the entire history of a project by version. They can also study a projects’ code and modify it on their own.

  • How to use Git and GitHub (Udacity) – Use version control over the life of a project and optimize collaboration through GitHub. While you’re doing it this may seem pointless. Don’t skip it! (How to use Git and GitHub)

Over 25 million people use CodeAcademy because it’s great for learning syntax. It’s not only for syntax, but you can interactively take lessons in Python programming.

But CodeAcademy comes at a cost for the PRO version courses. Test it out, and it might be a good investment to start in Python.

    Learn to Code in Python Interactively (CodeAcademy) – If you want to just start coding somewhere, CodeAcademy has the interface for you to do so. (Learn to Code Interactively, For Free)

From Zero to Somewhat of a Coding Hero

Code all day.

Debug all night

Knowledge in GIS programming is a nice showpiece for your CV. Learn multiple GIS programming languages and you’ll be a grand slam.

Agree or disagree with the article? Let us know with a comment below.


  1. Great Post. I would like to know, if we learn all these things. How can we break through into the field of GIS programming? What sort of companies hire people who can use GIS and code as well? What are the typical pays in this field?

  2. Thanks for this article. It has helped me streamline my thoughts and also provide a well-needed roadmap for my GIS Programming journey.

  3. As a beginner, this is all I need to know about programming languages for GIS and WebGIS. Thanks a ton!

  4. Very interesting with lots of inspiring and thought provoking suggestions. I can’t wait getting my hands on most of suggested programming self trials. Thank you very much for the motivation.

  5. This post has really given me a road map to greatness. I am no longer confused on what path to take. THANK YOU!!

Leave a Reply

Your email address will not be published. Required fields are marked *