2

由于geoDjango,我正在尝试查询我的PostGis数据库,但我遇到了一个错误,我在互联网上找不到解决方案。

    close_loc=PlanetOsmPoint.objects.get(way__distance_lte=(lePoint, D(**distance_from_point)))

无论我尝试打印结果(close_loc),我都有这个错误:

django.db.utils.DatabaseError: Only lon/lat coordinate systems are supported in geography.

由于transform(SRID),我尝试将其转换为正确的格式,但没有解决任何问题,仍然是同样的问题。

这里有一些信息:

转型 :

sr1=SpatialReference('54004')
sr2=SpatialReference('NAD83')
ct=CoordTransform(sr1, sr2)

获得 close_loc 后我在做什么:

close_loc.transform(ct)
print close_loc[0]

close_loc 类型是 GeoQuerySet。我怎样才能利用这个结果?

4

1 回答 1

1

transform() 函数需要一个整数,而不是字符串。正确的语法是:

close_loc.transform(new_srid_number)

在你的情况下,是这样的:

close_loc.transform(54004)

希望它会工作!

于 2013-09-05T08:39:20.187 回答