Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python从KML服务器获取数据?_Python_Kml_Google Earth - Fatal编程技术网

如何使用Python从KML服务器获取数据?

如何使用Python从KML服务器获取数据?,python,kml,google-earth,Python,Kml,Google Earth,本质上,我试图从Python脚本中模仿Google Earth的行为,从NetworkLink获取数据。阅读,我发现我需要使用BBOX变量提供一个边界框。然而,似乎我需要在最初请求数据后请求此 关于如何在Google Earth之外获取这些数据的任何建议?Google Earth Pro可以被认为是一种专门的web浏览器,除了图像之外,还可以获取KML和KMZ内容,并在3D全球环境中呈现这些内容。在封面下,Google Earth基于当前视图和KML内容(如网络链接)构建URL。在Network

本质上,我试图从Python脚本中模仿Google Earth的行为,从NetworkLink获取数据。阅读,我发现我需要使用BBOX变量提供一个边界框。然而,似乎我需要在最初请求数据后请求此


关于如何在Google Earth之外获取这些数据的任何建议?

Google Earth Pro可以被认为是一种专门的web浏览器,除了图像之外,还可以获取KML和KMZ内容,并在3D全球环境中呈现这些内容。在封面下,Google Earth基于当前视图和KML内容(如网络链接)构建URL。在NetworkLink中调用URL的Python代码需要模仿Google Earth调用目标URL的方式

如果目标KML具有viewFormat或httpQuery元素,则根据指定的参数更新获取的实际URL。viewFormat和httpQuery使用命名字段定义模板,这些字段用适当的值填充并附加到URL

带有target href和viewFormat的网络链接定义示例


http://www.example.com/kml         
BBOX=[bboxWest]、[bboxSouth]、[bboxEast]、[bboxNorth]
字符串
BBOX=[bboxWest]、[bboxSouth]、[bboxast]、[bboxNorth]
是一个模板,它将替换括号中的命名参数以获得适当的值,并将结果附加到目标URL的查询字符串中。表达式[bboxWest]和[bboxEast]用视图边界框的最西和最东经度值替换,[bboxNorth]和[bboxSouth]用视图中的最大和最小纬度值替换

下面是需要通过HTTP GET请求获取的实际URL的示例

http://www.example.com/kml?BBOX=-180,-90,180,90
可显示在viewFormat元素中的参数列表

  • [lookatLon],[lookatLat]-该点的经度和纬度 正在观看
  • [lookatRange],[lookattit],[lookatHeading]- 元素使用的值(请参见
    的说明,
    ,以及KML元素中的
  • [lookatTerrainLon], [lookatTerrainLat],[lookatTerrainLat]-以度/米为单位的地形上的点,
    正在查看
  • [cameraLon]、[cameraLat]、[cameraAlt]-相机视点的度数/米
  • [horizFov]、[vertFov]-摄像机的水平、垂直视野
  • [horizPixels],[vertPixels]-三维查看器的像素大小
  • [TerraineEnabled]-指示3D查看器是否显示地形
具有viewFormat和httpClient元素的更复杂的NetworkLink示例


http://www.example.com/kml
BBOX=[bboxWest]、[bboxSouth]、[bboxEast]、[bboxNorth];
摄像机=[lookatLon]、[lookatLat]、[lookatRange]、[LookAtlit]、[lookatHeading];
视图=[horizFov]、[vertFov]、[horizPixels]、[vertPixels]、[TerraineEnabled];
LOOKAT=[LookAtterRinlon]、[LookAtterRinlat]、[LookAtterRinalt]
客户端=[clientVersion],[kmlVersion],[clientName],[language]
这里是一个可以获取的URL,用于容纳上述NetworkLink

http://www.example.com/kml?client=7.3.3.7786,2.2,Google+Earth+Pro,en&
  BBOX=-180,-90,180,90;CAMERA=0,0,0,0,0;VIEW=0,0,0,0,0;LOOKAT=0,0,0