【问题标题】:How to assign to a Django PointField model attribute?如何分配给 Django PointField 模型属性?
【发布时间】:2014-07-23 21:40:57
【问题描述】:

您好,我有一个 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

【问题讨论】:

标签: python django geodjango


【解决方案1】:

在较新版本的 Django 中,您可以:

from django.contrib.gis.geos import Point
pnt = Point(1, 1)

https://docs.djangoproject.com/en/1.11/ref/contrib/gis/geos/ 中有大量示例

【讨论】:

    【解决方案2】:

    你可以使用:

    from django.contrib.gis.geos import GEOSGeometry
    A.geoCoords = GEOSGeometry('POINT(LON LAT)', srid=4326) # 
    

    其中latlon 分别表示latitudelongitudesrid 是可选的,表示Spatial Reference System Identifier

    您可以在此处查看有关如何绘制不同几何图形的更多信息:https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/#what-is-geos

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      相关资源
      最近更新 更多