Not the Shortest Path: Animating Geospatial Data in Blender

Animated runs from my days back in Sherbrooke. Can you spot Mont Bellevue?

What is 'Not the Shortest Path'?

Some Context

Side Note on Converting .fit

How to learn Scripting in Blender?

A First Attempt at Importing a Road Network

  • A data class for the object we want to create brings a specific discipline and structure to our script.
  • The material function should be imported within the script and made accessible to all other custom scripts.
  • We should figure out a way to externalize the actual initialization logic of our data and how we initialize it.
  • Altogether avoiding hard-coded values can become extraordinarily daunting and perhaps even overwhelming for an outside user.

The Structure of Custom Blender Add-Ons

bl_info = {
"name": "My Test Add-on",
"blender": (2, 80, 0),
"category": "Object",
def register():
print("Hello World")
def unregister():
print("Goodbye World")
  1. The description contains the general information about our add-on.
  2. The variables define the options presented to an end-user.
  3. The execute method determines the precise instructions to follow.
  4. The register method so the engine can access our add-on.
  5. The unregister method so the engine can disable our add-on.
Searching for our custom road network add-on
Add-on menu appearing at lower left

Refactoring the Road Network Import Script

The GPX Animation Add-On

The Gradient Coloring by Distance from Point Add-On

The Gradient Coloring by Distance from Point Add-On


GPX animation with the new approach discussed in the next episode. Skippy because of the GIF format used.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Zachary Déziel

Zachary Déziel

Product Manager @ Anagraph. Geogeek and outdoor enthousiast. Twitter @zacdezgeo