这可能是一个简单的问题,但我似乎没有弄清楚。我正在使用 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)') 没有生成错误,但显然我需要使用变量来传递数据。
有什么想法吗?谢谢!
此行按字面解释:
fromstr('POINT(my_long_lat)')
尝试
fromstr('POINT(' + my_long_lat + ')')
def create_point_from_lat_long(纬度, 经度): ”“” 根据纬度和经度创建一个 Point 对象。 ”“” # 确保纬度和经度是浮点数 纬度 = 浮点数(纬度) 经度 = 浮点数(经度) # 创建并返回Point对象 返回点(经度,纬度)