2016-05-16 12 views
3

私はDjango 1.7にPostgreSQL 9.3の背後にあります。指定された円内のDjangoポイントの距離

私は幾何学的なフィールド円でモデルを保存し、与えられた点が保存されている幾何学的円の中にある場合に真または偽を得ることができます。私はそう(questionと右とそれを行うための簡単な方法は何ですかlibraryもこのoptionので、私は失われてしまった...

ことは、それは点と半径を保存し、それを計算した方がよいことがわかりました私はdjango-postgres-geometryをインストールする必要がありますか?)、またはDjangoとPostgreSQLを更新する必要がありますか?

答えて

2

これを達成するには、PostGIS拡張がPostgreSQLにインストールされている必要があります。これは、DjangoとPostgresが空間計算に使用するものです。

ポイントは、あなたがDjangoのシェルで次の操作を行うことができます円であるかどうかを確認するには、次の

from django.contrib.gis.geos import Point 
    point = Point(45.3, 34.2, srid=4326) # lon, lat 

    # check if point in polygon 
    mypoly.contains(point) # this returns True/False 
+0

私はジャンゴとPostgreSQLの私のバージョンでそれを達成することができますか私はアップグレードする必要がありますか? – Rada

+1

@RadaあなたのバージョンのDjangoとPostgresはうまくいきます。PostgresデータベースにPostgresデータベースにインストールされている3番目のライブラリが必要です。http://postgis.net/これはDjango/Postgresが空間計算に使用するものです – djq

+0

@ djq-私のモデルでは、DjangoがcircleFieldを使用するためのライブラリが必要ですか?私はどのようにフィールドを作成し、postgresqlでそれを保存すると思いますか? – Rada

関連する問題