航线管理接口使用及如何web和pilot端航线同步可相互操作

已完成

评论

17 条评论

  • IIIIIan

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 1.对,云存储服务 2.后端demo只完成了部分功能,它只是一个测试demo,一些协议还是需要开发者自己去实现 3.文档中的url是指航线文件的访问地址,比如说上传航线文件到存储服务,这个url就是航线文件在存储服务的存储地址 4.不需要,建议在司空或者pilot创建好航线文件,然后上传到存储服务。 5.所有航线文件以 “.kmz” 后缀结尾 6.KMZ文件实际上是一个压缩包,其中包含了KML和WPML文件。确保在解压缩和重新压缩的过程中,文件的格式和内容没有被错误修改 7.distance航线总长度,这个距离是通过地理坐标(经纬度)计算得出的 **duration这个元素表示航线预计执行时间。这个时间是基于距离和预设的飞行速度计算得出的** **这两个元素不是必填项** 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • IIIIIan

    我现在是自研生成航线算法,根据上云api文档书写航点航线模式航线在选择高程后会显示格式不正确,之后我是用司空二绘制航线生成kmz文件,使用demo无法完成导入出现报错,pilot生成的航线也无法导入demo出现报错,司空2的航线可以导入到pilot中,由于航线存储url接口还未实现也没看到后端有(没仔细看),直接用数据线获取航线导入本地的。综上所述:问题1、kml的正确格式是什么样的?文档的直接复制制作航线kml文件导入一直显示加载中

    2、为什么司空2和pilot2绘制航线无法导入demo前端,报错见附图

    0
    评论操作 固定链接
  • IIIIIan

    没有用前端demo,自研加参考demo部分实现

     

    0
    评论操作 固定链接
  • IIIIIan

    不是说导入pilot或是机场不用kmz吗?一个kml不行吗

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 kml的文件格式参考官方文档就行了:https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/dji-wpml/template-kml.html kml文件的版本有很多,之前老的版本是可以的,现在导入kml文件是不行的。需要导入kmz格式的文件 为什么司空2和pilot2绘制航线无法导入demo前端,报错见附图 --》》具体报的什么错误,附件图片我这边是看不到的 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • IIIIIan

    那wpml文件也要自己按照文档书写了是吗?并且遥控器和机场的航线导入都需要kmz对吗?

    0
    评论操作 固定链接
  • IIIIIan

    附图即demo上传司空生成航线文件报错com.dji.sdk.cloudapi.deviceSubTypeEnum has unkown data,demo上传pilot绘制的航点航线文件报错A null object appeared

    0
    评论操作 固定链接
  • IIIIIan

    我也尝试过复制文档的kml和wpml压缩成kmz,导入也会一直转圈,是否需要等一会?

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 可以在司空上创建好航线文件导入到上云 附图即demo上传司空生成航线文件报错com.dji.sdk.cloudapi.deviceSubTypeEnum has unkown data,demo上传pilot绘制的航点航线文件报错A null object appeared--》》这个是枚举类缺少了枚举类型,可以把完整的错误发出来看看吗 导入到pilot时kmz中必须要有kml文件 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • IIIIIan

    请问官网文档的kml和wpml文件可以直接使用吗,比如说自己mock两个航点坐标数据

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 可以使用,不过建议自己在司空创建个航线文件 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • IIIIIan

    您好,请问航线文档中有说明在某个参数(a)设置成一特定参数时另一参数(b)为必要元素,那是否意味着非a参数不为特定值时1、b参数可以不添加吗?2、如果也添加的话对航线有影响吗3、actionGroup是对于所有航点吗?其中action1 action2是每个航点两个动作还是前两个航点的对应动作

    0
    评论操作 固定链接
  • IIIIIan

    不好意思,第三个问题没表述清除改为“actionGroup能否统一用于全部航点?如果可以那么其中action1 action2是每个航点两个动作还是前两个航点的对应动作”

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 1.可以不添加 2.最好不添加,添加的话可能未出现未知错误 3.actionGroup可以用于全部航点,执行对应动作主要是看actionGroupStartIndex开始是哪个航点,actionGroupEndIndex结束的是那个航点 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • IIIIIan

    request uri: /wayline/api/v1/workspaces/e3dea0f5-37f2-4d79-ae58-490af3228069/waylines/file/upload, IP: 192.168.161.169
    java.lang.NumberFormatException: For input string: ""
            at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
            at java.base/java.lang.Integer.parseInt(Integer.java:662)
            at java.base/java.lang.Integer.parseInt(Integer.java:770)
            at com.dji.sample.wayline.service.impl.WaylineFileServiceImpl.validKmzFile(WaylineFileServiceImpl.java:225)
            at com.dji.sample.wayline.service.impl.WaylineFileServiceImpl.importKmzFile(WaylineFileServiceImpl.java:180)
            at com.dji.sample.wayline.service.impl.WaylineFileServiceImpl$$FastClassBySpringCGLIB$$a4f7b054.invoke(<generated>)
            at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
            at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
            at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
            at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
            at com.dji.sample.wayline.service.impl.WaylineFileServiceImpl$$EnhancerBySpringCGLIB$$21c84a2e.importKmzFile(<generated>)
            at com.dji.sample.wayline.controller.WaylineFileController.importKmzFile(WaylineFileController.java:69)
            at com.dji.sample.wayline.controller.WaylineFileController$$FastClassBySpringCGLIB$$c86b9140.invoke(<generated>)
            at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
            at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
            at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
            at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
            at com.dji.sample.wayline.controller.WaylineFileController$$EnhancerBySpringCGLIB$$6b7b7e97.importKmzFile(<generated>)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:566)
            at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
            at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
            at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
            at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
            at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
            at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
            at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
            at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
            at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at com.dji.sample.component.CorsFilter.doFilter(CorsFilter.java:33)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
            at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
            at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
            at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
            at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
            at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
            at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.base/java.lang.Thread.run(Thread.java:829)这个是有一个新的官网demo导入官网航线的后端报错显示,我该如何排查

    0
    评论操作 固定链接
  • 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 在尝试将字符串转换为整数时发生的 `NumberFormatException`。这个异常通常发生在尝试使用 `Integer.parseInt` 方法将一个空字符串或非数字字符串转换为整数时。 `com.dji.sample.wayline.service.impl.WaylineFileServiceImpl.validKmzFile` 方法的第 225 行,`For input string: ""` 表示尝试将空字符串转换为整数 检查 `validKmzFile` 方法中传递给 `Integer.parseInt` 方法的参数 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接

请先登录再写评论。