Cesium基础
easyCesium
三维案例及数据:http://mapgl.com/share
qq: 951973194
微信:easygis
电话:18755191132
展开
-
Cesium 渐变色柱子
Cesium 渐变色原创 2022-11-07 15:12:30 · 1593 阅读 · 4 评论 -
Cesium 无人机巡检实时视频投射及模拟数据采集
用投射做了两个功能,一个是模拟无人机巡检,展示当前无人机的实时视频流,并且展示当前无人机的拍摄轨迹及范围。原创 2022-11-03 18:23:07 · 5110 阅读 · 7 评论 -
Cesium无人机实时视频投射及关键点拍照展示
接入实时无人机数据,进行无人机作业时的web端三维展示原创 2022-11-02 18:22:07 · 2811 阅读 · 2 评论 -
Cesium 加载模型不显示
先说下背景:项目用vue2 + Cesium来搭建的框架,然后在里面加载了OSGB转的3dtiles,转化工具为Cesiumlab。但是加载的这个3dtiles无论如何都不显示,当地图移动时就报错,报错截图如下:查了下这个Draco是个模型压缩工具,在3dtiles里压缩了.b3dm以及i3dm。然后猜了下原因:1、Cesium版本问题2、Vue2 + Cesium集成问题3、模型本身问题4、模型发布问题针对上述三个猜想我进行了一下论证: 首先我用原始的H5 + Cesiu原创 2022-06-22 10:42:56 · 5511 阅读 · 10 评论 -
Cesium 地图分级分片显示
要求:页面加载时展示中国范围地图;双击局部缩放到局部范围,并且不展示中古地图;局部地图缩放到一定层级,加载在线地图以提高地图精度;一级:二级:三级:三级为互联网在线地图关于地球的隐藏设置:以上前两级的时候,我们都没展示Cesium的球,所以要对Cesium的球做一个隐藏,以下是部分代码:viewer.scene.globe.showGroundAtmosphere = falseviewer.scene.skyAtmosphere.show = false...原创 2022-04-22 12:15:14 · 2479 阅读 · 0 评论 -
Cesium 解决两个billboard重叠问题
有时我们会在同一个坐标点叠加两个图片,但是Cesium中没有z-index的概念,因为cesium中是利用深度来区分先后的,所以这两个图片的层级关系我们控制不了,会出现一个图片被另一个遮挡的情况。针对这种情况,我采用了canvas将两个图片合并成了一个,然后添加这新的图片到地图上即可。注意下,这个合并图片的过程是异步的,所以有些操作要在回调里写。一下晒出代码及效果:合并后如下:代码如下:// 合并图片drawAndShareImage(bgsrc, src, fun) { ...原创 2022-04-18 10:02:22 · 3793 阅读 · 4 评论 -
Cesium + shp + wfs进行分户单体化
案例地址:分层分户单体化(http://47.117.134.108:9009/singleRoom/index.html#close)最近应客户需求,写了个分户单体化的案例,一直以来做分户单体化都是单体化中的一个难点,因为分户数据太难处理了。此次结合shp数据做了个分户,案例里面的数据是我本地化了数据,实际开发过程中可以结合geoserver,将shp数据进行发布,通过查询,来获取shp数据里的信息。这样有个好处,就是大量shp的分户数据我都可以加载,也有个缺点,就是每次查询可能要等待下。此.原创 2022-03-14 16:19:24 · 2166 阅读 · 3 评论 -
安卓原生集成Cesium
原创 2021-12-10 15:06:02 · 3477 阅读 · 3 评论 -
Cesium 自定义弹窗聚合
拓展了cesium的聚合,自定义聚合的样式。非聚合状态下,弹窗自动显示,聚合状态下,弹窗消失。非聚合状态:部分聚合状态下:全部聚合状态下:原创 2021-10-26 10:24:47 · 1322 阅读 · 0 评论 -
全国30m地形切片
花了半个多月终于弄好了这个全国30m的tif切的地形数据,可支持Cesium直接加载。压缩后110G左右,解压后大概200G。想做地形数据离线的可以用一下,现在有12.5m的数据,但是全国的太大了,就没处理。有相关需求的可以私我。...原创 2021-08-18 10:24:47 · 967 阅读 · 7 评论 -
模型实时姿态展示(无人机实时姿态)
经常我们项目中要实时展示模型的位置、轨迹以及姿态(包括仰俯角、翻滚角、偏航角)等。具体实时位置及轨迹的展示可以参考:https://blog.csdn.net/caozl1132/article/details/106377881下面是实时姿态的展示:某刻姿态:下一刻:这里不仅要做到姿态的切换,还得注意切换过程中的平滑,不能出现闪烁抖动问题。...原创 2021-07-29 11:28:54 · 1389 阅读 · 0 评论 -
Cesium 叠加矢量数据(路网、水系等)
这个是我下载的全国铁路数据,做了相关处理,然后叠加到了地图上,其中铁路线及名称的样式均可调整。一般像示量数据的叠加,我们分两种方式:1、切片。2、geojson的方式叠加。两种方式的优缺点:切片:可以添加大数据量的示量数据而不会卡顿,但是没法查询相关信息及绑定相关弹窗之类的操作。geojson:大数据量卡顿,但是可以添加相关属性并绑定弹窗、点击等操作。...原创 2021-07-22 09:53:00 · 2152 阅读 · 2 评论 -
Cesium 解析gps设备协议 接入硬件设备
最近帮一个客户接入了车辆gps定位设备,主要是解析了gps的协议,然后在地图上进行实时位置展示以及展示历史轨迹等。原创 2021-07-20 09:32:01 · 586 阅读 · 1 评论 -
Cesium 地图遮罩 局部突出
这个是简单的局部效果,更炫酷的可以看下https://blog.csdn.net/caozl1132/article/details/107999544原创 2021-06-16 17:01:29 · 4229 阅读 · 6 评论 -
Cesium 以某点为中心 计算一定距离及角度的点坐标(正多边形绘制)
之前写的了 有人问 就发大家看下吧原创 2021-06-04 09:38:44 · 1612 阅读 · 0 评论 -
学无止境,打算停更一段时间
最近Cesium推出了Cesium for unreal,结合了ue4,后面一段时间,会沉下心来研究下这块的东西,所以会停更一段时间博客。当然如果研究过程中有什么心得,或者踩了什么坑,还是会尽量分享给大家的,感谢大家一段时间来的关注,我还会回来的=。=。学习路上,有你有我,砥砺前行-- go!...原创 2021-04-09 14:31:46 · 378 阅读 · 0 评论 -
Cesium shp文件入库及单体化编辑(待续。。)
需求:给定shp,结合osgb实现单体化,在三维界面内对shp单体化的数据可以编辑、保持、删除等。先说下难点:1、客户给定的shp里包含了大量的面状数据,大小为一个一线城市的全部面状数据约50000条,如此多的数据如果一次性加载势必会造成cesium的卡顿。2、如何对cesium加载的数据进行属性编辑、面的坐标编辑等。何时保存到后台等。解决办法:shp数据入库(或geoserver发布wfs服务)、分片加载、优化已有的编辑类库(自己框架)。以上就是实现了对shp的..原创 2021-01-14 16:00:02 · 1099 阅读 · 0 评论 -
Cesium 风向图
原创 2020-12-25 16:18:20 · 1657 阅读 · 0 评论 -
Cesium 关于模型位置、大小、方向等调整
有时我们在项目里加载一个3dtiles模型但是总是调整不到对应的位置上去,如果我们靠修改代码里的参数一点点儿的挪,效率就太低了,针对这种情况我单独开发了一个页面来进行模型的调整。以下是界面:此处借用了火星的地形及案例里的模型(表示感谢,如有侵权,请告知修改)。先说下这个界面为什么要这样设置:本页面主要设置了两个模块 地形模块及模型模块为什么此处要对地形还做这么多的选项呢?在开发的过程中,一般在不同的地形上,模型的设置高度是不一样的。此处我设置了三种地形,第一种火星地形是火星服务器上的地形原创 2020-12-22 14:53:33 · 15896 阅读 · 5 评论 -
Cesium 设置entity的姿态及获取entity的hpr(仰俯角、偏转角、翻滚角)
经常我们会碰到要实时设置entity的姿态,而官方的api也提供了这个参数--orientationvar orientation = Cesium.Transforms.headingPitchRollQuaternion(position, new Cesium.HeadingPitchRoll(heading, pitch, roll));但是有时呢 我们需要反过来,比如通过orientation来计算hpr,如下:1、由四元数计算三维旋转矩阵var mtx3= Cesium.原创 2020-10-28 10:57:30 · 9492 阅读 · 4 评论 -
Cesium 版本更新日志(持续更新,目前1.76)
Cesium官方一般会每个月月初更新一个小版本,这个更新频率还是很高的,作为基于Cesium的开发者,对这些东西还是得关注一下。 有时自己忙项目就很容易忽略了这些东西,有时看了一眼也会忘记了,所以现在打算开个页面来记录这些更新,以下更新说明来源于Cesium官方更新日志(https://cesium.com/downloads/)和各同行的总结。Cesium1.74:修复了仰视时相机变焦被卡住的问题。 固定比例尺不一致的裁剪平面。 修复了地面图元会在某些摄影机角度...原创 2020-10-21 09:52:32 · 1575 阅读 · 0 评论 -
Cesium 完成rtsp视频(大华)与模型的融合
这几天帮一个客户处理了摄像头流视频的接入,将rtsp格式的流文件与三维系统相结合,可完成在模型上融合rtsp格式视频。有需求可以联系我。原创 2020-09-07 08:53:20 · 3868 阅读 · 13 评论 -
Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)
最近拿到了一个tif格式的数据,想处理成地图服务供项目加载。第一种方式使用arcmap处理,使用arcgis server发布。第二种方式是使用cesiumlab处理,使用tomcat发布。数据的初步处理:原创 2020-08-26 15:21:54 · 9553 阅读 · 14 评论 -
Cesium 加载天地图服务
最近在对接天地图的wmts服务,写了个类,兼容一下几种类型的图层加载。效果如下,目前加载了九种类型的天地图服务,有需求的可以给我私信或者联系我:原创 2020-08-24 12:22:04 · 1537 阅读 · 0 评论 -
Cesium 关于Bently模型的处理(dgn格式)
最近客户拿过来了几个dgn格式的模型,一般日程处理的osgb、bim、revit比较多,第一次拿到这个dgn格式,有点儿懵逼。后来百度了一下dgn格式的打开及转换方法,找了半天实现了曲线救国。首先想到的是dgn直接转3dtiles,搞了半天也没发现直接转的这个方法。现在只能采取另一种方法了--转为中间格式。我们知道的 .rvt .max 也是没法直接转为3dtiles的,是先转为clm 或 ifc 或 fbx 或obj格式的。那么我现在也想着先转为fbx或者obj格式,在通过cesiumlab转为3dt原创 2020-08-20 10:03:50 · 4409 阅读 · 1 评论 -
Cesium 个性地图的创建(炫酷大屏)
先晒个效果图:以这种地图做局部效果图或者大屏是不是很炫,回头录个屏给大家看下。原创 2020-08-14 10:40:36 · 7247 阅读 · 12 评论 -
Cesium 点云数据的处理(无法点击获取属性相关)
最近帮公司做点云的模型,之前一直做的是3dmax或者bim的,第一次弄,也遇到了一些问题,最终还是解决了。也感谢在这个过程中耐心帮我解疑的朋友。处理工具:cesiumlab2。数据格式:las。数据处理步骤:a)、打开cesiumlab,选择点云切片b)、全选添加点云数据c)、设置相关参数设置epsg坐标系,由点云模型设计人员提供,并且设置最大级别。注:此处最大级别的确定,可先转换其中一个las,看切到了多少级,找最大层级,如下(此处即选择18级)...原创 2020-08-14 10:38:10 · 2547 阅读 · 1 评论 -
Cesium 多窗口加载czml
先说下大致的需求:客户要求在同一个页面上可生成多个viewer对象,加载相同的数据,同时以不同的角度观看数据。并且每个地图窗口可拖动、可缩放,加载的地图数据可统一修改样式等。效果如下:...原创 2020-07-08 20:33:03 · 1291 阅读 · 7 评论 -
Cesium 火箭发射分离模拟
最近写了个模拟火箭发射的小功能,其中包含了火箭尾部火焰动画,卫星箭体分离动画效果。以下晒出部分效果图。箭体分离:原创 2020-06-23 20:47:30 · 2054 阅读 · 4 评论 -
Cesium 接受websocket数据,并实时展示姿态(无人机监测系统)
最近做了个websocket的数据实时更新项目,通过接受websocket的数据,来实时更新无人机的位置以及姿态。其中前端的ui用的是layui。以下是部分效果图:1、数据推送2、数据连接:3、无人机姿态展示:以上即为一个完整的过程,从数据的发送--接受--实时动态展示。以下说下代码和部分原理:websocket的连接:这部分就不说了,就是简单的数据推送的过程。下面说下三维的原理:data为每次推送过来的数据数组,我会遍历这个数据。根据..原创 2020-08-14 14:47:43 · 5723 阅读 · 10 评论 -
Cesium 关于加偏和纠偏的问题(不同坐标系数据叠加)
最近项目中,遇到了一个问题。客户提供的底图不是标准的cesium支持的3857和4326,而是百度的坐标系。要求在此底图上加载各种案例数据。问题来了,我的案例数据都是4326的,那么加载这个底图上肯定会有偏移,怎么办呢?--对数据进行加偏。而客户提供的是shp格式的案例数据,要怎么处理呢?1、shp转geojson,使用gdal。将所有的shp数据转为4326坐标系下的json数据。2、geojson数据进行加偏,加偏为百度坐标系下的geojson数据。此处有一个问题,如何加偏。因为客户提供原创 2020-05-26 18:33:19 · 4469 阅读 · 5 评论 -
Cesium 角度计算
Cesium中测量时,经常会用到角度测量,比如测量一下某条线和某个方向的夹角。下面以和正北方向的夹角进行举例。效果图如下:实现方式:1、使用空间分析插件turf.js,可以将三维空间坐标转化为二维经纬度坐标后,进行计算,在这里就不一一赘述了,有兴趣的朋友可以去看下。2、通过向量的方式进行计算。原理:主要是建立了局部坐标系,对局部坐标和空间坐标进行了一个转换。然后求出了单位向量,进而求出夹角的余弦值。得到了角度。 getAzimuthtAndCenter: function (p原创 2020-05-19 17:39:29 · 6485 阅读 · 8 评论 -
Ceisum 计算向量夹角及垂足
最近在写一个动态箭头的功能时用到了垂足的计算。知道空间三个点的坐标,计算一个点到另一条边的垂足坐标,通过这个垂足坐标确定和点的连线,计算出方向用来做动画效果。如图就是计算点D的坐标。先说下原理及步骤:1、建立空间向量CA、CB向量2、计算CB向量的单位向量。3、计算向量的夹角。4、计算CA向量在CB向量上投影的长度。5、计算出D点坐标具体代码如下:// 计算垂足坐标 computeCZ: function (p1, p2, p3) { var c1.原创 2020-05-19 17:25:55 · 1768 阅读 · 0 评论 -
Cesium 要素服务的生成的模型分片加载
待续。。。原创 2020-03-26 10:05:03 · 504 阅读 · 0 评论 -
Cesium 填挖方分析
最近没事儿在整理案例,然后写了个效果。在地形上绘制面,会自动计算该范围内的填方量和挖方量,下面是效果。初始效果:此时的基准面高度为当前范围内的地形最低点。重设基准面之后的效果:说下我的思路:通过获取绘制的范围,获取面的坐标,对该面的坐标进行插值,将面等分为一个个的小三角面,求该三角面内定点的平均高度作为该三角面对应的高度。然后 体积 = 三角形面积 x 高度,然后对体积进行累加...原创 2020-03-26 10:00:16 · 5849 阅读 · 3 评论 -
Cesium 模型转换(obj max fbx转gltf/3dtiles)
这三种都是3dmax支持的格式,可以统一将.fbx和.max转化为.obj格式,然后通过obj2gltf转为glb或者gltf,其中gltf是比glb的模型要大一点;或者通过ceisumlab等工具将.obj处理成3dtiles,当然3dtiles是用于大场景居多。.obj .max .fbx类型的模型转换为gltf/glb,使用obj2gltf以下举例讲述下.max的处理过程:数据结...原创 2020-03-18 10:50:45 · 20866 阅读 · 32 评论 -
Cesium popup窗、气泡窗、提示窗插件
首先向关注我的各位小伙伴说一声对不起,好久没有更新csdn了,最近因为自己也在看opengl的一些学习资料和Cesium的源码,所以耽搁了,在此也向对小伙伴们说一声对不起。最近群里也好,还是网上,经常有人找到我问我Cesium的气泡窗怎么写,我自己也在之前的文章中解释了下原理(地址:https://blog.csdn.net/caozl1132/article/details/86065333...原创 2020-02-29 21:53:33 · 8362 阅读 · 7 评论 -
Cesium 关于获取地图层级Zoom
经常看一些小伙伴问,在三维里如何获取当前的地图的层级。首先明确的告诉大家一点,在Cesium里是获取不到当前的地图层级的,或者说获取不到明确的地图层级的,为什么那么说呢,看我以下的讲解!三维地图不像二维,在二维地图里比如加载某个瓦片地图,它是一个层级一个层级加载的,如下面是一个ol加载地图的截图。我们来解析下这个url :https://c.tile.openstreet...原创 2019-12-11 15:28:55 · 7612 阅读 · 0 评论 -
Cesium 飞行漫游 贴地漫游
之前发过一个全局漫游的案例,那个是简单的飞行漫游,现在我封装了一个复杂的漫游类,包含飞行漫游和贴地漫游。先看下页面(页面的样式没有调0.0):咱们按照步骤来说:1、路线设定我在这里的路线绘制依赖于我写的一个绘制类,实际应用过程中只要传入对应的世界坐标的坐标数组即可。本人为了方便开发,将大部分常用的功能都进行了封装。2、漫游前参数设定在这里可以设置是否是贴地漫游,漫游过程...原创 2020-02-25 22:37:41 · 5546 阅读 · 7 评论 -
Cesium bim模型加载并与模型树关联(分层加载)
很久都没写文章了,最近实在是太忙了,向各位关注我的小伙伴致个歉!最近没事儿写了个模型树和模型关联的功能,处理工具是用的cesiumlab。说明一下为什么要用cesiumlab:网上现在有很多的模型转换工具,如obj23dtiles等均可以对非3dtiles的模型进行处理,为何非得用cesiumlab呢?!主要是因为此功能想实现构件的详细展示,即点击节点实时展示对应的构件,故试用cesi...原创 2020-02-25 16:20:34 · 10549 阅读 · 17 评论