【问题标题】:KML to google earth network linkKML 到谷歌地球网络链接
【发布时间】:2013-06-22 01:05:43
【问题描述】:

我有近 100,000 个 KML 文件,其中仅包含名称、描述、多边形和不同位置的点,我将它们合并为一个大型 KML 文件。我现在只是尝试从 Google 地球创建一个指向此 KML 文件的网络链接,该链接只会为屏幕边界框内的位置加载此信息。目前,它试图一次加载所有内容,这可以理解,这只会让谷歌地球崩溃。

以前有没有人做过类似的事情并且知道如何去做?

提前致谢(:

【问题讨论】:

    标签: kml google-earth bounding-box


    【解决方案1】:

    必须通过 NetworkLink 将多个 KML 文件合并到一个父 KML 文件中,这样就不会像您看到的那样一次加载所有链接和功能 - 结果:Google 地球崩溃。

    您需要将您的 KML 功能分解为较小的 KML 文件,每个文件在其自己的有界区域中,然后让单个 KML 文件(父 KML)通过 NetworkLink 中的 NetworkLinksRegion 元素加载每个子 KML .理想情况下,KML 文件的区域在很大程度上不重叠,以最大限度地减少一次打开的文件数量。

    父 KML 的每个 NetworkLink 都应具有适当的区域和详细级别 (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 以像素为单位测量屏幕。它提供了在水平和垂直方向上具有可调像素宽度的屏幕叠加层。

    除了区域之外,您可以简单地使每个 NetworkLink 不可见 [将 visibility 设置为 0],然后用户必须手动检查它以获取内容。如果适用,您还可以应用 folder radio style 以仅允许加载一组 NetworkLink 中的一个。这是制作 KML 比例的最简单方法。

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 1970-01-01
      • 2012-11-04
      • 2013-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多