Supermap IClient3D 加载3DTiles倾斜摄影数据
由于倾斜摄影数据默认的地理坐标系与超图的坐标系不一样。
var obj = [6378137.0, 6378137.0, 6356752.3142451793]; Cesium.Ellipsoid.WGS84 = Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));
var viewer, url; viewer = new Cesium.Viewer('cesiumContainer'); var scene = viewer.scene;
//模型地址 url = "http://172.23.50.51:8090/iserver/services/3D-CeShi2/rest/realspace"; var promise = scene.open(url); Cesium.when(promise, function (layer) { //设置相机位置、视角,便于观察场景 scene.camera.setView({ destination: new Cesium.Cartesian3.fromDegrees(cameraPosition.longitude, cameraPosition.latitude, cameraPosition.altitude), orientation: { heading: cameraPosition.heading, pitch: tilt, roll: 0 } }); if (!scene.pickPositionSupported) { alert('不支持深度纹理,无法拾取位置!'); } }, function (e) { if (widget._showRenderLoopErrors) { var title = '加载SCP失败,请检查网络连接状态或者url地址是否正确?'; widget.showErrorPanel(title, undefined, e); } });
3DTiles倾斜摄影模型
try { var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: 'https://localhost:5001/cl/tileset.json' })); // 修复偏移量 tileset.readyPromise.then(function (tileset) { viewer.scene.primitives.add(tileset); var heightOffset = -220; //高度 var boundingSphere = tileset.boundingSphere; var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center); var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset); var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); // tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); viewer.zoomTo(tileset); }).otherwise(function (e) { throw e }); } catch (e) { console.log(e); }
分类:
Javascript
, Cesium
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架