0序:
近期有用户问“ 把KML文件放到图新后,想转出来KMZ(大疆的机场用的格式)但是转出来的KMZ显示格式不对 ”
之前只是知道大疆的航线规划采用的是kml规范,但具体是什么样并不清楚。就这这个问题把这个事情给弄明白。
1.找一份大疆机场能认的kmz文件进行分析
原理:kmz就是zip文件改了后缀。核心是kml与附件的压缩包。
kmz复制一份,并改名为.zip,然后解压
打开kml和wpml看下,注意这里面存了author信息哦
2.了解大概的原理
原理直接到大疆官网查看即可,网址如下:上云API
结论:
大疆的航线kmz是遵循kml规范的自定义文件。
如果需要自己开发航线规划软件,可以参考大疆的规范,把各个字段搞清楚,如何通过参数控制飞机的指令。
3.图新地球导出的kmz和大疆的航线kmz的区别
图新地球核心是一个三维GIS平台,能够融合各类GIS数据,并在数据融合的基础上进行方案制作、分析等。
所以图新平台在展示kmz、kml方面能解析加载几十Gb的文件,
在编辑kml、kmz文件中设置图标、风格、增加属性(图片、视频、全景)等,也能基于地图快速的标绘点、线、面等格式的文件。
图新地球在操作kml、kmz方面的几个点,大家了解一下
- 1.图新在加载kml、kmz时会自动备份,生成后缀为.bak的文件,如果出现文件编辑后损坏,请使用备份文件恢复(前提,选项设置中打开自动备份)
- 2.图新加载kmz后,会自动修改kmz中的文件结构,如果kmz中的kml名称不是doc,会自动改为doc。
- 3.会自动重新整理附件,如果附件没有用到,会删除掉相关的附件。
4.航线转换与开发
如果只是为了把老的kml航线转为新的kmz航线,请使用大疆自己的【Pilot2】转换。
不要把大疆的航线导入到图新地球进行编辑,图新只能展示,编辑后无法再导回到【大疆机场】。
图新只能解析大疆机场的航线kmz文件,但是无法导出大疆机场可用的航线kmz。
看一个图新加载的大疆kmz文件
如果有编码能力的朋友想要做一些简单的航线规划软件,可以基于python语言和图新地球的python api快速完成这样的设定。
大概思路:
1.基于图新地球完成航线的绘制
2.给节点设置对应的参数指令
3.按照大疆的规范协议输出kml和wpml
附:
图新地球PythonAPI帮助文档:
1.产品概述 | 图新地球PythonAPI
输出大疆机场文件java代码示例:
大疆机场开发四(画航线)_大疆司空2航线文件-CSDN博客
5.大疆机场航线导入遥控器失败解决方案
5.1MultiGeometry问题
1、右键KML文件,选择编辑文本。
2、<Polygon> 的上级标签只能是 <Placemarker>,不能再包含其他标签,如果设置了其他标签,需要手动删除。
3、重新保存KML文件,然后导入遥控器中,即可正常使用。
举例:下图中的KML文件,需要删除文本中的<MultiGeometry>标签。
5.2根目录Folder问题
1、右键KML文件,选择编辑文本。
2、M300无法识别带有 <Folder>标签的KML,如下图所示,需要删除这个标签。
3、重新保存KML文件,然后导入遥控器中,即可正常使用。
5.3非document标签开头
1、右键KML文件,选择编辑文本
2、M300可以识别的KML,必须要以<Document>为开头标签,如果缺失,APP将无法识别。
错误示范的KML中,缺少了<Document>开头标签,导致KML无法识别。解决方案是手头添加这个条目。
3、重新保存KML文件,然后导入遥控器中,即可正常使用。