2017-09-22 143 views
1

我使用SimpleKML創建了約600個帶有地理標記的圖片列表(其中每個圖釘都有一個圖像作爲描述),因此我點擊地圖上的其中一個圖釘並顯示我在那個座標上拍的照片)。調整大小或顯示2+ GB KMZ文件

KMZ文件大致爲1GB,似乎並未在Google地球專業版中打開。我一直在網上尋找,它似乎可能是太大的文件大小打開。但是,我看到地球能夠顯示超過一百萬個座標。如果我不添加圖像作爲描述,文件縮小到〜5kb並且能夠工作。

如何打開保存圖片的描述文件?文件大小真的有上限嗎? (注意:我不確定它是Python /編程問題還是Google Earth問題,所以現在我假設它是一個通用的Google Earth問題)。

+0

.kmz文件的大小是1GB或未壓縮的內容是1GB? - 巨大差距。 GE只是一款32位應用程序,只能訪問2GB內存。您是否先嚐試只按原樣訪問未壓縮的文件,而不將其放入KMZ文件中?Google Earth只是在試圖打開它時解壓縮它。那麼只有100或300張照片的KML文件怎麼樣 - 這是否奏效? – JasonM1

+0

@ JasonM1 - 不確定它是否被壓縮。在文件資源管理器中,'.kmz'文件是〜2GB。我今天晚些時候會嘗試做100/300/500照片,看看是否有幫助。 – BruceWayne

+0

也許圖片鏈接?根據參考描述可以包含HTML和'本地文件系統上的圖像文件鏈接總是被允許的,如果包含在標籤內.' – rheitzman

回答

1

Google地球是一個32位應用程序,它限制訪問2GB內存。當未壓縮超過Google地球可用內存時,1-2 GB KMZ文件最可能大於2 GB。

Google地球本身可以處理很多GB的數據,但不是一次全部處理。向Google地球提供大量數據的唯一方法是讓KML文件一次加載一部分圖片。

如果地理標記的圖片在物理上是可分的,那麼您可以創建多個KML,其中每個KML代表一個區域以及該區域中的照片。每個KML文件都可以通過NetworkLink由父KML文件引用。 NetworkLink將需要Region元素來指定何時在給定區域中加載具有地理標記圖片的KML文件。該地區包含一個邊界框(<LatLonAltBox>),描述了由地理座標和海拔高度定義的感興趣區域。此外,區域包含一個LOD(詳細程度)範圍,以投影的屏幕大小(以像素爲單位)定義相關區域的有效範圍。

你的根KML會像下面這樣的結構:

<Document> 
<NetworkLink> 
    <Region> 
    ... 
    </Region> 
    <Link> 
    <href>1.kml</href> 
    </Link> 
</NetworkLink> 
... 
</Document> 

獲取區域的工作需要試驗和錯誤。您可以使用此KML screen ruler來測量區域的「屏幕」像素尺寸。

下面是與區域合作兩個教程:

或者,你可以創建幾個KMZ與地理標記的圖片的子集文件的每個。您可以將子KMZ文件與帶有radioFolder列表樣式的父KML文件以及每個KMZ文件的NetworkLinks綁定在一起。這使您可以選擇帶有照片的任何子KMZ文件,但一次只能選擇一個,以防止內存過載。

<Document> 
    <Style id="radioStyle"> 
     <ListStyle> 
      <listItemType>radioFolder</listItemType> 
     </ListStyle> 
    </Style> 
    <styleUrl>#radioStyle</styleUrl> 
    <NetworkLink> 
     <visibility>0</visibility> 
     <Link> 
      <href>1.kml</href> 
     </Link> 
    </NetworkLink> 
    <NetworkLink> 
     <visibility>0</visibility> 
     <Link> 
      <href>2.kml</href> 
     </Link> 
    </NetworkLink> 
</Document> 

如果你想在谷歌地球打開然後改變其可見性爲「1」,離開別人爲「0」的時候,KML文件中的一個默認查看。

+0

哦,我得看看如何用Python創建'NetworkLinks'。我認爲這是答案!乾杯! – BruceWayne

+0

只是爲了評論/澄清 - 即使我創建了〜6個KMZ文件(比如說每個〜400MB),我也無法將它們全部加載到地球,而不會崩潰。所以不僅僅是它不能處理大於2GB的單個文件,而且它不能處理大量的,全部加載並且一次「顯示」的總*文件。 (注:我認爲,正如你最後一段所述,下一步是將這6個KMZ文件與NetworkLinks/radioFolder列表樣式結合在一起)。 – BruceWayne

+1

對,這不是單個文件<2GB的問題。 GE可訪問的總內存爲2GB,因此通過NetworkLinks和區域隨時加載的數據總量必須小於2GB,或者通過radioFolder風格進行單個手動選擇。 – JasonM1

相關問題