繁体   English   中英

将PostGIS查询转换为Django QuerySet(geoDjango postgis)

[英]Translating PostGIS query to Django QuerySet (geoDjango postgis)

我试图弄清楚如何将PostGIS查询转换为GeoDjango:

def my_view(request, tempounix):
    conn.execute('SELECT ST_X(geom) as x, ST_Y(geom) AS y, accuracy, altitude, speed, tempounix '
        'FROM authapp_posizione '
        'ORDER BY tempounix DESC LIMIT 1;')

    x, y, accuracy, altitude, speed, timestamp = c.fetchone()

    data = {
            "geometry": {
                "type": "Point",
                "coordinates": [x, y],
             },
            "type": "Feature",
            "properties": {
                 "accuracy": accuracy,
                 "altitude": altitude,
                 "speed": speed,
                 "tempounix": tempounix,
             },  
        }
    return JsonResponse(data)

要使用Django的QuerySet和Django的ORM,您将需要定义模型并使用它们:

# models.py:
class Position(models.Model):
    geom = models.PointField(...)
    accuracy = models.IntegerField()
    altitude = models.IntegerField()
    speed = models.IntegerField()
    created_at = models.DateTimeField(auto_now_add=True, db_index=True)

现在:

 p = Position.objects.order_by("-created_at").first()
 if p:
     print(p.created_at, p.geom.coordinates, p.altitude)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM