首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过Excel工作簿数据修改Google Earth多边形属性

如何通过Excel工作簿数据修改Google Earth多边形属性
EN

Stack Overflow用户
提问于 2017-01-13 23:02:18
回答 1查看 363关注 0票数 0

我正在尝试了解如何使用Excel文件来更改或操作多边形的填充属性(颜色),这些多边形组成了在Google Earth中使用的.KMZ文件。

示例:名为“地区”的KMZ文件有398个独立的地区多边形。我使用excel工作簿,列出了所属省份的相同学区列表。每个地区都有7天的每日安全事件目录。一列表示多边形名称,另一列表示事件数。

根据每个区的Excel工作表数据(编号),将多边形的属性更改为填充颜色需要采取什么措施?

示例: 0-2个事件=绿色,3-5个事件=黄色,>5个事件=红色

我只希望落入这些类别的地区有一个填充和相应的颜色。

大多数GE论坛都死了,我不能使用任何第三方软件。

EN

回答 1

Stack Overflow用户

发布于 2017-02-02 23:58:23

我使用一个模板KML文件执行类似的任务。我将KML文件加载到一个字符串中,然后迭代电子表格,并将近似的颜色值标记替换为我当前需要的颜色。我使用字符串搜索来查找我需要的内容,但您可以在要替换的模板中使用您自己定义的标记。

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41637508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档