![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cesium
文章平均质量分 70
老朱自强不息
这个作者很懒,什么都没留下…
展开
-
基于EarthSDK的自定义UI实现
EarthSDK 通过EarthUI提供一套官方风格的UI。如果我们想要基于官方的UI风格,定制自己的菜单栏、右键菜单、树形列表等行为,貌似没有提供标准的接口,需要自己去修改。 这里把我修改过的UI整理分享如下。mainbar 主菜单修改:XbsjEarthUI.js 中描述菜单项的位置,依次增加就可以了。contextmenu 修改:菜单下的rabbion面板,需要在另一个地方定义。EarthSDK是通过自己封装的一套模板动态生成的dom结构,...原创 2021-11-15 16:19:48 · 1573 阅读 · 4 评论 -
基于EarthSDK的服务发布和加载
先来看一下EarthSDK和原生Cesium的关系,引用自简书-vtxf博主 从官方链接下载的项目结构如下Apps: 为官方提供EarthSDK官方案例和demo的源码信息; XbsjCesium: 集成了原生Cesium.js ,用户可以根据需要切换cesium.js的版本; XbsjEarth: 这是EarthSDK的核心,源代码经过webpack混淆压缩,很难修改,如果需要获取源码,需要官方渠道购买...原创 2021-11-11 10:59:51 · 2089 阅读 · 1 评论 -
EarthSDK 项目开发使用说明
EarthSDK,本系列文章简称sdk。是北京一家公司基于开源Web GIS引擎Cesium扩展、封装后形成的开源SDK。方便快速开发GIS项目。我也是这个sdk的使用者,使用过程发现一些列问题,这里整理汇总,做个分享。以及针对项目的需求,会更新部分行为逻辑,使得更符合项目的逻辑。项目结束,如果有需要,我会把平台的简化版本的源码共享出来,当然会隐去特定使用场景的业务逻辑。 西部世界经历在GIS数据处理,提供封装的sdk主要用来测试数据的有效性。所以sdk...原创 2021-11-11 10:02:05 · 3685 阅读 · 2 评论 -
关于通过CEF加载Cesium项目的3dTiles模型,内存上涨的问题
项目上使用CEF加载web服务。Cesium是开源GIS引擎,可以加载大面积的航拍模型,格式为3dTiles。最近由于模型较大,发现一个问题:运行程序,什么都不操作,内存会不停上涨,直到耗尽所有系统内存。现象如下用抓包工具捕获一下网络请求,发现都是在加载tile块。找了好多资料,基本推断可能是两个方向发生了问题。一个是模型有问题,tile分块太多,另一个是CEF渲染模型时候发生异常,导致内存泄漏(类似这样的问题CEF Forum上有人反馈过,不过没找到解决办法)。所以优先从模型入手,因为原创 2020-07-21 11:00:56 · 3719 阅读 · 0 评论 -
GIS 地图网片的发布和加载
初入GIS行业,如果是学习,肯定会了解到Cesium这个开源引擎。功能非常强大。国内很多公司都对它进行了封装,推出自己的SDK。比如西部世界(可能搜到的是美剧,公司得加油啦)http://www.cesiumlab.com/。实际他们做了很多围绕cesium的开发,以及数据处理工具,都非常好用,也非常成熟。本篇的数据处理就是用的他们家的工具。如果再搜一下还有一家优诺,他们家提供的是thing.js。这个之前肤浅的了解过,可能不完全准确,应该也是基于threejs 和cesium开源项目封装的SDK。国内原创 2020-06-17 12:31:24 · 378 阅读 · 0 评论 -
Cesium 通过primitive 添加垂直图片资源
实际Cesium 项目中添加了部分贴地的资源。资源类型有图片,gltf或者glb的模型。这里简单比较一下primitive 和entity。primitive 基于比较底层的webgl技术,进行渲染资源,所以对于很多自定义的效果支持比较好,灵活度比较高,带来的开销就是API复杂,参数多,单独相对大。entity, 是对primitive的封装,操作简单,一般的效果都能满足。本次项目中是为了通过坐标系,变换实体模型对象。目前知道的就是通过primitive加进去的模型,支持坐标变换。其他的应该也有原创 2020-06-17 11:20:24 · 3670 阅读 · 1 评论 -
Cesium 相机视角控制
基于Cesium 开发实际功能的时候,需要调整或者固定相机视角,支持用户完成操作。今天也遇到类似的需求,记录一下。3D视图中控制视角平移:scene.screenSpaceCameraController.enableRotate = truetrue: 允许左键按下视角平移;false: 禁止左键按下视角平移;控制视角缩放:scene.screenSpaceCameraController.enableZoom = truetrue: 允许中键缩放视角;false:禁止中键缩放原创 2020-06-11 15:40:13 · 5116 阅读 · 0 评论 -
Cesium 中创建viewer 的参数详解
Cesium 需要创建viewer,构建基础的场景信息。创建viewer的过程,包含很多参数,可以调节viewer的样式,或者展现出来的功能。今天具体探索一下这些参数的含义。首先看一下,创建viewer的时候有哪些可选的参数。Name Type Description container Element | String The DOM element or ID that will contain the widget. options Object o原创 2020-05-13 19:19:27 · 3532 阅读 · 2 评论 -
cordova 将cesium 打包成Android App
需求很重要。如果说技术改变世界,那需求就是改变世界的支点。根据项目需求,希望把Cesium 的场景搬到移动端。后续希望给予Cesium 做一些探索。关于Cesium 是什么,它是一套开元的GIS引擎,是国外搞GIS的大牛开发的。其他的就需要自己去探索了,因为我知道的也就这么多。给你个官网的链接https://cesium.com/ion-sdk/#viewshed-package/自己去看。或者可以尝试看看他们的案例,做的很不错https://sandcastle.cesium.com/?src=Sha原创 2020-05-13 16:05:02 · 2484 阅读 · 0 评论 -
Cesium 加载离线地图服务
Cesium 可以加载自定义的地图服务,一般在私有云上应用比较广。原始地图数据有很多地方都可以下载。比如常用的下载工具,付费的有水经注、91助手等,还有国家空间地理服务的官网上也有可用的数据。假设你已经通过一些来源获得了原始的地图数据。接下来需要对原始的地图数据进行切片。之前使用过geoserver。通过geoserver发布的wmts服务,在调用的时候参数比较繁琐,而且发布过程,中间环节...原创 2020-04-09 21:39:20 · 4949 阅读 · 4 评论 -
Cesium 学习案例总结
最近在集中开发Cesium的功能,所以先找了一批别人做的案例。以下是找到的一批链接。https://github.com/boy20000/Mamt3Dhttps://github.com/skylning/Cesium-1其中包括可视域分析、雷达辐射效果、视频投影、特效等。...原创 2020-03-27 09:38:26 · 635 阅读 · 0 评论 -
CesiumJS 旋转entity对象的方式
最近用cesium做的一些效果,加载的entity对象,希望通过鼠标操作,或者信息输入,实现位置移动以及围绕中心位置的旋转。网上搜了很多案例,没有解决这个问题。今天偶然解决了,把解决办法梳理如下。我的使用场景是把视频信息帖合到entity上,然后调整entity的位置角度,与周围地形建筑信息“”融合“”。加载entity对象方法如下viewer.entities.add({id: '...原创 2019-12-25 13:54:52 · 6139 阅读 · 5 评论