Maps of Imaginary Lands


Maps of Imaginary Lands

Malcolm Tredinnick

The GIS features of Django aren't restricted to being applied to real world maps and planets. This talk will show how to display and interact with maps of imaginary lands, such as game maps or lands in science fiction novels. We'll uncover a bit of how Django GIS works in the process, separating the map display from the modeling.


Whilst django.contrib.gis isn't particularly difficult to get started with, particularly if you follow the tutorials, it can sometimes seem a bit overwhelming in the way it goes from zero to fancy maps in only a couple of steps. I'd like to demystify some of the pieces of the stack, pulling apart the modeling support — specifying the data are we trying to work with — from the display and client-side portion.

To make this more than a dry technical dive, I'll show how to add extras to an imaginary map, rather than something pulled from Google Maps or Open Street Map. We'll take on the task of plotting features on a landscape from a potential role-playing game and show how the GIS data manipulation features, such as calculating region intersections, nearby points, and javascript client-side display work the in a familiar way against this slightly unusual background.

Some basic familiarity with Django's GIS features would be useful for this talk, although it might also serve as a motivating introduction to trying things out. The code shown will be available for download after the talk.