こんにちは私はDjangoモデルを次のように持っています:
class Address(models.Model):
geoCoords = models.PointField(null=True, blank=True,)
次に、このモデルのインスタンスを作成します。
A = Address()
AのgeoCoordフィールドの座標を(5.3、6.2)に設定するにはどうすればよいですか?このようにポイントフィールドが割り当てられている例は見つかりません。それはとてもばかげた単純な質問です。実際、A.geoCordに割り当てたい座標はpygeocoderからのものです。フロートの2アイテムタプルです。
Django PointFieldsのドキュメントは基本的に non-existant です。
Djangoの新しいバージョンでは、次のことができます。
from Django.contrib.gis.geos import Point
pnt = Point(1, 1)
https://docs.djangoproject.com/en/1.11/ref/contrib/gis/geos/ で利用可能な多くの例
次を使用できます。
from Django.contrib.gis.geos import GEOSGeometry
A.geoCoords = GEOSGeometry('POINT(LON LAT)', srid=4326) #
ここで、lat
とlon
はそれぞれlatitude
とlongitude
を意味し、srid
はオプションであり、Spatial Reference System Identifier
を示します。
さまざまなジオメトリを描画する方法の詳細については、こちらをご覧ください: https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/#what-is-geos