通过Zipcode进行Django距离搜索

时间:2013-02-01 01:56:12

标签: django search distance

我想根据输入的美国邮政编码的距离进行搜索。

首先,我知道我需要一个搜索表单:

class SearchForm(forms.Form):
    zipcode = forms.CharField(max_length=5)

然后我将这些选项传递给下一个视图,我根据输入的参数进行过滤。这对我来说很棘手..我已经搜索了很多,似乎有很多解决方案。我使用this post作为参考会给我这样的东西:

def display_map(request, zipcode):
    objects_near_zip = Thing.objects.filter(location__distance_lte=(Point([zipcode]), D(mi=5)))

但我需要将邮政编码转变为一个点。我该怎么做?您使用过更好的解决方案吗?谢谢你的想法!


编辑:

我找到了this discussion,但实施对我来说有点难以理解。我创建了一个Zipcode模型,这是有道理的。

但我不确定如何在邮箱中加载拉链码如何或在哪里加载:

lm = LayerMapping(Zipcode, 'tl_2008_us_zcta5.shp',
                   { 'code' : 'ZCTA5CE',
                     'mpoly' : 'MULTIPOLYGON',
                   })
lm.save()

我在哪里放置此代码? shp文件很大,甚至在我的桌面上花了很长时间,所以我不确定这是最好的解决方案。

0 个答案:

没有答案