我的KML文件有什么问题导致Google地球无法响应?

时间:2009-06-04 14:27:39

标签: kml google-earth

当我尝试打开它时以及当我尝试将KML文件绘制到其中时,我遇到了Google Earth问题。


打开Goog​​le地球:

有时当我尝试打开Goog​​le地球时,它会冻结:

  

加载myplaces.kml,包括启用的叠加层

我假设这个问题是由于如果我将已保存的kmls的总大小加到“我的地方”,它们就在3MB左右的某个地方。当我在我的comp中搜索“我的地方”时,该文件的大小只有不到400kb。我假设这意味着谷歌地球以不同的格式存储它 无论如何,我该怎么办?我真的更愿意将所有内容保存在Google Earth的“我的位置”中,因为每个文件都需要永久加载,但如果我需要删除“我的地方”并重新开始,我想我必须这样做。此外,我不能只关闭谷歌地球并在它变为非重新攻击时将其打开,因为它仍无效。有时如果我让它静置一段时间而不接触它关闭后它会打开OK。知道发生了什么事吗?


在Google地球中绘制kmls:

我尝试加载到Google地球的kml文件范围从大约67kb到包含177点的文件到454kb和1172点。我还有一个kml文件,我不得不绘制937kb包含2637点。大多数时候要绘制文件,我必须使用记事本编辑kml,删除除了其中一个点之外的所有点,绘制该点,然后重新运行Excel宏以获取完整文件。然后我绘制它,这会导致此消息:

  

您确定要重新加载此文件,任何未保存的修改都将丢失吗?

然后通常在那一点开始绘制就好了。如果我试图在没有完成我刚才谈到的过程的情况下双击kml文件,Google Earth就会变得无法响应。以下是我的代码示例以及它创建的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>

1 个答案:

答案 0 :(得分:0)

3MB未压缩的KML听起来很小。 Google地球通常在处理该大小的文件时没有问题。您使用的是哪个版本的GE?

如果KML中没有任何专有信息,请注意发布一个链接到其中一个?