Developing GIS Software and working with Geospatial Data is an interesting domain in software development. The ability to contextualize information by analyzing the physical space around opens doors for developing novel solutions to hyper local problems. Simple and unsophisticated legacy tools like the phone book become billion dollar businesses when combined with web accessible maps and location aware search. The bar for utility is very attainable when you add maps to whatever problem you’re trying to solve.

GIS Software is complicated

As I’m sure you know if you’ve found your way here, the software tools for working with geospatial data are powerful but can be pretty confusing. They tend to try and make everything possible with the consequence of making most things complicated. This is not criticism. I love GDAL and OGR. I use QGIS on a daily basis. But I also spend quite a lot of time checking the documentation for relatively simple tasks.

We can do much better.

Goals

The short-term goal of LearnGIS is to gather, document, and index the fundamental tools and APIs used to accomplish common GIS tasks.

Most of the time, this will be about OGR. Sometimes it’ll reference GDAL. Other times it’ll be about working QGIS or other libraries like PyShp or Proj.4. Examples will be in both C++ and Python, and Node where possible.

It won’t be about ArcMap or other proprietary Esri tooling; I want to focus on the most accessible technologies possible.

In the medium term, I plan to publish some libraries that help make developing with the aforementioned tools easier. More on that to come.

Finally, later this year I will publish an e-book on GIS Software Development Fundamentals. Very cool stuff is on its way.

Keep in touch

To keep in touch, join the email list. I’ll remind you when the book comes out.

If you have suggestions for articles, reach out to requests@learngis.dev