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

如何将Plotly散点图导出为KML文件?解决格式报错问题

问题解答

Plotly是否支持导出KML?

Plotly的write_image方法不支持导出KML格式。这个方法是用来导出静态图像文件(比如报错提示里的png、jpg、svg等)的,而KML是存储地理空间数据的矢量格式,不在它的支持范围内,这就是触发ValueError的直接原因。

解决方法

你已经导入了Geopandas和simplekml,完全可以用这两个工具直接生成KML文件,不用依赖Plotly的导出功能:

方法1:用Geopandas快速导出KML

直接利用Geopandas的to_file方法,指定KML驱动即可:

import geopandas as gpd

# 加载数据(和你原有代码一致)
gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_cities"))
# 导出为KML文件
gdf.to_file("test.kml", driver="KML")

方法2:用simplekml自定义标记样式导出KML

如果需要给标记添加自定义样式(比如模拟Plotly散点的显示效果),可以遍历数据点手动构建KML:

import geopandas as gpd
import simplekml

gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_cities"))
gdf['LON'] = gdf['geometry'].x
gdf['LAT'] = gdf['geometry'].y

# 创建KML实例
kml = simplekml.Kml()
# 遍历每个城市添加点标记
for idx, row in gdf.iterrows():
    point = kml.newpoint(name=row['name'], coords=[(row['LON'], row['LAT'])])
    # 自定义标记样式:蓝色、放大1.5倍
    point.style.iconstyle.color = simplekml.Color.blue
    point.style.iconstyle.scale = 1.5

# 保存KML文件
kml.save("test_with_styles.kml")

补充说明

如果你既想用Plotly做可视化预览,又要导出KML,完全可以分开操作:用Plotly生成地图用于展示,同时用上面任意一种方法导出KML文件,两者互不影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:03:12