我有近100,000个KML文件,这些文件只包含名称,描述,多边形和不同位置的点,我已将它们合并到一个大型KML文件中。我现在只是尝试从Google地球创建一个指向此KML文件的网络链接,该链接仅为屏幕边界框内的位置加载此信息。目前,它试图立即加载一切,这可以理解地只是崩溃谷歌地球。
之前有没有人做过这样的事情并知道如何去做?
提前致谢(:
答案 0 :(得分:1)
必须在单个父KML文件中通过NetworkLinks组合许多KML文件,以便在您看到所有链接和功能时不会立即加载 - 结果:崩溃Google地球。
您需要将KML功能分解为更小的KML文件,每个文件位于其自己的有界区域,然后让单个KML文件(父KML)通过NetworkLinks加载Region每个子KML NetworkLink中的元素。理想情况下,KML文件的区域在很大程度上是不重叠的,以最大限度地减少一次打开的文件数量。
父KML应该让每个NetworkLink都具有适当的Region和Level of details(Lod)元素,以防止所有KML文件一次性加载。
以下是父KML文件的结构:
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<NetworkLink>
<name>area 1</name>
<Region>
<LatLonAltBox>
<north>xx</north>
<south>xx</south>
<east>xx</east>
<west>xx</west>
</LatLonAltBox>
<Lod>
<minLodPixels>32</minLodPixels>
</Lod>
</Region>
<Link>
<href>1.kml</href>
</Link>
</NetworkLink>
<NetworkLink>
<name>area 2</name>
...
</NetworkLink>
...
</Document>
</kml>
注意: minLodPixels 的值可能会因特定区域的大小而异。尝试不同的值:32,64,128等,直到你得到你正在寻找的行为。
您可以使用此KML file来衡量屏幕(以像素为单位)。它提供了一个屏幕覆盖,在水平和垂直方向都具有可调节的像素宽度。
除了Regions之外,您可以简单地使每个NetworkLink不可见[set visibility为0],然后用户必须手动检查它以获取内容。如果适用,您还可以应用folder radio style仅允许加载一组NetworkLink中的一个。这是制作KML量表的最简单方法。