一文搞懂大疆机场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

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

python中getsizeof和asizeof的区别小结

《python中getsizeof和asizeof的区别小结》本文详细的介绍了getsizeof和asizeof的区别,这两个函数都用于获取对象的内存占用大小,它们来自不同的库,下面就来详细的介绍一下... 目录sys.getsizeof (python 内置)pympler.asizeof.asizeof

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s