Должен ли я использовать GeoDjango для отображения плана этажа?
Вопрос
Я хочу создать план этажа внутреннего пространства с интерактивными областями.Моей первой мыслью было изучить GeoDjango с момента его тот картографическое приложение для Django.Но, учитывая зависимости, кривую обучения и общую сложность, я обеспокоен тем, что, возможно, пытаюсь прихлопнуть муху базукой.
Должен ли я использовать для этого GeoDjango или просто хранить целочисленные списки в поле базы данных?
РЕДАКТИРОВАТЬ: План этажа будет довольно простым;набор стен и рабочих станций с возможностью определения областей, в зависимости от того, сколько места занимает рабочая станция, что позволяет определять офисы, а также планировки открытой планировки.
Решение
Я бы сказал, что использовать GeoDjango для этой цели явно излишне.
Это можно реализовать просто с помощью карты изображений или Canvas/SVG или Flash для дополнительных приятных моментов :)
Другие советы
ИМХО, использование GeoDjango для плана этажа — неплохая идея.Но если ваши данные не сильно изменяются и объем данных (комнаты, площади, рабочая станция и т. д.) не очень велик, то вам может не понадобиться база данных и полный стек GeoDjango.
Более простым решением было бы использовать OpenLayers непосредственно с изображением плана этажа (возможно, отсканированным) в качестве фонового слоя.OpenLayers позволяет также определять область и точки (маркеры), которые обрабатывают события «наведения курсора мыши» или щелчка мышью.
Пример использования OpenLayers для плана этажа: Планы офиса через открытые слои.
Как часто будет меняться планировка?Судя по вашему описанию, достаточно простого изображения с картой изображений.
Хорошей мотивацией для использования GeoDjango может быть:
the access to the geographical cooridinates backend,
и вы будете создавать не просто красивые изображения произвольного масштаба, а объекты, которые будут geo-oriented
, что особенно важно, если вы планируете использовать созданный план в целях indoor navigation
.
Я рассмотрю возможность использования GeoDjango и некоторых OpenLayers с поддержкой GeoJSON.