为Google地球创建kml文件 - 需要热/彩色地图

时间:2017-05-12 14:18:53

标签: python kml google-earth

我有包含纬度和经度的csv数据。我希望创建一个热图'因此,某些地标是基于与csv中每个纬度+长点相对应的值的某些颜色。

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元素,但看起来文档对于我需要的解决方案来说相当有限。

由于

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找创建一个专题地图"而不是"热图"。

您似乎正在使用pnt.style.labelstyle.color = ...添加颜色。 LabelStyle是指与图标关联的文本标签,而不是图标本身。您可能想要的是根据您的属性值引用不同颜色的图标。您应该可以使用:pnt.style.iconstyle.icon.href = ...执行此操作。指定彩色图标图像,或使用白色图像并使用style.iconstyle.color = ...应用颜色。

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

实施细节位于simplekml documentation