Простая база данных широта/долгота + целочисленная?

Существует ли быстрая и постоянная база данных для хранения значений широты, долготы и целого числа для быстрого геопространственного поиска?

Идея состоит в том, что у меня есть много идентификаторов разных вещей, и я хочу искать по квадратам широты и долготы все идентификаторы в заданном месте.

Моей первой мыслью было творческое использование хранилища ключей и значений, таких как membase или Redis. Однако я не могу найти метод поиска на основе таких свойств, как широта и долгота, за исключением создания блоков широты и долготы заданного размера и размещения всех идентификаторов в качестве значения (что не очень хорошо работает).


person Xeoncross    schedule 22.07.2011    source источник


Ответы (2)


Как насчет Spatiallite, geocouch, mongodb с пространственным расширением или postgis? Не используйте MySQL — в нем не реализовано большинство пространственных функций.

person TheSteve0    schedule 24.07.2011
comment
Я не знал о Spatiallite — зная, насколько легким является SQLite, это звучит как отличный проект для тестирования. Проблема с GeoCouch, MongoDB и PostGIS заключается в том, что они представляют собой гораздо больше, чем просто хранилище широты и долготы. Каждый из них занимает много мегабайт памяти только для загрузки системы и не оптимизирован для больших наборов данных с небольшими значениями, такими как три числа с плавающей запятой. Тем не менее, PostGIS или встроенный в память Spatiallite кажутся лучшими основными вариантами, которые я нашел до сих пор. - person Xeoncross; 25.07.2011

Я бы выбрал MongoDB. Он прост и имеет хорошую поддержку геопространственного индексирования и запросов окрестностей.

http://www.mongodb.org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-Querying

person Community    schedule 25.07.2011