Как реализовать хранилище и вычисления на основе геоданных?


person Mickey Shine    schedule 31.05.2010    source источник


Ответы (3)


Пространственные расширения систем реляционных баз данных обеспечивают хранение и индексированный доступ к типам данных geography/geometry. Они позволяют выполнять пространственные соединения и всевозможные пространственные запросы. Одним словом, они именно то, что вам нужно.

Если вы используете стек с открытым исходным кодом, я бы порекомендовал PostGIS, пространственное расширение для Postgresql. Если вы используете стек MS, попробуйте пространственные расширения для SQL. Сервер 2008.

person fmark    schedule 31.05.2010
comment
Что касается стека с открытым исходным кодом, MySQL также имеет геопространственную поддержку — dev.mysql.com/doc/refman/5.0/en/gis-introduction.html - person Mark Bowytz; 04.06.2010

У MySQL есть пространственное расширение с учебными пособиями здесь. Основная идея получения быстрых запросов состоит в разработке таблицы со столбцом с пространственным индексом, R- древовидный индекс, который быстр для запросов диапазона, таких как "дайте мне точки рядом с этой точкой".

Конечно, есть Postgres с PostGIS, и вы можете оплатить эту услугу у таких компаний, как SimpleGeo.

person David Xia    schedule 09.04.2011

Я бы порекомендовал вам рассмотреть GeoDjango
Это очень хорошо, так как он объединяет простоту Python/Django и мощь PostGIS. Но он также может быть сложным и предоставлять слишком много функций, что приводит к пустой трате времени.

Если у вас нет особых потребностей, есть другое более простое решение, которое можно использовать только с Django или Python, а именно Геопия. Не добавляя пространственные расширения в базу данных, он позволяет выполнять геопространственные вычисления с использованием общих структур данных (также любой базы данных). Вы можете рассчитывать расстояния, занимаясь (обратным) геокодированием. Взгляните на страницу Начало работы, а также непосредственно на code, так как он хорошо задокументирован. Я использую его для проекта Dynamic Carpooling, и он работает очень хорошо.

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

person Community    schedule 31.05.2010