0

入力したアメリカの郵便番号からの距離で検索したい。

まず、検索フォームが必要であることはわかっています。

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

次に、これらのオプションを次のビューに渡し、そこで入力されたパラメーターに基づいてフィルター処理します。これは私にとって難しいところです..私はたくさん検索しましたが、これには多くの解決策があるようです. この投稿を参考として使用したところ、次のようなものが得られました。

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

しかし、郵便番号をポイントに変換する必要があります。どうすればいいですか?あなたが使用したより良い解決策はありますか?アイデアをありがとう!


編集:

私はこの議論を見つけましたが、実装は私には理解するのが少し難しいです。Zipcode私は理にかなっているモデルを作成します。

しかし、彼が投稿で言っているように、郵便番号をどこでどのようにロードするのかわかりません。

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

このコードはどこに配置すればよいですか? shp ファイルは非常に大きく、デスクトップでも時間がかかるため、これが最適なソリューションかどうかはわかりません。

4

0 に答える 0