2017-01-13 9 views
0

Excelファイルを使用してGoogle Earthで使用されている.KMZファイルを構成するポリゴンの塗りつぶしプロパティ(Color)を変更または操作する方法を調べようとしています。Excelワークブックデータを使用してGoogle Earthポリゴンプロパティを変更する方法

例: "Districts"という名前のKMZファイルには、398の別個の区域ポリゴンがあります。私は彼らが所属する州の間で分かれた同じ地区のリストを持つExcelワークブックを使います。各地区には、7日間にわたって毎日カタログ化されたセキュリティインシデントがあります。ポリゴン名は1列、インシデント数は1列。

各地区のExcelシートのデータ(数値)に従って塗りつぶしの色で塗りつぶすポリゴンのプロパティを変更するにはどうすればよいですか?

例:0-2の事件=グリーン、3-5事件=黄色と> 5事件=レッド

私は、これらのカテゴリに該当地区は、塗りつぶしと、対応する色を持っていると思います。

GEフォーラムのほとんどは死んでおり、サードパーティのソフトウェアは使用できません。

答えて

0

テンプレートKMLを使用して同様のタスクを実行します。私はKMLファイルを文字列にロードしてからスプレッドシートを繰り返し、アクセントのあるカラー値トークンをモメントで必要な色に置き換えます。私は必要なものを見つけるために文字列検索を使用しますが、置き換えられるテンプレートに独自の定義されたトークンを使用できます。

add reference to Microsoft Scripting Runtime 
Dim fso As New FileSystemObject 
Set AQI_Numbers = Sheets("AQI_Data").Range("AQI_Numbers") 

    ' add color to region placemarks in KML model 
For col = 1 To AQI_Numbers.Columns.Count 
    Date_String = Format(AQI_Numbers.Item(-1, col), "YYYY_mm_dd") 
    Set ts = fso.OpenTextFile(fso.GetParentFolderName(ModelPath3) & "\AQI_Regions_Model3.kml.txt", ForReading) 
    msKML = ts.ReadAll 
    ts.Close 
    For row = 1 To AQI_Numbers.Rows.Count ' range on sheet 
     s = AQI_Numbers.Item(row, 0) ' region name 
     t = InStr(msKML, "<name>" & s & "</name>") 
     ' replace next <color> value 
     t = InStr(t, msKML, "<PolyStyle>") 
     t = InStr(t, msKML, "<color>") + 7 
     t2 = InStr(t, msKML, "</color>") 
     Mid(msKML, t, t2 - t) = GetKMLColor(AQI_Numbers.Item(row, col)) 
    Next 
    ' save this day's KML 
    Set ts = fso.OpenTextFile(fso.GetParentFolderName(ModelPath3) & "\AQI_II_Maps\AQI_" & Date_String & ".kml", ForWriting, True) 
    ts.Write msKML 
    ts.Close 
Next 
関連する問題