Geography for Hackers - Teaching all how to hack geography and GIS to think spatially!

View on GitHub

Geography For Hackers

Geography for Hackers - Teaching all how to hack geography, use GIS, and think spatially!

This will be a four part course that uses the academic and practical knowledge of geography, as well as free open source GIS projects, to teach professionals from any field of labor or study how space, place, scale, and time matters. This understanding can and will have extremely positive effects on daily activities and professional practices. Essentially, I’ll be teaching anyone how to “hack” geography for their specific use cases and hopefully making geographic thought commonplace.

This course is meant to be a cumulative process. That means in order to get the most out of this course, it is highly recommended that you take sections 1 through 4+ in order.

P1 - Introduction to Geography and GIS

This is the most important section of this course! We begin with a brief history to show the extreme relevance of geography in the world. We then explore fundamental concepts that compose the field of geography and how that relates the more technical fields of Geographic Information Systems (GIS) and GIScience. The remainder of this section is dedicated to exploring the art and science of making maps, better known as cartography. With the advent of the Internet, many applications have changed how we view maps. This review of cartographic principles will aid in understanding how one takes a 3D Earth and represents it as accurately as possible in a 2D, 2.5D, and/or 3D medium. We will wrap up by reviewing several different types of maps, their standards, and their intended functions.

P2 - Using QGIS for Analysis

This section takes the fundamentals of geography and cartography from P1 and allows you to apply them within the QGIS spatial analysis software. QGIS is an Open Source project that allows us to create, edit, visualize, analyze, and publish spatial data in a variety of ways. We will go over topics such as installation, graphical user interface (GUI), plugins, and tool sets. We will then walk through the process of analyzing both vector and raster data sets.

The materials for this class are from the FOSS4G GeoAcademy (click on the GitHub link for the lab data). Due to the length of this section, we will only be working with portions of this curriculum, but I encourage you to go through all of the labs following the class.

P3 - Using OpenGeo Suite for Analysis/Deployment

This section expands on the desktop techniques you explored in P2 with QGIS and builds into the world of web-based applications, databases, and virtualization. OpenGeo Suite is a collection of open source projects put together into an easy-to-use environment by Boundless. We will explore how to load and manage data through GeoServer as well as how to create and control web maps with OpenLayers. We will be using virtual machines (VMs) to implement and run our servers (VirtualBox). This very brief course will expose the student to a variety of skills that are critical to GIS today.

A pre-built VirtualBox VM will be available for your use. However, if you wish to build your own, I used Ubuntu Server, OpenGeo Suite, and VirtualBox. We will use some of the same data from P2 in this section.

P4 - Python Programming for GIS

This section touches on the specific GIS application of Python 2.X through a hands-on course in the use of the QGIS python library PyQGIS. We will explore the basics of scripting plugins and stand-alone programs, task automation, and data/GUI manipulation.

The content for this course can be found in The PyQGIS Programmers Guide and the QGIS Python Cookbook (information on the Python and C++ API are here as well). The data for this course can be found here.

P5 - Remote Sensing with Hackable Devices

Coming soon!

Future Course

Please contant me directly, submit issues, or create wikis if you think there should be additional content or if there is content missing. I’ll modify or add content ASAP!


If there are any questions and/or concerns regarding this course and/or its content, please go to and contact us! While you’re there, follow us on Facebook and Twitter for the all the latest and greatest.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.