我是 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/