一文搞懂大疆机场kmz航线和图新地球导出的kmz的区别

2024-03-28 02:04

本文主要是介绍一文搞懂大疆机场kmz航线和图新地球导出的kmz的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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文件,然后导入遥控器中,即可正常使用。

这篇关于一文搞懂大疆机场kmz航线和图新地球导出的kmz的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854120

相关文章

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入