A 壹零贰肆
长风破浪会有时,直挂云帆济沧海。
展开
-
Cesium实现鼠标绘制图形的思路
cesium项目过程中绘制图形的基本思路原创 2022-11-05 21:29:19 · 976 阅读 · 1 评论 -
Cesium画个雷达四凌锥体
var targetPosition = Cesium.Cartesian3.fromDegrees(116.57, 26.91, 2000.0);viewer.entities.add({ name:"雷达四凌锥体", position:targetPosition, orientation: Cesium.Transforms.headingPitchRollQuaternion(targetPosition, new Cesium.HeadingPitch.原创 2022-05-19 23:21:08 · 1203 阅读 · 4 评论 -
Cesium和Three.js结合的5个方案
CesiumJS是一个开源、免费的三维地图开发框架,Three.js是一个也开源、免费的3D渲染框架,两者都是基于WebGL技术、使用JavaScript开发的Web前端三维可视化框架,在国内外应用非常广泛。本篇我们来聊聊Cesium+Three.js的几种方案,结合实际应用效果来分析各个方案的优点和缺点,以便项目中快速做出技术路线和方案选择。1、Cesium和Three.js简单对比Cesium可视化内容以地理空间数据为主,如卫星影像、地形、城市级三维模型等,数据量和空间范围都非常大,而对精度要求更转载 2022-03-12 23:40:07 · 9907 阅读 · 16 评论 -
Cesium地图默认视野
相机在创建时将查看的默认矩形:Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(70, -1, 140, 60);原创 2022-03-12 23:23:03 · 609 阅读 · 0 评论 -
cesium 直接加载 geotiff 影像图
前言最近碰到了一个需求,需要通过 cesium 直接加载 geotiff 影像图。咋一听,这个需求好像蛮奇怪,cesium 本身本来就支持加载 tile 影像图,也就是所谓的切片地图。原理其实就是,通过 geoserver 等工具,按照一定的规则和坐标系规则,切好对应的切片。而 cesium 里面,加载瓦片地图也很简单,想要显示哪个区域的地图,就根据对应的规则,去 geoserver 里请求对应的切片。这些逻辑在 cesium 里面,也已经封装好了,直接调用就好了。但是如果不想发布到 geos转载 2022-01-03 22:52:41 · 4584 阅读 · 9 评论 -
cesium热力图(cesiumheatmap.js)
地址:cesium热力图(cesiumheatmap.js)_山野里的小菊花-CSDN博客_cesium heatmap转载 2022-01-03 22:39:04 · 428 阅读 · 0 评论 -
Cesium将经纬度转为屏幕坐标系并判断是否在当前视角可见
//1.计算屏幕坐标let position = Cesium.Cartesiian3.fromDegrees(jd, wd, 0);let chanedc = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, position);if(chanedc == undefined) return;//2.判断当前视角是否可见let cameraOccluder = new Cesium.EllipsoidalOcclude.原创 2021-08-29 21:33:22 · 2293 阅读 · 3 评论 -
Cesium创建dom节点至三维节点中
实例let tDom = "<div style='position:absolute;left:200px;top:200px'>hello world</div>";let tEle = $(tDom);viewer.CesiumWidget.container.appendChild(tEle[0]);原创 2021-08-29 21:21:46 · 523 阅读 · 0 评论 -
Cesium设置模型的位置
//model:primitive 对象//x,y,z 经纬高// heading pitch roll 航向 俯仰 滚角function setPosition(viewer, model, x, y, z, heading, pitch, roll){ let position = Cesium.Cartesian3.fromDegrees(x, y ,z); let modelHeadingPitchRoll = new Cesium.HeadingPitchRoll();.原创 2021-08-29 21:17:36 · 1583 阅读 · 2 评论 -
Cesium扩展圆
1.计算圆半径let maxR = 400000;let minR = 1000;let deviationR = 1000;function changeR1(){ minR = minR + deviationR; if(minR >= maxR){ minR = 1000;} return minR;}2.获取颜色function getColor(){let x = (1 - minR / maxR).toFixed(2) -原创 2021-08-29 21:07:52 · 310 阅读 · 0 评论 -
cesium雷达扫描
1.根据第一点、距离、角度计算第二点function secPoint(jd, wd, radius, heading){ let m = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegress(jd, wd)); let rx = radius * Math.cos(heading * Math.PI / 180.0); let ry = radius * Math.sin(heading原创 2021-08-29 20:56:25 · 687 阅读 · 0 评论 -
Cesium几何体(Geometry)与外观(Appearance)收藏资料
Geometry:Appearance:原创 2021-08-09 22:31:10 · 327 阅读 · 0 评论 -
Cesium根据轨迹数据模型运动
var _start = Cesium.JulianDate.fromDate(new Date(2021, 07, 31, 11));function myTest(){ let _data = undefined; //test.json内的数据格式为:[[时间,经度,纬度,高程],[时间,经度,纬度,高程]....] $.getJSON("./json/test.json", function(data){ _data = data; let.原创 2021-07-31 00:23:08 · 1637 阅读 · 0 评论 -
Cesium根据观察点、方向、距离,计算下一点
//参数为什么类型,可根据函数API去传参//len(单位:m)//返回的类型可根据API转换坐标即可function ByDirectionAndLen(position, angle, len){ let matrix = Cesium.Transforms.eastNorthUpToFixedFrame(position); let mz = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(angle || 0); .原创 2021-07-30 23:48:46 · 1011 阅读 · 2 评论 -
Cesium获取模型(Primitive)的位置与方向
1.获取位置(primitive)//modelMatrix为Primitive添加模型时的modelMatrixCesium.Matrix4.getTranslation( modelMatrix, new Cesium.Cartesian3() );2.获取方向(primitive)//modelMatrix为Primitive添加模型的modelMatrixvar m1 = Cesium.Transforms.eastNorthUpToFixedFrame( Cesium.Mat原创 2021-07-30 23:32:19 · 5295 阅读 · 0 评论 -
cesium根据两点获取航向角(heading)与俯仰角(pitch)
1.获取航向角heading//这个计算的是逆时针,如果需要顺时针,可以在返回的结果里+360即可.function courseAngle(lng_a, lat_a, lng_b, lat_b) { //以a点为原点建立局部坐标系(东方向为x轴,北方向为y轴,垂直于地面为z轴),得到一个局部坐标到世界坐标转换的变换矩阵 var localToWorld_Matrix = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Car原创 2021-07-30 23:16:29 · 4940 阅读 · 1 评论