2017-05-12 33 views
0

私は緯度と経度を含むcsvデータを持っています。 csvの各lat + longポイントに対応する値に基づいていくつかの目印が特定の色で表示される「ヒートマップ」を作成します。Google Earthのkmlファイルを作成する - ヒート/カラーマップが必要です

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") 

このスクリプトは、Google Earthでの検査でデータポイントを表示するkmlファイルを作成しますが、私はある種のグラフィカル入力も必要とします。

シンプルなパッケージがこのようなことをサポートしているようには思えません。パイソンパッケージは、ヒートマップやそれに沿ったものを得るのに最適です。あるいは、スクリプト内に直接kml要素を追加することもできますが、必要と思われる解決策のために限られていると思われるドキュメントがあります。

おかげ

答えて

0

あなたは「テーマ別マップ」ではなく、「ヒートマップ」を作成するために探しているような音。

色を追加するのにpnt.style.labelstyle.color = ...を使用しているようです。 LabelStyleは、アイコン自体にではなく、アイコンに関連付けられたテキストラベルを参照します。おそらくあなたの属性値に基づいて異なる色のアイコンを参照することです。あなたはそれを行うことができる必要があります:pnt.style.iconstyle.icon.href = ...。色付きのアイコンイメージを指定するか、白いイメージを使用してstyle.iconstyle.color = ...の色を適用します。

KMLのベストプラクティスは、各アイコンの色ごとに1つずつ、いくつかの共有スタイルを設定し、各ポイントにpnt.style = ...という関連スタイルを適用することです。

実装の詳細はsimplekml documentationです。

関連する問題