геоджанго - поиск по городу, штату или почтовому индексу - PullRequest
0 голосов
/ 12 января 2010

Как я могу использовать geodjango для поиска по городу и штату или почтовому индексу в моем приложении django? Я очень плохо знаком с геоджанго и просто пытаюсь обернуть голову вокруг того, что может быть вовлечено в это.

Кроме того, кто-нибудь знает приложение, которое уже реализует эту функцию?

Ответы [ 2 ]

2 голосов
/ 19 февраля 2010

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

zip = 10010
zipcode = ZipCode.objects.get(number=zip)
Store.objects.filter(coordinates__in=zipcode)

или что-то в этом роде.

0 голосов
/ 31 августа 2011

Я собираюсь попробовать что-то похожее в ближайшее время ... У меня есть небольшая база данных примерно из 40 мест, и я хочу, чтобы пользователь мог фильтровать эти 40 мест, введя любой почтовый индекс или название города, используя функцию, которая вернет список местоположений, которые находятся в радиусе 5, 10, 15, 20 и т. д.

Я думаю об использовании веб-сервисов геокодирования для хранения широты / долготы для каждого местоположения в базе данных. Затем, когда пользователь вводит название города или почтовый индекс, используйте один вызов веб-службы, чтобы получить его широту / долготу, и выполните простой нетригонометрический расчет расстояния (пройденного расстояния) в понимании списка Python.

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

...