简体   繁体   中英

Creating a kml file for google earth - Heat/colour map required

I have csv data containing latitude and longitude. I wish to create a 'heatmap' whereby some placemarks are certain colours based on values corresponding to each lat+long point in the 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")

This script creates a kml file that on inspection with google earth presents the data points but I want some kind of graphical input too.

It doesn't seem like simplekml package supports such things.. Any advice on what python package is best to get a 'heatmap' or something along those lines? Or even I can add kml elements directly in the script but the documentation it seems is rather limited for the solutions I require.

Thanks

Sounds like you're looking to create a "thematic map", not a "heatmap".

Looks like you're using pnt.style.labelstyle.color = ... to add colors. LabelStyle refers to the text labels associated with icons, not the icons themselves. What you probably want is to refer to differently colored icons based on your attribute values. You should be able to do that with: pnt.style.iconstyle.icon.href = ... . Either specify a colored icon image, or use a white image and apply a color with style.iconstyle.color = ... .

Best practice for KML would be to set up several shared styles, one for each icon color, and then apply the relevant style to each point with pnt.style = ... .

Implementation details are in the simplekml documentation .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM