同一个kmz数据同样的底图在QGIS上显示位置正常, 在Mars3d中显示就偏移了一些

问题:

1.同一个kmz数据同样的底图在QGIS上显示位置正常, 在网页中显示就偏移了一些

在qgis上的显示效果,和在mars3d的显示效果:数据明显存在偏移。

解决步骤:

1.查看了kmz数据,里面实际是tif图片数据,估计投影坐标有偏移造成的,tif用标准的4326或3857坐标系尝试

2.

重新生成了数据为4326的,但在示例中测试后还是有偏移。

示例的测试地址:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

function onMounted(mapInstance) {

  mapInstance.setLayersOptions([{

      name: 'HN',

      type: 'kml',

    //   url:'https://1111111111111com/file/demo-data/HNS4326.kmz',

      url:'https://com/file/demo-data/HNS_3857.kmz',

      center: {"lat":19.9,"lng":110.5,"alt":136098,"heading":0,"pitch":-90},

      show: true,

      flyTo: true

    }])

}

3.最后定位到问题是,cesium内部解析的,无法干预,最好是直接替换数据为3857坐标系尝试渲染。

备注说明:1.该示例cesium内部是用RectangleEntity+图片材质,实现的

2.建议直接用ImageLayer来加载这个tif图片。

3.Mars3d关于ImageLayer的使用示例参考与api地址:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

ImageLayer - V3.6.15 - Mars3D API文档

function createGroundOverlay(state, rectangleGraphics, overlays) {

  const kmlDoc = state.kmlDoc;

  const valueGetter = state.valueGetter;

  const externalFileHandler = state.externalFileHandler;

  const groundOverlay = kmlDoc.createElement("GroundOverlay");

  // Set altitude mode

  const altitudeMode = kmlDoc.createElement("altitudeMode");

  altitudeMode.appendChild(

    getAltitudeMode(state, rectangleGraphics.heightReference)

  );

  groundOverlay.appendChild(altitudeMode);

  const height = valueGetter.get(rectangleGraphics.height);

  if (defined(height)) {

    groundOverlay.appendChild(

      createBasicElementWithText(kmlDoc, "altitude", height)

    );

  }

  const rectangle = valueGetter.get(rectangleGraphics.coordinates);

  const latLonBox = kmlDoc.createElement("LatLonBox");

  latLonBox.appendChild(

    createBasicElementWithText(

      kmlDoc,

      "north",

      CesiumMath.toDegrees(rectangle.north)

    )

  );

  latLonBox.appendChild(

    createBasicElementWithText(

      kmlDoc,

      "south",

      CesiumMath.toDegrees(rectangle.south)

    )

  );

  latLonBox.appendChild(

    createBasicElementWithText(

      kmlDoc,

      "east",

      CesiumMath.toDegrees(rectangle.east)

    )

  );

  latLonBox.appendChild(

    createBasicElementWithText(

      kmlDoc,

      "west",

      CesiumMath.toDegrees(rectangle.west)

    )

  );

  groundOverlay.appendChild(latLonBox);

  // We should only end up here if we have an ImageMaterialProperty

  const material = valueGetter.get(rectangleGraphics.material);

  const href = externalFileHandler.texture(material.image);

  const icon = kmlDoc.createElement("Icon");

  icon.appendChild(createBasicElementWithText(kmlDoc, "href", href));

  groundOverlay.appendChild(icon);

  const color = material.color;

  if (defined(color)) {

    groundOverlay.appendChild(

      createBasicElementWithText(kmlDoc, "color", colorToString(material.color))

    );

  }

  overlays.push(groundOverlay);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MES管理系统在非标制造企业中的应用

在当今制造业中,非标制造企业逐渐成为一种重要的存在。与传统的批量生产制造企业不同,非标制造企业主要特点是能够根据客户需求进行定制化生产。这种定制化的生产模式对企业的管理提出了更高的要求,同时也带来了更多的挑战。在非标制造企业中…

mac苹果电脑清除数据软件CleanMyMac X4.16

在数字时代,保护个人隐私变得越来越重要。当我们出售个人使用的电脑,亦或者离职后需要上交电脑,都需要对存留在电脑的个人信息做彻底的清除。随着越来越多的人选择使用苹果电脑,很多人想要了解苹果电脑清除数据要怎样做才是最彻底…

ELK(三)—安装可视化工具

目录复制 目录 一、ElasticSearch-Head可视化工具介绍1.1特性:1.2用法: 二、安装2.1docker安装2.2Chrome插件安装 一、ElasticSearch-Head可视化工具介绍 ElasticSearch-Head 是一个基于浏览器的 Elasticsearch 可视化工具,它提供了一个直观…

【GAMES101】观测变换

图形学不等于 OpenGL,不等于光线追踪,而是一套生成整个虚拟世界的方法 记得有个概念叫光栅化,就是把三维虚拟世界的事物显示在二维的屏幕上,这里就涉及到观察变换 观察变换,叫viewing transformation,包括…

1、关于前端js-ajax绕过

1、Ajax知识 、js--Ajax 传统请求跟js--Ajax请求的差别 在实例中用的上js-ajax的有 表单验证: 在用户填写表单时,可以使用 Ajax 在不刷新页面的情况下验证表单字段,并提供即时反馈。 实时搜索: 在搜索框中输入内容时&#xff0…

Gateway

网关的作用: 可以对访问的用户进行身份认证和权限校验还可以服务路由,负载均衡还可以进行请求限流 网关本身也是微服务的一部分,所以需要使用nacos进行服务注册和发现 网关路由的配置 路由id:路由唯一标识uri:路由…

使用STM32 HAL库进行GPIO控制的实例

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进, 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!…

利用R语言heatmap.2函数进行聚类并画热图

数据聚类然后展示聚类热图是生物信息中组学数据分析的常用方法,在R语言中有很多函数可以实现,譬如heatmap,kmeans等,除此外还有一个用得比较多的就是heatmap.2。最近在网上看到一个笔记文章关于《一步一步学heatmap.2函数》,在此与…

java-两个列表进行比较,判断那些是需要新增的、删除的、和更新的

文章目录 前言两个列表进行比较,判断那些是需要新增的、删除的、和更新的 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实…

SpringIOC之@Configuration

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

Django的logging-日志模块的简单使用方法

扩展阅读: Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解 现在有下面的Python代码: # -*- coding: utf-8 -*-def log_out_test(content_out):print(content_out)content1 "i love you01" log_out_test(content1)现…

云服务器Centos中安装Docker

云服务器Centos中安装Docker 1 简介DockerCentosCentos和Ubuntu区别 2 安装3 测试hello-world的镜像测试 1 简介 Docker Docker是一个开源的应用容器引擎,利用操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化。它支持将软件编译成…

Windows 12 和 AI 计算机

据商业时报消息 ,微软计划于 2024 年 6 月发布Windows 12。 新版本的操作系统将伴随集成人工智能。 该数据基于广达首席执行官林百里和宏基陈杰森在中国台北医疗科技展上的发言。 虽然这篇文章没有直接引用微软高管的话,但它是根据他们的评论得出的结…

IDEA 社区版 add GitLab Account

问题 IntelliJ IDEA Community Edition 2023.3(社区版)在使用GitLab连接时,使用个人访问令牌出现报错,代码: GraphQL error:[No such type ProjectMember,so it cant be a fraggment condition,Field id doesnt exis…

2023年最新prometheus + grafana搭建和使用

一、安装prometheus 1.1 安装 prometheus官网下载地址 sudo -i mkdir -p /opt/prometheus #移动解压后的文件名到/opt/,并改名prometheus mv prometheus-2.45 /opt/prometheus/ #创建一个专门的prometheus用户: -M 不创建家目录, -s 不让登录 useradd…

Navicat 技术指引 | 适用于 GaussDB 分布式的数据迁移工具

Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结…

单例模式---饿汉式、懒汉式

一、什么是单例模式 单例模式,指的是一个类中的对象只能有一个,它在内存中只会创建一次对象的设计模式。 二、饿汉式 public class SingleTon {// 私有的构造方法private SingleTon() {};// 1. 饿汉式private static SingleTon instance new SingleTon…

整数以及浮点数在内存中的存储

一.整数在内存当中的存储 数据在内存中是以十六进制补码的形式进行存储的。 原码表示法简单易懂,适用于乘法,但用原码表示的数进行加减运算比较复杂,当两数相加时,如果同号则数值相加,但是进行减法时要先比较绝对值的…

认知觉醒(六)

认知觉醒(六) 第二节 感性:顶级的成长竟然是“凭感觉” 人类生存于世,比拼的是脑力思维,但极少有人知道,我们的身体里还有一个更高级的系统,若能善用,成就非凡。 1941年,德军对英国本土进行…

目标检测器技术演进简史

引言 目标检测算法的发展已经取得了长足的进步,从早期的计算机视觉方法开始,通过深度学习达到了很高的准确度。在这篇博文中,我们将一起回顾一下这些算法的发展阶段以及现代目标检测系统中使用的主要方法。 我们首先回顾早期传统的目标检测…