You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python将CSV站点坐标生成KML路径文件 解决线路不显示问题

路径无法显示的核心原因
  • CSV读取配置错误:默认csv.reader按逗号分隔字段,但你的CSV是多空格/制表符分隔,读取后每行仅返回1个元素,取row[1]、row[2]等索引时获取的是空值/报错,生成的路径坐标无效。
  • 坐标格式不符合要求:原始坐标带°符号为字符串类型,simplekml要求coords参数必须传入数值格式的(经度,纬度) 坐标对,字符串无法被KML阅读器识别。
修正后可运行代码
import simplekml

kml = simplekml.Kml()

# 按行读取适配多空格分隔的CSV格式
with open('FBCRN.csv', encoding="utf8", errors='ignore') as f:
    # 跳过前2行表头
    next(f)
    next(f)
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 按任意空白字符拆分,自动合并连续多空格
        parts = line.split()
        # 去除坐标中的°符号,转换为浮点数
        a_lat = float(parts[1].replace('°', ''))
        a_lon = float(parts[2].replace('°', ''))
        b_lat = float(parts[4].replace('°', ''))
        b_lon = float(parts[5].replace('°', ''))
        # 生成线路,KML坐标顺序为(经度,纬度)
        lin = kml.newlinestring(name=f"{parts[0]}-{parts[3]}", coords=[(a_lon, a_lat), (b_lon, b_lat)])
        lin.style.linestyle.color = 'ff0000ff'
        lin.style.linestyle.width = 10

kml.save('FBG.kml')
调整说明
  • 改用按行读取+按空白字符拆分的方式适配你的CSV格式,避免分隔符不匹配问题
  • 新增了坐标格式处理逻辑,删除°符号并转换为浮点数,符合KML坐标规范
  • 线路名称调整为「起点-终点」格式,方便在KML阅读器中识别,你可按需修改

内容的提问来源于stack exchange,提问作者Kourosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:36:07