字符串或 unicode 输入无法识别为 WKT EWKT 和 HEXEWKB

问题描述 投票:0回答:2

这可能是一个简单的问题,但我似乎没有弄清楚。我正在使用 GeoDjango,并且我将纬度和经度转换为字符串(请参阅 my_lat 和 my_long)。

由于某种原因,当我在 fromstr('POINT(my_long_lat)') 中使用 my_long_lat 变量时,它不喜欢它,并且收到此错误:

无法识别字符串或 unicode 输入 如 WKT EWKT 和 HEXEWKB

我的代码:

my_lat = str(lat)[1:10]
my_long = str(long)[21:31]
my_long_lat = my_long + " " + my_lat
mypoint = fromstr('POINT(my_long_lat)')

为了确保变量 my_lat 和 my_long 具有正确的数据,我打印了它们,它们显示了这些值:my_lat 为 30.751277,my_long 为 -101.25。

如果我只是输入这样的值: mypoint = fromstr('点(-101.25 30.751277)') 没有生成错误,但显然我需要使用变量来传递数据。

有什么想法吗?谢谢!

django gis postgis geodjango
2个回答
10
投票

此行按字面解释:

fromstr('POINT(my_long_lat)')

尝试

fromstr('POINT(' + my_long_lat + ')')

0
投票

def create_point_from_lat_long(纬度, 经度): ”“” 根据纬度和经度创建一个 Point 对象。 ”“” # 确保纬度和经度是浮点数 纬度 = 浮点数(纬度) 经度 = 浮点数(经度) # 创建并返回Point对象 返回点(经度,纬度)

© www.soinside.com 2019 - 2024. All rights reserved.