gpt4 book ai didi

django - 如何在django rest framework gis中转换几何

转载 作者:行者123 更新时间:2023-12-01 15:29:10 25 4
gpt4 key购买 nike

我是 Django 的新手,正在使用 Django Rest Framework (DRF) 和 GIS 开发 REST API。以前,我使用 SQL 查询来转换几何:

select
id,
name,
round(value::numeric, 2) as value,
st_transform(geometry, 3857) as geometry
from
my_model

...

class MyModel(models.Model):
name = models.CharField(max_length=50, blank=True)
value = models.FloatField()
geometry = models.GeometryField(null=True, blank=True)


class Meta:
db_table = u'my_model'

def __unicode__(self):
return '%s' % self.name

这里是序列化类:

class MyModelSerializer(serializers.GeoModelSerializer):
class Meta:
model = MyModel
fields = ('id', 'name', 'value', 'geometry')

我也试过这样做但是不能转换输出

class MyModelViewSet(viewsets.ModelViewSet):

queryset = MyModel.objects.all().transform(3857)
serializer_class = MyModelSerializer

如何在 Django Rest Framework 和 GIS 中执行此操作?我在哪里可以获得 DRF 的查询示例或综合教程?

最佳答案

已解决:

srid 参数添加到转换函数。我正在考虑作为

transform(srid)

第一个参数是 srid 但应该是这样的

transform(srid=3857)

class MyModelViewSet(viewsets.ModelViewSet):

queryset = MyModel.objects.all().transform(srid=3857)
serializer_class = MyModelSerializer

关于django - 如何在django rest framework gis中转换几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22449406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com