2009-03-02 13 views
6

Desidero creare una mappa della pianta di uno spazio interno con regioni cliccabili. Il mio primo pensiero è stato quello di indagare su GeoDjango dal suo l'app di mappatura per Django. Ma considerando le dipendenze, la curva di apprendimento e la complessità complessiva, sono preoccupato che stia tentando di schiacciare una mosca con un bazooka.Devo usare GeoDjango per mappare una planimetria?

Devo usare GeoDjango per questo, o devo solo memorizzare gli elenchi di numeri interi in un campo di database?

MODIFICA: La pianta del pavimento sarebbe abbastanza semplice; una collezione di muri e postazioni di lavoro con la possibilità di definire le regioni per quanto spazio occupa la postazione di lavoro, consentendo così la definizione degli uffici e di layout di piano aperti.

+0

Quanto è complicato il tuo spazio interno? Quante regioni? – Harold

+0

Quanto spesso cambierà la planimetria? Dalla tua descrizione sarebbe sufficiente un'immagine semplice con una mappa di immagini. –

+0

Andrew, dovresti inserire il tuo commento come una risposta reale in modo da poterti invogliare. – Soviut

risposta

5

Direi che l'utilizzo di GeoDjango per questo scopo è decisamente eccessivo.

Potrebbe essere implementato in modo semplice con una mappa immagine, o della tela di canapa/SVG o Flash per pretty-punti extra :)

+0

Ho preso in considerazione Flash o AJAX dall'inizio, ma volevo sapere se dovevo sfruttare GeoDjango come back-end per l'archiviazione e la modifica dei poligoni. – Soviut

+0

Beh, certo, ma c'è una quantità non trascurabile di lavoro. Quindi, se si sospetta di utilizzare nuovamente GeoDjango in futuro, può essere un buon investimento apprenderlo con un progetto più piccolo come questo. – mikl

+0

Ho seguito il percorso di implementazione con un semplice campo intero separato da virgola e Flash per disegnare tutto e fare rollover. – Soviut

4

IMHO che utilizza GeoDjango per una pianta non è una cattiva idea. Ma se i tuoi dati non cambiano molto e la quantità di dati (stanze, aree, workstation, ...) non è molto grande, allora potresti non aver bisogno di un database e di uno stack GeoDjango completo.

Una soluzione più semplice utilizza OpenLayers direttamente con un'immagine della pianta del pavimento a (forse scansionata) come livello di sfondo. OpenLayers ti consente anche di definire regioni e punti (marcatori) che gestiscono il "passaggio del mouse" o fai clic sugli eventi.

Un esempio di utilizzo di OpenLayers per una planimetria è Office Plans via Open Layers.

1

Quante volte cambierà il piano piano? Dalla tua descrizione sarebbe sufficiente un'immagine semplice con una mappa di immagini.

+0

Le persone vengono spostate un po ', quindi mentre l'immagine reale non può cambiare, i punti sulla mappa che mettono in relazione i lavoratori con regioni/poligoni specifici verranno aggiornati abbastanza spesso. – Soviut

0

Una buona motivazione per l'utilizzo di GeoDjango può essere:

the access to the geographical cooridinates backend, 

e non produrrà solo bellezza guardando le immagini con scala arbitraria, ma gli oggetti che verranno geo-oriented, ciò che è cruciall se si vuole piano di utilizzare il piano creato per lo scopo di indoor navigation.

Considererò fortemente l'uso di GeoDjango e alcuni OpenLayer con supporto per GeoJSON.