2015-03-14 3 views
0

В моем проекте Django я бы использовал MySQL.Запрос ближайших точек GeoDjango с использованием MySql

У меня есть объект, который содержит широту и долготу.

Мне нужно выполнить поиск, чтобы найти все точки, ближайшие (по параметрам расстояния), к геопотоку.

Возможно, мне нужно использовать GeoDjango, но у меня есть некоторые сомнения относительно совместимости с MySQL и запросом геоданных. В частности, я прочитал это documentation page и Таблицы совместимости (я не вижу distance_lte для MySQL: есть ли у меня это?)

Возможно ли использовать этот тип функциональности в моем проекте с использованием MySQL и GeoDjango?

Могу ли я использовать эту функцию? Предпочтительнее использовать другие СУБД, например PostgreSQL?

ответ

2

Чтобы использовать материал измерения расстояния в GeoDjango, вам понадобится postgreSQL: геопространственное расширение MySQL не поддерживает измерение лат/дальнего расстояния. Кроме того, если вы используете геопространственное расширение MySQL, вам придется использовать таблицы MyISAM вместо InnoDB.

Если вы не привязаны к GeoDjango, вы можете использовать MySQL. Вам нужно будет сделать некоторую работу, чтобы сделать ваш поиск эффективным. Глянь сюда. http://www.plumislandmedia.net/mysql/haversine-mysql-nearest-loc/

Если вы хотите использовать геопространственный вид, см. Здесь. http://www.plumislandmedia.net/mysql/using-mysqls-geospatial-extension-location-finder/

Смежные вопросы