我正在尝试使用google的polyline.encode功能对从csv文件中获取的一组坐标进行编码。此函数采用以下格式的坐标
polyline.encode([(38.5, -120.2), (40.7, -120.9), (43.2, -126.4)], 5)
我读取 csv 和格式的每一行并将其传递给一个变量,然后添加括号,以便 polyline.encode 可以运行它。但是我的代码在那里中断。我需要将其转换为字符串吗?
这是我的 for 循环函数,它可以正确格式化坐标
filename = 'coords.csv'
file = open(filename, encoding="utf8")
result = ""
for line in file:
currentline = line.split(",")
result += '('+currentline[1]+', '+ currentline[2]+')'+','
coords = f'[{result}]'
print(coords)
然后打印坐标 然后我试着打电话
polyline.encode(coords)
我的脚本中断了
编辑:折线要求我给出坐标正弦元组格式
:param coordinates: List of coordinate tuples, e.g. [(0, 0), (1, 0)].
任何帮助或建议不胜感激。
您需要使用由Tuple
数据类型组成的列表,现在您只是使用格式化为看起来像Tuple
元素列表的字符串。
试试这个:
filename = 'coords.csv'
file = open(filename, encoding="utf8")
coords= []
for line in file:
currentline = line.split(",")
coords.append(( float(currentline[1]), float(currentline[2]) ))
print(coords)
polyline.encode(coords)