当我尝试打开它和尝试将 KML 文件绘制到其中时,我遇到了 Google 地球冻结的问题。
打开谷歌地球:
有时,当我尝试打开 Google 地球时,它会冻结,同时:
加载 myplaces.kml,包括启用的覆盖
我假设这个问题是由以下事实引起的:如果我将保存到“我的地方”的 kmls 的总大小加起来,它们大约在 3MB 附近。当我在我的伴奏中搜索“我的位置”时,该文件的大小只有不到 400kb。我假设这意味着 Google 地球以不同的格式存储它。
无论如何,我该怎么办?我真的更愿意将所有内容保留在 Google 地球的“我的位置”中,因为每个文件都需要永远加载,但如果我需要删除“我的位置”并重新开始,我想我必须这样做。此外,我不能关闭 Google 地球并在它变为非响应式时重新打开它,因为它仍然无法正常工作。有时,如果我在它关闭后让它静置一会儿而不碰它,它就会打开。
在 Google 地球中绘制 kmls:
我尝试加载到 Google Earth 的 kml 文件范围从包含 177 个点的文件的大约 67kb 到包含 1172 个点的 454kb。我还必须绘制一个包含 2637 个点的 937kb 的 kml 文件。大多数情况下,要绘制要绘制的文件,我必须用记事本编辑 kml,删除除一个点之外的所有点,绘制该点,然后重新运行 Excel 宏以取回完整文件。然后我绘制它,这会导致此消息:
您确定要重新加载此文件,任何未保存的编辑都会丢失吗?
然后它通常在那个时候开始绘制就好了。如果我尝试在没有完成我刚才谈到的过程的情况下直接双击 kml 文件,Google 地球就会变得无响应。这是我的代码示例和它创建的部分 kml 文件的示例。
关于我可以做些什么来解决这些问题的任何想法?
使用“模板”为 kml 填写数据会更好吗?
笔记:
我在我的电脑上运行 Windows XP。我的老板正在运行 Vista Business,他通常比我更容易遇到这个问题。
我知道代码有点难看,需要清理,但我的老板告诉我不要打扰,因为我所做的不会用于生产,并且更多地专注于获取他需要的文件而不是制作代码更具可读性。请对丑陋从容。
这是我被交给修改以获取我们需要的数据的代码,因此我不知道与其他方法相比它的效率如何。
代码:
Sub Create_KML()
REM Builds KML from spread sheet
REM Open File For Random As #1 ' "c:\Users\mwilson\Desktop\Trash.txt
REM Open "c:\Users\mwilson\Desktop\Test Google\Trash.txt" For Output As #1
Open "C:\Documents and Settings\eecoop\Desktop\10 day avg rssi Google kml\MorrisAveOpelikaMIUS.kml" For Output As #1
i = 2
miuID = Range("A" & i).Text
RSSI = Range("C" & i).Text
ColID = Range("G" & i).Text
ColName = Range("F" & i).Text
Address = Range("M" & i).Text & ", Opelika, AL"
Print #1, "<?xml version=""1.0"" encoding=""utf-8""?>"
Print #1, "<kml xmlns=""http://www.opengis.net/kml/2.2"">"
Print #1, "<Document>"
While miuID <> ""
If RSSI >= -85 Then
DotColor = "Green.png"
ElseIf RSSI >= -95 Then
DotColor = "Yellow.png"
ElseIf RSSI >= -105 Then
DotColor = "Orange.png"
Else
DotColor = "Red.png"
End If
Print #1, " <Placemark>" '3
Print #1, " <name>"; RSSI; " / "; ColID; "</name>" '4
Print #1, " <description>"; miuID; " Owned by "; ColName; "</description>" '4
Print #1, " <Style>" '5
Print #1, " <IconStyle>" '6
Print #1, " <scale>.6</scale>" '7
Print #1, " <Icon>" '8
Print #1, " <href>"; DotColor; "</href>" '9
Print #1, " </Icon>" '10
Print #1, " </IconStyle>" '11
Print #1, " </Style>" '12
Print #1, " <address>"; Address; "</address>" '13
Print #1, " </Placemark>" '14
i = i + 1
miuID = Range("A" & i).Text
RSSI = Range("C" & i).Text
ColID = Range("G" & i).Text
ColName = Range("F" & i).Text
Address = Range("M" & i).Text & ", Opelika, AL"
Wend
Print #1, "</Document>"
Print #1, "</kml>" '15
Print #1, " "
Close #1
End Sub
KML:
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>-108 / 4</name>
<description>110001124 Owned by Morris Ave.</description>
<Style>
<IconStyle>
<scale>.6</scale>
<Icon>
<href>Red.png</href>
</Icon>
</IconStyle>
</Style>
<address>3501 BIRMINGHAM HWY, Opelika, AL</address>
</Placemark>
<Placemark>
<name>-95 / 4</name>
<description>110001146 Owned by Morris Ave.</description>
<Style>
<IconStyle>
<scale>.6</scale>
<Icon>
<href>Yellow.png</href>
</Icon>
</IconStyle>
</Style>
<address>2100 INDUSTRIAL BLVD, Opelika, AL</address>
</Placemark>