views:

527

answers:

3

I want to create a floor plan map of an interior space that has clickable regions. My first thought was to investigate GeoDjango since its the mapping app for Django. But considering the dependencies, the learning curve and overall complexity, I'm concerned that I may be trying to swat a fly with a bazooka.

Should I use GeoDjango for this, or should I just store integer lists in a database field?

EDIT: The floor plan would be fairly simple; a collection of walls and workstations with the ability to define regions for how much space the workstation occupies, thus allowing offices to be defined as well as open plan layouts.

+1  A: 

IMHO using GeoDjango for a floor plan isn't a bad idea. But if your data does not change much and the amount of data (rooms, areas, workstation, ...) isn't very large, then you might not need a database and a full GeoDjango stack.

A simpler solution would be using OpenLayers directly with an image of the a (maybe scanned) floor plan as background layer. OpenLayers lets you also define region and points (markers) which handle "mouse over" or click events.

An example of using OpenLayers for a floor plan is Office Plans via Open Layers.

f3lix
+1  A: 

I'd say that using GeoDjango for this purpose is definitely overkill.

It could be implemented simply with an image map, or Canvas/SVG or Flash for extra pretty-points :)

mikl
I've been considering Flash or AJAX from the beginning, but wanted to know if I should exploit GeoDjango as a backend for storing and editing the polygons.
Soviut
Well, you certainly can, but there's a non-trivial amount of work involved with it. So if you suspect to use GeoDjango again in the future, it can be a good investment to learn it with a smaller project such as this.
mikl
I've gone the route of implementing it with a simple comma separated integer field and Flash to draw it all and do rollovers.
Soviut
+1  A: 

How often will the floor plan change? From your description a simple image with a imagemap would suffice.

Andrew Wilkinson
People get moved around quite a bit, so while the actual image may not change, the points on the map that relate workers to specific regions/polygons will be updated fairly often.
Soviut