【问题标题】:Creating a kml file for google earth - Heat/colour map required为谷歌地球创建一个 kml 文件 - 需要热量/颜色图
【发布时间】:2017-05-12 14:18:52
【问题描述】:

我有包含纬度和经度的 csv 数据。我希望创建一个“热图”,其中一些地标是基于对应于 csv 中每个 lat+long 点的值的某些颜色。

import simplekml
import csv


kml = simplekml.Kml()
kml.document.name = "Test"

with open('final.csv', 'rb') as f:
    reader = csv.reader(f)
    first_row = reader.next()    # removes csv header string

    long = col[1]
    lat  = col[2] 
    for col in reader:
        pnt = kml.newpoint()
        pnt.name = 'test-name'

        pnt.coords = [(long, lat, 10000)]
        pnt.description = col[0]           # timestamp data
        pnt.style.labelstyle.color = 'ff0000ff'




kml.save("test.kml")

此脚本创建一个 kml 文件,在使用 google earth 进行检查时会显示数据点,但我也需要某种图形输入。

simplekml 包似乎不支持这些东西。关于什么 python 包最适合获得“热图”或类似的东西的任何建议?甚至我可以直接在脚本中添加 kml 元素,但是对于我需要的解决方案来说,文档似乎相当有限。

谢谢

【问题讨论】:

    标签: python kml google-earth simplekml


    【解决方案1】:

    听起来您要创建“专题图”,而不是“热图”。

    看起来您正在使用pnt.style.labelstyle.color = ... 添加颜色。 LabelStyle 是指与图标关联的文本标签,而不是图标本身。您可能想要的是根据您的属性值引用不同颜色的图标。你应该能够做到这一点:pnt.style.iconstyle.icon.href = ...。指定彩色图标图像,或使用白色图像并使用style.iconstyle.color = ... 应用颜色。

    KML 的最佳做法是设置多个共享样式,每个图标颜色一个,然后使用pnt.style = ... 将相关样式应用于每个点。

    实现细节在simplekml documentation

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      相关资源
      最近更新 更多