Хотите знать о GeoDjango и картографических сервисах? - PullRequest
4 голосов
/ 26 ноября 2011

Я пытаюсь создать свое первое ГИС-приложение с помощью GeoDjango, и у меня есть несколько вопросов, прежде чем я начну:

Первое: для чего конкретно GeoDjango по отношению к Google Maps? Это просто для обработки информации, которая затем передается в службу, такую ​​как Google Maps?

Если это правда, в чем преимущество использования GeoDjango по сравнению с простым хранением длинных / длинных точек в БД и передачей их в Google Maps?

Если предположить, что все вышесказанное верно, если я вдруг захочу сменить провайдеров карт (скажем, с Google на Bing), GeoDjango сделает это намного проще и модульнее?

У меня небольшие проблемы с пониманием взаимосвязи между GeoDjango и картографическими сервисами, если бы кто-то мог прояснить это для меня на некоторых примерах, это было бы здорово.

Next: Если у меня есть существующий проект в GeoDjango, который я хочу интегрировать, использующий MySQL, должен ли я перенести все на PostgreSQL, потому что GeoDjango плохо работает с MySQL? Что я должен делать с точки зрения баз данных?

1 Ответ

8 голосов
/ 29 ноября 2011

Как сказано в документации :

GeoDjango - это надстройка для Django, которая превращает его в географическую веб-среду мирового класса.GeoDjango стремится максимально упростить создание географических веб-приложений, таких как сервисы на основе определения местоположения.Некоторые функции включают в себя:

  • Поля модели Django для геометрий OGC.
  • Расширения к ORM Джанго для запросов и манипулирования пространственными данными.
  • Слабосвязанные, высокие-уровневые интерфейсы Python для геометрических операций ГИС и форматов данных.
  • Редактирование геометрических полей внутри администратора.

Вы можете легко обрабатывать информацию GeoDjango в Картах Google через Google MapsJavascript API.Преимущества GeoDjango - это специальные инструменты для работы с геометрическими типами информации.Например, такие типы полей :

  • GeometryField
  • PointField
  • LineStringField
  • PolygonField
  • MultiPointField
  • MultiLineStringField
  • MultiPolygonField
  • GeometryCollectionField

И интеграция базового уровня с пространственными базами данных и геопространственнымибиблиотеки :

  • GEOS
  • PROJ.4
  • GDAL
  • GeoIP
  • PostGIS
  • SpatiaLite

Если вы хотите сохранить возможность смены провайдера карт в будущем, рекомендуется использовать архитектуру frontend (map) - backend (GeoDjango).В этом случае вы можете легко изменить интерфейс или переключаться между разными картами.

Рекомендую также перейти на postgres, поскольку он имеет различные инструменты, такие как библиотеки GEOS, PROJ.4, PostGIS, которые могут быть полезны для работы с пространственными данными.MySQL имеет ограниченную функциональность, как сказано в документации.

...