【Cesium】调整3DTile/tileset的位置到某个经纬度/某个地点/城市

这篇具有很好参考价值的文章主要介绍了【Cesium】调整3DTile/tileset的位置到某个经纬度/某个地点/城市。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提: 模型本身有地理位置信息,模型本身就能显示在地球表面了(而不是在地表下的球心或其他奇奇怪怪的位置)

以下是将tileset的位置调整到北京(在WGS84坐标系下)的正确代码:

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
    url: 'path/to/your/tileset'
}));

tileset.readyPromise.then(function() {
    // 获取tileset的中心点坐标
    var boundingSphere = tileset.boundingSphere;
    var center = boundingSphere.center;

    // 将中心点坐标转换为WGS84坐标系下的经纬度
    var cartographic = Cesium.Cartographic.fromCartesian(center);
    var longitude = Cesium.Math.toDegrees(cartographic.longitude);
    var latitude = Cesium.Math.toDegrees(cartographic.latitude);

    // 将经纬度调整为北京的经纬度
    var beijingLongitude = 116.4074;
    var beijingLatitude = 39.9042;

    // 计算tileset的平移量,并将其应用到modelMatrix中
    var translation = Cesium.Cartesian3.fromDegrees(beijingLongitude, beijingLatitude);
    var centerNew = Cesium.Cartesian3.fromDegrees(longitude, latitude);
    var translationVector = Cesium.Cartesian3.subtract(translation, centerNew, new Cesium.Cartesian3());
    tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translationVector);
});

在以上代码中,我们首先获取tileset的中心点坐标,并将其转换为WGS84坐标系下的经纬度。然后,我们将经纬度调整为北京的经纬度,并计算tileset的平移量。最后,我们将平移量应用到tileset的modelMatrix中,以将其位置调整到北京。

需要注意的是,以上代码假设tileset在WGS84坐标系下。如果tileset在其他坐标系下,则需要进行相应的坐标系转换。文章来源地址https://www.toymoban.com/news/detail-517882.html

到了这里,关于【Cesium】调整3DTile/tileset的位置到某个经纬度/某个地点/城市的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Cesium3DTile属性及Nginx发布3DTiles(包含IIS)

    Cesium从入门到项目实战总目录: 点击 在Cesium中,Cesium3DTile是一种基于Web的三维地图数据格式,包含了大量的空间数据和属性信息。以下是Cesium3DTile常用的属性: 1.boundingVolume boundingVolume属性定义了Cesium3DTile的包围盒,用于优化渲染性能。 2.geometricError geometricError属性定义了

    2024年02月06日
    浏览(65)
  • vue+cesium 获取鼠标浮动的经纬度

    是在地图中展示鼠标的经纬度 html 属性 css cesium鼠标移动的方法在初始化cesium之后调用这个方法

    2024年02月12日
    浏览(33)
  • Cesium 在地图鼠标点击进行定位,并显示经纬度

    vue工程加载cesium 可以参考之前的文章:vue 使用cesium简单介绍_vue使用cesium_夜跑者的博客-CSDN博客 这篇文章介绍一下如何响应鼠标左键获取经纬度,以及在地图上添加广告牌。 1)响应鼠标左键,并获取经纬度         主要用到了2个接口ScreenSpaceEventHandler, setInputAction,代码

    2024年02月17日
    浏览(36)
  • 高德根据经纬度,查询所在位置信息

    根据JSON对象获取信息 String cityInfo = GaoDeUtils.getAddressByJWD(request.getClog(), request.getClat()); JSONObject resultSucces = JSONObject.parse(cityInfo); JSONObject addr=resultSucces.getJSONObject(“regeocode”); AddressComponent addressComponent = JSON.parseObject(JSON.toJSONString(addr.get(“addressComponent”)), AddressComponent.class); 创

    2024年02月08日
    浏览(49)
  • 微信小程序定位开发 逆地理位置查询 经纬度获取位置名称

    一. 微信小程序获取用户定位==经纬度(官方) (1)官方方法:wx.getLocation(Object object) (2)官方链接:https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html (3)关键点: 申请权限 :在小程序管理后台,「开发」-「开发管理」-「接口设置」中申请开通该接口权限。

    2024年02月16日
    浏览(47)
  • 微信小程序-获取用户位置(经纬度+所在城市)

    获取用户所在的城市 1.利用微信小程序的接口函数获取用户位置的经纬度 2.将经纬度 逆解析 为结构化的文字地址 3.根据结构化的文字地址提取出需要的地址结构成分,如省份、城市、区县等。 3.1 用到的接口函数 微信小程序-获取用户位置的接口函数:wx.getLocation(Object objec

    2024年02月01日
    浏览(50)
  • Openlayers获取浏览器当前用户的经纬度位置并定位到对应位置

    专栏目录: OpenLayers实战进阶专栏目录 本篇讲一下Openlayers获取浏览器当前用户的经纬度位置并定位到对应位置,会像高德地图一样触发浏览器左上角位置权限,确认后就可以获取位置并控制地图中心点到用户所在位置。 适用于Edge、firefox和移动端浏览器,pc端的chrome即使允许

    2024年02月08日
    浏览(54)
  • uni-app如何获取位置信息(经纬度)

    提示:这里可以添加本文要记录的大概内容: 在实际项目中很多时候我们需要获取设备的位置信息,去展示给客户,或者以位置信息为参数,继续向服务器获取一些数据。接下来以uni-app小程序项目为例来介绍获取位置信息的思路 提示:以下是本篇文章正文内容,下面案例可

    2024年02月11日
    浏览(53)
  • 根据手机指南针经纬度在地图上找到其位置

    使用手机指南针获取经纬度,然后在地图上找到位置。 1、使用手机指南针获取经纬度: 2、将度分秒转换为度: 分/60+秒/3600+整数度数,得到以度为单位的数值 手机经纬度:117.1291666,31.842777 3、坐标系转换: 地图坐标系转换 - 在线工具 输入手机经纬度:117.1291666,31.842777 得到

    2024年02月09日
    浏览(38)
  • uni-app获取位置信息(经纬度转换地址信息)

    1.使用uni.getLocation()获取位置信息 2.下载qqmap-wx-jssdk.js插件插件下载地址 3.使用腾讯位置服务器对经纬度进行一个地址信息转换(自己创建一个应用即可) 全都勾选上 4.注意!!关键之处!! 一定要在微信公众号平台上 服务器配置 apis.map.qq.com 上代码 template js 效果图 不当之处望

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包