2009-03-02 7 views
6

Je veux créer une carte de plan d'étage d'un espace intérieur qui a des régions cliquables. Ma première pensée était d'enquêter sur GeoDjango depuis son l'application de cartographie pour Django. Mais compte tenu des dépendances, de la courbe d'apprentissage et de la complexité générale, je crains que j'essaie de faire une mouche avec un bazooka.Devrais-je utiliser GeoDjango pour cartographier un plan d'étage?

Devrais-je utiliser GeoDjango pour cela, ou dois-je simplement stocker des listes d'entiers dans un champ de base de données?

EDIT: Le plan d'étage serait assez simple; une collection de murs et de postes de travail avec la possibilité de définir des régions pour l'espace occupé par le poste de travail, permettant ainsi de définir des bureaux ainsi que des plans ouverts.

+0

Quelle est la complexité de votre espace intérieur? Combien de régions? – Harold

+0

À quelle fréquence le plan d'étage changera-t-il? De votre description une image simple avec un imagemap suffirait. –

+0

Andrew, vous devriez mettre votre commentaire comme une réponse réelle afin que je puisse vous upvote. – Soviut

Répondre

5

Je dirais que l'utilisation de GeoDjango à cet effet est définitivement exagérée.

Il pourrait être mis en oeuvre simplement avec une carte d'image, ou Canvas/SVG ou Flash pour de jolis points supplémentaires :)

+0

Je considérais Flash ou AJAX depuis le début, mais je voulais savoir si je devais exploiter GeoDjango comme un backend pour stocker et éditer les polygones. – Soviut

+0

Bien, vous pouvez certainement, mais il y a une quantité non-triviale de travail impliqué avec elle. Donc, si vous pensez réutiliser GeoDjango à l'avenir, cela peut être un bon investissement pour l'apprendre avec un projet plus petit tel que celui-ci. – mikl

+0

Je suis allé la route de l'implémenter avec un simple champ entier séparé par des virgules et Flash pour dessiner tout cela et faire des survols. – Soviut

4

IMHO utilisant GeoDjango pour un plan d'étage n'est pas une mauvaise idée. Mais si vos données ne changent pas beaucoup et que la quantité de données (pièces, zones, poste de travail, ...) n'est pas très importante, vous n'aurez peut-être pas besoin d'une base de données et d'une pile GeoDjango complète.

Une solution plus simple utiliserait OpenLayers directement avec une image du plan d'étage a (peut-être balayé) comme couche de fond. OpenLayers vous permet également de définir la région et les points (marqueurs) qui gèrent les événements "souris sur" ou "clic".

Un exemple d'utilisation d'OpenLayers pour un plan d'étage est Office Plans via Open Layers.

1

À quelle fréquence le changement de plan d'étage? De votre description une image simple avec un imagemap suffirait.

+0

Les personnes se déplacent beaucoup, donc bien que l'image réelle ne change pas, les points sur la carte qui relient les travailleurs à des régions/polygones spécifiques seront mis à jour assez souvent. – Soviut

0

Une bonne motivation pour l'utilisation de GeoDjango peut être:

the access to the geographical cooridinates backend, 

et vous ne produirez pas seulement la beauté à la recherche d'images avec échelle arbitraire, mais des objets qui seront geo-oriented, ce qui est cruciall si vous voulez plan pour utiliser le plan créé à des fins de indoor navigation.

Je vais considérer fortement l'utilisation de GeoDjango, et certains OpenLayers avec le support de GeoJSON.

Questions connexes