GIS Programming Tutorials: Learn How to Code

GIS Programming in Python

Learn to write code in any GIS programming language with the FREE courses

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

They eat a healthy dose of Python, JavaScript, SQL, VB.NET, C++, HTML, CSS… But not Flash! 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:

Learn to Code Through Practice

If you want to learn how to code, sometimes the best way to learn to code is to stray away from GIS and purely focus on the coding aspect. Because the more you get to practice coding, the more comfortable you’ll feel with it.

One of the most popular ways to learn how to code is by practicing coding directly through your browser. Here are the top interactive coding platforms that enable you to do this.

If you’re interested in other online interactive coding platforms, here are some of the other top options to help build your programming skills:

1. Get certified in GIS programming and Python

Python has been a standard language in GIS because Esri and open source tend to gravitate toward it. If you’re new to GIS programming, we suggest learning Python first because it’s highly sought after. By leveraging Python libraries, many consider this GIS scripting language to be the front-runner.

python logo

First, learn GIS programming with our top recommended picks. Here are some FREE courses that can boost your GIS programming skills:

  • Fundamentals and Best Practices of Python Programming – Learn variables, conditionals, and loops to control the flow of your programs. You’ll harness the power of complex data structures like lists, sets, dictionaries, and tuples.
  • Write Clean Code in Python – Leverage Python libraries like NumPy, Pandas, and Matplotlib to wrangle your data. The focus of this course is on data analysis and engineering.
  • The Coding Dictionary – This course demystifies the daunting lingo and jargon that’s common in development. You’ll learn about what a programmer does each day and about version control.

Each free course can help you start a new career or get a pay increase or promotion. If you are interested in learning the #1 programming language in the world, here are Python courses and certificate programs to learn this powerful language.

READ MORE: 10 Python Courses and Certificate Programs

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

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

NET Logo

Here are 3 starter courses to begin your journey into programming in applications. All courses are FREE and self-paced.

  • C++ For Programmers – This C++ course focuses on ‘how’ as opposed to ‘what’. Instead of teaching what a function is, it teaches you how to create a function in C++.
  • Object Oriented Programming in Java – Build interactive Java programs with objects, inheritance, and collections. OOP is about maintaining code as objects and reusing code through instantiation. No matter what programming language you choose, you can apply OOP in conjunction with it.
  • Esri Training Courses and MOOC – Esri’s list of courses teaches you scripting language and how to automate GIS tasks on Esri ArcGIS desktop.

READ MORE: C++ Certification: Best Online Courses and Programs

3. JavaScript – Make Your Webpages Interactive

If you really want to make your webpage dynamic, JavaScript runs in a web browser and manipulates the behavior of your web-based content. For example, Esri’s Javascript API is the successor of Flex and Silverlight.

JavaScript

If you’re just starting at zero, these FREE courses deliver a good base in JavaScript:

  • Intro to JavaScript – This introductory course to JavaScript helps you build modern web applications that form the foundation for any app, website, or system.
  • Object-Oriented JavaScript – Learn how to build apps with maintainable code by using the object-oriented programming features within the JavaScript framework. Instead of copying and pasting lines of code, OOP helps you build your own blocks of code as libraries.

Web development is all the buzz these days… And the GIS industry is no exception as it is gravitating more these days to interactive web maps and cloud-based platforms like ArcGIS Online.

Get started with these free GIS programming tutorials in JavaScript. If you’re seeking out this highly in-demand programming language, then check you can also find free courses available on Codecademy. Learn more about this online platform in our Codecademy review.

READ MORE: JavaScript Certification Courses

4. SQL and UML – Databases Management

GIS systems rely on database entry, editing, and maintenance for managing data. And almost all modern database systems (DBMS) use SQL (Structured Query Language).

Database

Here are some FREE courses to brush up and even upgrade your SQL:

  • SQL for Data Analysis – SQL queries help you manage data in a relational database. This course teaches you how to use SQL to store, query, and manipulate data.
  • Intro to Relational Databases – Learn the necessary skills to write code using a database as a back-end. Also, it teaches how to use the Python API for connecting Python code to a database.
  • Database Systems Concepts & Design – Georgia Tech teaches database design with a major real-world project. For example, databases use queries, inputs, and deletions all fine-tune your data.

If you want to work in GIS, 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.

When given a database, you should be able to explore the data models within it. UML diagrams outline the design structure of each database. This is where design tools like Microsoft Visio can simplify the structure design process.

Want to learn SQL, the language of databases? These SQL certification courses will help you gain a solid foundation in SQL to work confidently with databases.

READ MORE: SQL Certification Courses – Structured Query Language

5. R Spatial – Statistics and Data Analytics

Statisticians and data miners use R for open statistical software development and analysis. But what you may not have known is that GIS has already adopted this statistical computing, visualization, and analysis through R Spatial.

Sometimes, it’s best to learn some programming languages/packages that are not strictly tied to GIS. For these reasons, we recommend you enroll in these free courses in R:

  • Data Analysis with R – Visually analyze and investigate data with more formal statistical methods using R.
  • Intro to Statistics – Extract meaning from data by using statistics. This class will introduce you to techniques for visualizing relationships in data and systematic techniques for understanding the relationships using mathematics.
  • Data Visualization with R – Learn everything from the ggplot2 data visualization package for R and apply this concept to basic bar charts, histograms, pie charts, scatter plots, line plots, and box plots.

Although R emphasizes statistics, it’s not a bad idea to learn it because GIS relies on areas like geostatistics. But the best advice is to practice, practice, practice! Come up with a project and practice using your new R Spatial skills. If an employer asks for a portfolio, you have some good examples to share.

If you want to take it a step further, here are some R certification courses that statisticians and data miners use to develop their skills in this open statistical software development.

READ MORE: R Certification Courses for Statistical Computing

6. 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.

GIS Data Layers

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 for Beginners – Build map-based applications using LeafletJS. In addition, learn core concepts of LeafletJS
  • OpenLayers 3 Examples – This free resource 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. 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.

7. HTML and CSS Markup

Starting with the basics, HTML is the markup language that gives structure to web pages like headings, tables, and lists.

HTML and CSS

While CSS stylizes web pages with layouts, it also provides color, fonts, and size. In addition, the Dojo toolkit provides language utilities and UI components.

  • Intro to HTML and CSS – Start with the necessary baby steps in this course that teaches you the fundamentals of HTML and CSS. HTML, CSS, and JavaScript all work together to create dynamic web content.

If you’re working with JavaScript already, you will find why HTML, CSS, 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.

READ MORE: Full Stack Developer Certification

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.

GitHub

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

  • How to use Git and GitHub – 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!
  • CodeAcademy – Learn to code for free. CodeAcademy has interactive, hands-on learning for all levels with guidance every step of the way

Apply Your Skills

From here, it’s time to challenge yourself. Put your knowledge into action with a project of your own. Pick any of the GIS programming skills above and it’s time to work with it.

GIS Programming - Python, JavaScript, R and More

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. If you get good at JavaScript, it isn’t that hard to transfer your skills to Python.

If you want to learn Python, build your own toolbox to manage and process. For instance, import an Excel file into ArcGIS and run an analysis on that shapefile with your Python script. Remember that the big advantage of using Python is: 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.

Show off your new skills on your portfolio page. Add to your CV that you have a working knowledge of Python programming. 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.

READ MORE: 10 GIS Career Tips to Help Find a GIS Job

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.

You may also like...