我有包含纬度和经度的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元素,但看起来文档对于我需要的解决方案来说相当有限。
由于
答案 0 :(得分:0)
听起来你正在寻找创建一个专题地图"而不是"热图"。
您似乎正在使用pnt.style.labelstyle.color = ...
添加颜色。 LabelStyle是指与图标关联的文本标签,而不是图标本身。您可能想要的是根据您的属性值引用不同颜色的图标。您应该可以使用:pnt.style.iconstyle.icon.href = ...
执行此操作。指定彩色图标图像,或使用白色图像并使用style.iconstyle.color = ...
应用颜色。
KML的最佳做法是设置多个共享样式,每个图标颜色一个,然后使用pnt.style = ...
将相关样式应用于每个点。
实施细节位于simplekml documentation。