0

我有包含纬度和经度的 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 元素,但是对于我需要的解决方案来说,文档似乎相当有限。

谢谢

4

1 回答 1

0

听起来您正在寻找创建“专题图”,而不是“热图”。

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

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

实现细节在simplekml 文档中。

于 2017-05-12T21:05:59.640 回答