我尝试从形状文件中读取数据并将其保存到数据库中。这里是我的代码
lyr = ds[0]
for feat in lyr:
geom_t = feat.geom.transform(wgs84, clone=True)
print(geom_t.wkt)
print(feat.geom.wkt)
name =''
Twoway='1'
data = {
'name': name,
'Twoway': Twoway,
'geom': geom_t.wkb
}
form = Street_Form(data)
if form.is_valid():
savedlocation = form.save()
好吧它保存并且工作正常。在保存到数据库之前,我将一些几何图形打印为wkt,这是结果
print(geom_t.wkt): LINESTRING (50.9847540637495 35.8384680697353,50.9850968571006 35.8383655346687)
print(feat.geom.wkt): LINESTRING (50.9847540637495 35.8384680697353,50.9850968571006 35.8383655346687)
正如你所看到的那样EPSG:4326
并没有错。
这是我的模特
class str(models.Model):
geom = models.LineStringField(srid=4326)
但是当我从数据库中读取数据时,它们如下所示
"LINESTRING(0.000457917485762628 0.000321907544087987,0.000457920236524686 0.000321915031075541)"
以上结果来自此查询
select st_astext(geom) from public."app_str"
好几何都是错位的,问题出在哪里?为什么会这样?