Dynamic 是否可以从实时数据kml进行动态巡更

Dynamic 是否可以从实时数据kml进行动态巡更,dynamic,real-time,kml,google-earth,google-earth-plugin,Dynamic,Real Time,Kml,Google Earth,Google Earth Plugin,有没有一种方法可以使巡更从脚本中获取坐标并更新巡更 我从一个python脚本中获取数据,然后想在巡演中实时更新fly to coordiantes,但不知道如何做到这一点 我尝试过使用网络链接,但它不起作用,我不确定是否使用animatedupdate,我还没有尝试过,但可以在KML中使用networklink控件。您总共需要四个KML文件才能实现它。在您的场景中,前三个可以硬编码,第四个可以从python脚本生成 加载tour.kml-加载tour.kml的网络链接文件 tour.kml-保存

有没有一种方法可以使巡更从脚本中获取坐标并更新巡更

我从一个python脚本中获取数据,然后想在巡演中实时更新fly to coordiantes,但不知道如何做到这一点


我尝试过使用网络链接,但它不起作用,我不确定是否使用animatedupdate,我还没有尝试过,但可以在KML中使用networklink控件。您总共需要四个KML文件才能实现它。在您的场景中,前三个可以硬编码,第四个可以从python脚本生成

  • 加载tour.kml-加载tour.kml的网络链接文件
  • tour.kml-保存原始kml tour数据的文件
  • 更新tour.kml-加载更新的tour new-data.kml的网络链接文件
  • 新数据.kml-更新原始tour.kml的网络链接控件
  • 以下是四个文件,为了简洁起见,我遗漏了KML声明和根元素

    加载巡更。kml

    <NetworkLink>
      <name>load</name>
      <Link>
        <href>tour.kml</href>
      </Link>
    </NetworkLink>
    
    <Document>
      <gx:Tour id="myTour">
        <name>tour</name>
        <gx:Playlist id="myPlaylist">
        <!-- existing tour data goes here -->
        </gx:Playlist>
      </gx:Tour>
    </Document>
    
    <NetworkLinkControl>
      <Update>
        <targetHref>tour.kml</targetHref>
        <Change>
          <gx:Playlist id="myPlaylist">
            <!-- new tour data goes here -->
          </gx:Playlist>
        </Change>
      </Update>
    </NetworkLinkControl>
    
    <NetworkLink>
      <Link><href>new_camera.kml</href></Link>
      ...
      <flyToView>1</flyToView>
    </NetworkLink>
    
    <Document>
      <Camera>...
      or
      <LookAt>...
    </Document>
    
    
    负载
    tour.kml
    
    tour.kml

    <NetworkLink>
      <name>load</name>
      <Link>
        <href>tour.kml</href>
      </Link>
    </NetworkLink>
    
    <Document>
      <gx:Tour id="myTour">
        <name>tour</name>
        <gx:Playlist id="myPlaylist">
        <!-- existing tour data goes here -->
        </gx:Playlist>
      </gx:Tour>
    </Document>
    
    <NetworkLinkControl>
      <Update>
        <targetHref>tour.kml</targetHref>
        <Change>
          <gx:Playlist id="myPlaylist">
            <!-- new tour data goes here -->
          </gx:Playlist>
        </Change>
      </Update>
    </NetworkLinkControl>
    
    <NetworkLink>
      <Link><href>new_camera.kml</href></Link>
      ...
      <flyToView>1</flyToView>
    </NetworkLink>
    
    <Document>
      <Camera>...
      or
      <LookAt>...
    </Document>
    
    
    旅行
    
    更新tour.kml

    <NetworkLink>
      <name>update</name>
      <Link>
        <href>new-data.kml</href>
      </Link>
    </NetworkLink>
    
    
    使现代化
    new-data.kml
    
    新数据。kml

    <NetworkLink>
      <name>load</name>
      <Link>
        <href>tour.kml</href>
      </Link>
    </NetworkLink>
    
    <Document>
      <gx:Tour id="myTour">
        <name>tour</name>
        <gx:Playlist id="myPlaylist">
        <!-- existing tour data goes here -->
        </gx:Playlist>
      </gx:Tour>
    </Document>
    
    <NetworkLinkControl>
      <Update>
        <targetHref>tour.kml</targetHref>
        <Change>
          <gx:Playlist id="myPlaylist">
            <!-- new tour data goes here -->
          </gx:Playlist>
        </Change>
      </Update>
    </NetworkLinkControl>
    
    <NetworkLink>
      <Link><href>new_camera.kml</href></Link>
      ...
      <flyToView>1</flyToView>
    </NetworkLink>
    
    <Document>
      <Camera>...
      or
      <LookAt>...
    </Document>
    
    
    tour.kml
    
    以下是有关networklinkcontrol及其在更新数据中的使用的文档


    您可以让NetworkLink使用flytoView自动更新相机位置。这不是一次真正的旅行,但效果类似。每次加载链接时,它都会飞到链接KML中的新LookAt或Camera元素

    root.kml

    <NetworkLink>
      <name>load</name>
      <Link>
        <href>tour.kml</href>
      </Link>
    </NetworkLink>
    
    <Document>
      <gx:Tour id="myTour">
        <name>tour</name>
        <gx:Playlist id="myPlaylist">
        <!-- existing tour data goes here -->
        </gx:Playlist>
      </gx:Tour>
    </Document>
    
    <NetworkLinkControl>
      <Update>
        <targetHref>tour.kml</targetHref>
        <Change>
          <gx:Playlist id="myPlaylist">
            <!-- new tour data goes here -->
          </gx:Playlist>
        </Change>
      </Update>
    </NetworkLinkControl>
    
    <NetworkLink>
      <Link><href>new_camera.kml</href></Link>
      ...
      <flyToView>1</flyToView>
    </NetworkLink>
    
    <Document>
      <Camera>...
      or
      <LookAt>...
    </Document>
    
    
    新照相机.kml
    ...
    1.
    
    新摄像头。kml

    <NetworkLink>
      <name>load</name>
      <Link>
        <href>tour.kml</href>
      </Link>
    </NetworkLink>
    
    <Document>
      <gx:Tour id="myTour">
        <name>tour</name>
        <gx:Playlist id="myPlaylist">
        <!-- existing tour data goes here -->
        </gx:Playlist>
      </gx:Tour>
    </Document>
    
    <NetworkLinkControl>
      <Update>
        <targetHref>tour.kml</targetHref>
        <Change>
          <gx:Playlist id="myPlaylist">
            <!-- new tour data goes here -->
          </gx:Playlist>
        </Change>
      </Update>
    </NetworkLinkControl>
    
    <NetworkLink>
      <Link><href>new_camera.kml</href></Link>
      ...
      <flyToView>1</flyToView>
    </NetworkLink>
    
    <Document>
      <Camera>...
      or
      <LookAt>...
    </Document>
    
    
    ...
    或
    ...
    
    除了更改Tour name元素外,我还没有成功地从NetworkLink更新播放巡演。我尝试启动循环巡演,然后从NetworkLinkControl更改播放列表或FlyTo元素,但只有在手动重新启动巡演时,我才能看到相机的更改