森友js

  • 2022-01-21
  • 发表了日志: 如果有智慧公交可视化平台,《开端》还能无限重启吗?

  • 2022-01-13
  • 发表了日志: ThingJS API 2.0全面进化更适合数字孪生应用

  • 发表了日志: ThingJS API 2.0全面进化更适合数字孪生应用

  • 2022-01-10
  • 发表了主题帖: ThingJS如何为低门槛3D可视化开发赋能

    近几年,大家会接触到很多跟物联网相关的平台或者系统,但是定位跟物联网3D可视化相关的还是很少。而最近这一两年,无论是3D可视化还是比较火热的数字孪生理念,都带动了可视化开发平台这样的概念出现。 ThingJS是2018年推出的面向物联网的3D可视化PaaS开发平台,直到现在也是全球首个物联网可视化开发平台。优锘最早在2012年就开始做3D可视化了,一直到现在积累了近10年的行业经验,形成了完整的工具链条,所以ThingJS平台在整个行业内是很具有独特性的。 但为什么说ThingJS平台是Google Maps遗失的最后一百米呢?因为在Google Maps上是可以调取3D场景的,但基本就到园区或者建筑层级,而再向下层级或是更精细化的管理和可视化展示就无法实现了。所以,ThingJS平台的出现就是来解决Google Maps这最后一百米“路程”的。 ThingJS平台定位 ThingJS PaaS平台的定位就是给行业合作伙伴以及物联网的解决方案供应商来做可视化赋能。平台提供了一整套3D设计工具组件、海量3D模型库,利用这样的组件和模型库,就能在ThingJS的体系里快速构建3D场景。在场景基础上,利用ThingJS开发平台提供的API,通过命令和控制去驱动3D场景,结合第三方的数据,形成下图中右侧各种3D可视化的行业应用。 ThingJS平台特点 ①提供海量3D模型库。在资源库中还会有相关的接口开放,让合作伙伴利用接口去增加更多的3D资源,也叫ThingDepot。 ②提供高效的3D场景搭建工具。这些场景包括园区级的场景,也包括城市级的场景。CampusBuilder负责园区级的场景搭建,CityBuilder负责城市级别的场景搭建,构建出来的场景通过上层API去完成应用。 ③JS脚本开发语言。利用JavaScript的JS脚本作为开发语言,可以说是0门槛,因为在行业内但凡涉及到开发,前端网页类的应该是比较简单的,JS应该是目前门槛最低的,相比传统的3D可视化开发要简单很多。 ThingJS开发平台VS传统3D开发 我们来做个简单的对比,传统的3D可视化开发和用ThingJS开发从人员配备、开发效率、3D场景制作、3D模型制作、系统部署方面进行对比。 ①首先从人员成本上,ThingJS无需组建新的团队,既有人员即可上手操作; ②开发效率上由于ThingJS形成了一系列的封装,有很多快捷代码和高级封装,不像传统的3D可视化开发要从底层开始写,只要接触过JS语言或是前端引擎的,就能去构建一个3D可视化应用,大大降低开发效率; ③其次是3D场景制作和3D模型制作,ThingJS提供的一系列工具和模型库,普通人员就可以上手操作,无需依赖专业的建模人员,提升效率的同时降低成本; ④最后是系统部署,提供公有云服务和私有云部署,只需简单操作即可调试完成。 所以,ThingJS提升3D场景开发效率的同时还可以降低成本,并带来10倍的提升。 ThingJS平台适用行业 ThingJS适用于各行业的应用,这里罗列一些优锘或是ThingJS平台本身在各行业的项目尝试。比如安防管理、消防管理、监所、粮仓、港口等等的应用。北京消防总队和全国各个消防单位的数字化预案、以及中储粮的项目都是通过ThingJS平台完成的。所以,ThingJS的诞生是我们在各行业内经过积累和历练打磨出来的3D可视化开发平台。 ThingJS平台发展历程 ➤2014年:ThingJS平台前身模模搭上线。模模搭是一个3D场景搭建工具,它的体系跟现在ThingJS的体系是非常相似的。当时,模模搭能够立即搭建一个简单的3D场景,可以对接数据,通过API调用来构建一个应用,并且还可以去对接各种第三方的现成应用系统。最开始就是这样一个概念,自此之后的三年内,都在利用该工具去做一些样板项目,来验证我们的技术链条,同时验证利用平台化方式去做3D可视化开发这件事是否成立。 ➤2017年:基于WebGL开始研发ThingJS引擎。由于谷歌宣布不再支持传统的浏览器插件技术,所以2017年我们开始从模模搭的引擎转为WebGL的引擎来做,将其命名为ThingJS。这个命名首先是因为“Thing”它是面向物联网应用的,其次 “JS”很明确,3D引擎对外的API标准就是JS语言,只要会前端的工程师都可以进行开发。 ➤2018年:ThingJS正式发版,并在云栖大会上将ThingJS引擎OEM给阿里的IoT平台,同时,我们也通过三年时间验证了利用平台来做3D可视化应用开发的基本模式。 Step1:利用CampusBuilder、CityBuilder构建3D场景 Step2:基于3D场景,在线开发或离线开发SDK 3D应用 Step3:对接物联网传感器或业务数据 Step4:在线或离线部署 2021年:2018年发版至今,ThingJS累计注册数达40万,与开发者共创34万+3D场景,并实施新项目累计高达14万。 ThingJS未来展望 ①开发者生态:向上支撑开发者生态,通过我们工具的赋能,让开发者能够完成自己的数字孪生应用。同时能够在平台上沉淀下来,后续通过分享产生自主商业收益。 ②直销客户:通过ThingJS平台进行项目落地,如有需要优锘也可以帮助直销客户进行项目交付,并形成行业解决方案供直销客户使用。 ③合作伙伴:平台赋能且鼓励相关行业长期合作伙伴,通过ThingJS进行开发,并在平台上形成复用并形成相应的交易。 整体上会按照三个层面将生态打造的更加完整。从底层的角度来讲,主要是ThingJS底层引擎API,通过能力扩充开发者利用ThingJS平台,可以来完成基础的产品研发。 中间层,今年开始ThingJS开始推零代码的配置平台ThingJS-X,面向无法投入过多开发资源的合作伙伴,通过ThingJS-X零代码的配置工具就可以完成项目的交付。 最上层,就是优锘行业和区域级的产品和解决方案,可以解决一些复杂的数字孪生应用,整体通过这样的方式来形成完整生态。

  • 2022-01-06
  • 发表了主题帖: 绘图黑科技—轻松搭建“真孪生”2D场景

    描绘真实的物理世界时,3D的场景能给人更加直观的感受。然而在数字孪生应用中,除了描绘物理世界,很多时候也需要去描绘逻辑世界,表达对象之间的逻辑拓扑关系,比如组态工艺流程、网络拓扑关系等。在对面这些需求时,2D的表现方式显然更为清晰。搭建3D园区和3D城市,可以使用ThingJS的工具,做一些3D可视化的开发。那面对这些2D场景时,该用什么工具呢? 图形可以最直观的表达思想,2D场景一般都使用视图来表达。很多人使用Visio来绘制拓扑图,但Visio图不能对接外部数据,也不能用API来驱动场景中的对象状态,无法满足各式各样的2D可视化需求。有这样一款产品——TopoBuilder,可以轻松完成2D场景下的各类可视化需求。 相较于传统绘图工具,TopoBuilder给使用者带来极度舒适的全新绘图体验,可支持包括流程图、组态图、电路图、UML、BPMN、ArchiMate等在内的多种专业图形绘制。 TopoBuilder以一种全新的在线绘图方式来帮助使用者根据想法快速构建出一幅完整的视图,提供视图管理、云端存储、在线协作、版本回溯、数图联动等丰富功能,并且随时随地打开浏览器即可画图。   特色功能   1、丰富图元和模板 TopoBuilder绘图时采用鼠标拖动的方式进行绘图,操作便捷流畅,提供便捷工具栏可进行样式与布局的快速修改。内置丰富的图元和模板,提升2D视图绘制的效率和美观度。除了组态图、流程图、网络架构图等,还支持UML、BPMN、ArchiMate 等多种专业图形绘制。同时也支持上传自定义图形,打造属于自己的形状库。   2、盘活手中的Visio图 开头有提到Visio是很多人常用的绘图工具,但Visio无法对接外部数据和用API控制。TopoBuilder支持导入Visio格式的文件,并且绘制的视图支持导出PDF、PNG、JPG、SVG等多格式文件,可满足不同使用场景的需求。   3、多人绘制,实时同步 说到在线协作,常用的腾讯文档之类的互联网产品都具备这个能力,TopoBuilder也提供了多人实时在线协作能力,满足多人协作绘图的场景。在绘图过程中系统会自动生成历史版本,方便回溯查看对比,使文件安全有保障。   4、无缝对接ThingJS开发平台 作为ThingJS工具体系中的一员,TopoBuilder绘制的视图,会自动同步到ThingJS在线开发平台,可直接引用并使用ThingJS API中的拓扑组件进行2D可视化应用开发,使场景中的每个图形都能作为孪生体与物联网设备进行双向数据交互,轻松实现组态监控、流程控制、场景联动等数字孪生应用需求。 TopoBuilder支持在Chrome、Firefox和Safari等各种主流浏览器下使用,可以随时创建和共享。而且操作简单,十多分钟就能上手流畅使用,协作的功能也非常好用,可以多个人在一起画一张图,还能实时同步,在绘图体验上也很好。快来体验TopoBuilder探索更多精彩~

  • 发表了日志: 绘图黑科技—轻松搭建“真孪生”2D场景

  • 2021-12-20
  • 发表了日志: 就像玩游戏?随拿即用式构建园区场景

  • 2021-12-16
  • 发表了日志: 可视化,带你走进“真实”的虚拟世界

  • 2021-12-15
  • 发表了日志: 教你用四步快速将图表集成到场景

  • 发表了日志: 教你用四步快速将图表集成到场景

  • 2021-12-13
  • 发表了日志: 关于“元宇宙”,讲点你能听懂的

  • 2021-11-19
  • 发表了日志: 为什么越来越多的企业选择智慧可视化管理模式?

  • 2021-11-11
  • 发表了日志: 三个3D可视化案例:不只酷炫,实用最重要

  • 2021-11-04
  • 发表了日志: “智慧粮仓”守卫中国饭碗

  • 2021-08-19
  • 发表了主题帖: 电子围栏可视化,提高安全运维效率

    现代工业化的推进在极大加速现代化进程的同时也带来的相应的安全隐患,在传统的监控领域,一般都是基于Web前端技术来实现 2D 可视化监控,本文采用ThingJS来构造轻量化的 3D 可视化场景,该3D场景展示了一个现代化商场的数字孪生可视化场景,包括人员的实时位置、电子围栏的范围、现场的安全情况等等,帮助直观的了解当前人员的安全状况。 电子围栏又称周界防盗报警系统,监控防区工作状态,实景中的电子围栏系统用于农业、畜牧业,以及监狱、军事设施等安全敏感地区。ThingJS平台上,电子围栏指的是一个区域,使用PolygonRegion属性。创建物体对象或模型并开启移动功能,即可开始检测目标点是否进入电子围栏区域,判断true或false显示告警反应。 本篇文章通过对数字孪生可视化场景的搭建和模型的加载,人物实时定位代码的实现、电子围栏和轨迹图的实现进行阐述,了解如何通过使用ThingJS实现一个简单的3D电子围栏可视化。   // 添加电子围栏 new THING.widget.Button('添加电子围栏', function() { // 构成多边形的点(取世界坐标系下的坐标) points = [ [81, 0.5, 63], [81, 0.5, 52], [72, 0.5, 52], [72, 0.5, 63] ]; if (polygonMarker) { return; } // 创建电子围栏(区域) polygonMarker = app.create({ type: 'PolygonRegion', points: points, // 传入世界坐标系下点坐标 style: { regionOpacity: .6, regionColor: '#3CF9DF', // 区域颜色 lineColor: '#3CF9DF' // 线框颜色 } }); // 设置永远在最上层显示 polygonMarker.style.alwaysOnTop = false; })   当人物或物体对象出发警报时,有2种方式提醒注意,一是踏足的禁区围栏颜色发生改变;二是展示面板显示报警信息,可视化监控目标点的移动范围。 完整代码如下:   // 添加图片标注 new THING.widget.Button('添加图片标注', function() { var coord = [83, 0.5, 61]; if (marker1) { return; } // 创建目标点(marker) marker1 = app.create({ type: "Marker", id: "marker1", url: "/guide/examples/images/navigation/user.png", position: coord, size: 1 }) }) var point = [ [81, 63], [81, 52], [72, 52], [72, 63] ]; // 移动图片标注 new THING.widget.Button('移动图片标注', function() { var markerEndPoint = [68, 0.5, 55]; if (marker1 != null) { var moveState = marker1.getAttribute('moveState'); if (moveState == 'complete') { marker1.off('update', null, '监控图片标注'); return; } // 目标点移动 marker1.moveTo({ position: markerEndPoint, // 移动到终点位置 time: 2 * 1000, orientToPath: true, // 沿路径方向 complete: function(ev) { marker1.off('update', null, '监控图片标注'); $('.warninfo1').css('display', 'none'); $('.warninfo2').css('display', 'block'); $('.warninfo3').css('display', 'none'); marker1.setAttribute('moveState', 'complete'); } }) } if (points != null) { // 监控图片标注是否进入电子围栏区域 if (marker1 != null) { marker1.on('update', function() { if (polygonMarker != null) { var intoPolygonMarker = isInPolygon([marker1.position[0], marker1.position[2]], point); if (intoPolygonMarker) { polygonMarker.regionColor = '#a94442'; polygonMarker.lineColor = '#a94442' $('.warninfo1').css('display', 'block'); $('.warninfo2').css('display', 'none'); $('.warninfo3').css('display', 'none'); } else { polygonMarker.regionColor = '#3CF9DF'; polygonMarker.lineColor = '#3CF9DF' $('.warninfo1').css('display', 'none'); $('.warninfo2').css('display', 'none'); $('.warninfo3').css('display', 'block'); } } }, '监控图片标注') } } }) // 添加模型标注 new THING.widget.Button('添加模型标注', function() { //创建目标点(Obj) people = app.query('#worker')[0]; people.position = [83, 0.1, 56]; people.visible = true; people.scale = [1.5, 1.5, 1.5]; }) // 移动模型标注 new THING.widget.Button('移动模型标注', function() { var objEndPoint = [70, 0.1, 60]; if (people != null) { var moveState = people.getAttribute('moveState'); if (moveState == 'complete') { people.off('update', null, '监控图片标注'); return; } // 播放模型动画 people.playAnimation({ name: '走', speed: 1, loopType: THING.LoopType.Repeat, }); // 模型移动 people.moveTo({ position: objEndPoint, // 移动到终点位置 orientToPath: true, // 沿路径方向 time: 8 * 1000, complete: function(ev) { people.stopAnimation('走'); people.off('update', null, '监控模型标注'); $('.warninfo1').css('display', 'none'); $('.warninfo2').css('display', 'block'); $('.warninfo3').css('display', 'none'); people.setAttribute('moveState', 'complete'); } }) } if (points != null) { // 监控模型标注是否进入电子围栏区域 if (people != null) { people.on('update', function() { if (polygonMarker != null) { var intoPolygonMarker = isInPolygon([people.position[0], people.position[2]], point); if (intoPolygonMarker) { polygonMarker.regionColor = '#a94442'; polygonMarker.lineColor = '#a94442' $('.warninfo1').css('display', 'block'); $('.warninfo2').css('display', 'none'); $('.warninfo3').css('display', 'none'); } else { polygonMarker.regionColor = '#3CF9DF'; polygonMarker.lineColor = '#3CF9DF' $('.warninfo1').css('display', 'none'); $('.warninfo2').css('display', 'none'); $('.warninfo3').css('display', 'block'); } } }, '监控模型标注') } } }) // 重置 new THING.widget.Button('重置', function() { if (polygonMarker) { polygonMarker.destroy(); polygonMarker = null; } if (marker1) { marker1.destroy(); marker1 = null; } if (people) { people.visible = false; people.setAttribute('moveState', null); } $('.warninfo1').css('display', 'none'); $('.warninfo1').css('display', 'none'); $('.warninfo1').css('display', 'block'); }) createTip(); // 创建提示面板 }); /** * 创建提示面板 */ function createTip() { var html = `<div class="fencing" style="width:200px;position: absolute;top: 50px;left: 50%;transform: translateX(-50%);z-index: 999;"> <div class="alert alert-danger warninfo1" role="alert" style="padding: 15px;margin-bottom: 20px;color: #a94442;background-color: #f2dede;border-color: #ebccd1;border-radius: 4px;display:none;">目标已进入围栏</div> <div class="alert alert-info warninfo2" role="alert" style="padding: 15px;margin-bottom: 20px;color: #31708f;background-color: #d9edf7;border-color: #bce8f1;border-radius: 4px;display:none;">到达目的地</div> <div class="alert alert-warning warninfo3" role="alert" style="padding: 15px;margin-bottom: 20px;color: #8a6d3b;background-color: #fcf8e3;border-color: #faebcc;border-radius: 4px;">目标未进入围栏</div> <div onclick="fenClose()" style="cursor: pointer;position: absolute;top: -7px;right: -8px;width: 16px;height: 16px;border-radius: 50%;background-color: #777777;border: 3px solid #ffffff;"> <div style="position: absolute;width: 10px;height: 2px;background-color: #fff;transform: rotate(45deg);top: 7px;left: 3px;"></div> <div style="position: absolute;width: 10px;height: 2px;background-color: #fff;transform: rotate(-45deg);top: 7px;left: 3px;"></div> </div> </div>`; $('#div2d').append($(html)); } /** * 关闭提示面板 */ function fenClose() { $(".fencing").hide(); } /** * 检测目标点是否进入电子围栏区域 * @param {Array} checkPoint - 校验坐标 * @param {Array} polygonPoints - 形成电子围栏的坐标 * @returns {Boolean} true 或 false * @description 此方法仅判断处于同一个平面的目标点是否在区域内(只判断坐标x和z值), * 不考虑两者当前离地高度(坐标的y值) */ function isInPolygon(checkPoint, polygonPoints) { var counter = 0; var i; var xinters; var p1, p2; var pointCount = polygonPoints.length; p1 = polygonPoints[0]; for (i = 1; i <= pointCount; i++) { p2 = polygonPoints[i % pointCount]; if (checkPoint[0] > Math.min(p1[0], p2[0]) && checkPoint[0] <= Math.max(p1[0], p2[0])) { if (checkPoint[1] <= Math.max(p1[1], p2[1])) { if (p1[0] != p2[0]) { xinters = (checkPoint[0] - p1[0]) * (p2[1] - p1[1]) / (p2[0] - p1[0]) + p1[1]; if (p1[1] == p2[1] || checkPoint[1] <= xinters) { counter++; } } } } p1 = p2; } if (counter % 2 == 0) { return false; } else { return true; } }  

  • 2021-08-11
  • 发表了主题帖: 你要悄悄学习3D城市,然后惊艳所有人(4)

    3D城市搭建过程中需要不同的效果来实现不同的功能,如添加水系、道路、热力图等。这时候就需要了解CityBuilder的图层类型了,图层类型分为点图层、线图层和面图层。不同类型的图层,可调节的图层样式有所不同。 点图层 点图层由带有地理位置(coordinates)的点要素构成。点图层基础样式有常规点和热力图,可以将矢量符号、图片、模型表现在3D地图中。可以用于添加并显示城市地标、地铁站、热力图等。 常规点:可选择符号类型, 如矢量、图片或模型。 矢量:可设置形状类型、颜色、边框、形状大小、单位、旋转速度、透明度和离地高度。 图片:可选择图片、形状大小、单位、旋转速度和离地高度。 模型:可选择模型样式、大小、角度;可设置动画名称、是否播放、循环类型和离地高度。 热力图:可设置热度色带、热度半径和权重字段。 线图层 线图层是由带有地理位置(coordinates)的线要素构成,线型包括常规线、管状线和道路线。一般可用于添加并显示城市道路、区域面轮廓线等。图层样式为普通线。可选择填充设置,包括颜色和贴图,可设置颜色/图片纹理、线宽、线型、离地高度、透明度、光效和动效。常用于添加并显示城市道路。 面图层 面图层由带有地理位置(coordinates)的多边形要素构成,用于添加世界/国家/省市面图层、水系、城市建筑等。面图层包含图层样式和基本样式两部分。面图层的图层样式类型包括区域面、建筑效果和水体效果。根据所选的图层样式,可以设置相应的基本样式属性。 面图层的建筑效果一般应用于城市建筑,对国家版图的面图层不适用。 区域面:可选择填充设置(包括颜色和贴图)、颜色/贴图设置、边框、垂直发光、透明度、3D 效果(包括离地高度和拔高)。 建筑效果:可选择填充设置(包括颜色和贴图)、颜色/贴图设置、透明度、离地高度、拔高以及特效。 水体效果:可设置颜色、离地高度和流速。  

  • 2021-08-10
  • 发表了主题帖: 智慧体育馆用科技力量点亮奥运赛场

    【我可太骄傲了!中国奥运军团88枚奖牌完美收官!】本届东京奥运会闭幕,最终中国代表团38金32银18铜收官!中国体育代表团的出色发挥、媒体和观众的理性包容,成为对“更快、更高、更强——更团结”的奥林匹克新格言的完整诠释。 体育馆作为各国运动员拼搏奋斗为国争光的场馆,可容纳几万人次。作为服务于赛事活动、市民文体活动的基础设施,建筑面积大、流动人员广、现场情况多变,对人员疏散、预警、园区监控都有高要求,才能保障园区安全高效运营。 随着物联网技术的发展,物联网的应用逐渐扩展到社会生活的各个方面,智慧体育馆也成为物联网技术的一个重要应用领域。本项目结合物联网技术,设计与实现了一个智慧体育馆系统,不仅保证馆内实时数据的监控与交互,同时提供体育馆内部管理系统,完善体育馆的服务与功能。 行业痛点 建筑结构难以掌握 场馆建设规模加庞大,老员工都难以熟悉所有房间结构,不利于场馆维护及未来新系统建设。 安防工作管理不便 场馆人流量大,安防工作尤为重要,但由于安防设备数据量多、分布散,给巡检及视频监控等安防工作带来不便。 难以进行统一管理 除安保工作外,场馆还承担能源、停车、人员等管理工作,但由于管理系统分散,无法跨专业管理,难以从统一视角进行运营规划。 解决方案 利用图纸及实际建筑情况,将整个场馆园区进行整体建模,包括外围的道路、绿化、场馆外观及场馆内部结构,并可展示场馆的基本规格信息,支持对场馆内部功能分区进行管理。以园区、建筑、房间的逻辑可逐层查看,辅助管理人员快速掌握场馆内外环境,为远程指挥工作、未来系统扩建工作提供全面直观的三维服务。场景在 Web 中高效流畅地加载运行并保证场景优秀的可视化效果。能够实现基于3D环境对场馆内安保工作、人员、设备和赛事数据的管理功能,辅助场馆运营规划和调整。 集成安防系统 保障安全运维 基于三维环境直观查看安防设备、安保人员在场馆内的具体位置。通过安防数据集成形成统一管理体系,避免出现巡检工作错检、漏检情况发生并可形成各系统之间的联动机制,辅助安保事件管理工作。 数字化体验方式 展示场馆实力 全新的数字化体验方式体现场馆核心资源优势,展示场地硬实力的同时将智能化和自动化的理念向客户进行传递,提升品牌形象与影响力,成为智慧场馆对外的关键运营窗口。 一体化平台 提升管理效率 智慧场馆可视化系统可集成能源、网络、停车、运营等管理系统,建立统一管理系统,支持基于可视化能力对供水、供电、照明、人流、车流等多场景进行管理。 改变场馆运行管理枯燥单一的界面,整合多系统直观呈现,提升运行管理水平。 本文的智慧体育馆既可用于大型体育场馆的智慧化管理也可为中小型体育馆提供便捷的场馆安全管理、场馆监控、用户服务等功能。与此同时,也能为物联网的其他智慧应用提供一定的借鉴作用。即将到来的冬季奥运会,有智慧体育馆的助力可以对场馆内的安防设施进行全面升级,增加人脸识别、人群密度监测、温度监测等基多项安保措施,并针对大型活动建立安防统一管理视图,涵盖视频监控、周界告警、人员管理、智能巡检、区域管理等能力。ThingJS将持续为智慧场馆提供技术支持,科技与体育场馆的结合,点亮了未来体育场馆的现代化、智慧化场景。

  • 2021-08-09
  • 发表了主题帖: 你要悄悄学习3D城市,然后惊艳所有人(3)

    CityBuilder中图层的概念跟ps这种制图软件大致相同,可以理解为是堆叠在一起的透明纸。在 CityBuilder 中,通过图层可将数据文件加载到数字孪生可视化场景中,如城市建筑、道路、水系等。除了之前文章中介绍的加载公共数据以外,还可以上传本地的数据文件。 按下列步骤,将我的数据加载到图层中,并设置图层属性。 1、 在左侧菜单栏中,点击图层右侧添加图层按钮。 2、 在弹出的窗口中,选择我的数据 > 上传数据。右侧设有搜索工具栏,输入关键字,或按数据类型、时间、名称、大小排序。 3、 在弹出的窗口中,点击选择数据文件。选择与上传数据相对应的坐标系,以便将图层准确加载到数字孪生可视化地图坐标位置上。 4、 在弹出的本地文件夹窗口中,选择本地文件,点击打开。 5、 等待文件上传完成后,点击确认上传即可。 6、 重复步骤2~4,可添加更多数字孪生可视化数据文件,如点数据(Point)、线数据(Line)、面数据(Polygon)等。 7、 在窗口中,点击加载后的数据图像,即可将其加载到数字孪生可视化图层中。 添加图层后,通过图层属性设置面板,可以调节图层效果。点击图层即可打开图层属性设置面板。在面板顶部,设有编辑按钮,可编辑图层名称;定位按钮,可定位到此图层。 在图层属性设置面板中,有三个图层选项卡,分别是样式、弹窗和数据。 样式:设置图层样式和基本样式,来调节图层效果。 弹窗:显示图层详细信息,如国家、省市、城市道路等。选择弹窗 > 打开方式 > 点击,鼠标点击数字孪生可视化地图中标记点,即可显示地点的标识信息。可以自定义交互设置和字段设置,还可以更改弹窗风格。 数据:设置图层静态数据,可以在保持图层效果不变的情况下,只更换图层数据。  

  • 2021-08-06
  • 发表了主题帖: 给三维城市地图添加园区场景

    3D城市搭建完成后,那么是否能够既显示园区场景又显示三维城市地图场景呢?CityBuilder是可以完成的,在创建的数字孪生可视化三维城市的基础上,还可以加载公共场景或自己搭建的数字孪生可视化场景(园区)。话不多说,下面我以加载公共场景为例进行说明。 1、 在左侧菜单栏,点击场景右侧的添加场景按钮。 2、在弹出的窗口中,选择公共场景 > 优锘大楼。在我的场景标签页中,这里的场景与我们在 CampusBuilder 中搭建的数字孪生可视化场景是同步的。需等待园区加载完毕后,才能继续进行下面的步骤。一般情况下,园区加载需要15~20秒。主窗口底部的绿色进度条可显示加载进度。 3、在弹出的地图中,搜索园区地址,点击确定,即可将数字孪生可视化园区加载到指定位置上。也可以先直接点击确认,再通过场景设置面板来更改位置。 4、点击优锘大楼图层右侧的菜单按钮,选择定位,如下图所示。定位到优锘大楼。 5 、点击优锘大楼场景图层,即可打开场景设置面板。点击拾取位置后,点击地图上所需加载场景的位置,调节方向角度,即可将数字孪生可视化场景放置于目标位置上。 选择样式,点击模板,即可将效果模板设置到场景上。下图所示为添加模板后的场景效果示例。 CityBuilder便捷的三维城市搭建服务,让三维地图的获取、效果和使用从此不再是难题!  

  • 2021-08-05
  • 发表了主题帖: 数字化时代到来企业如何“数字化生存”

    【据测算 #我国数字经济规模达5.4万亿美元#】“2021全球数字经济大会”8月2日在北京开幕。会上,中国信息通信研究院发布的《全球数字经济白皮书》显示,2020年,全球47个国家数字经济规模总量达到32.6万亿美元,同比名义增长3.0%,占GDP比重为43.7%。中国数字经济规模为5.4万亿美元,位居世界第二;同比增长9.6%,位居世界第一。 经常听到数字经济,那到底什么是数字经济呢?我用大白话来给大家讲一讲,你听过人工智能、5G通信吗?你接触过网上购物、线上教育吗?这些全部都属于数字经济,现在是不是发现,数字经济与我们的日常生活息息相关呢? 在当下这个社会中,数字化时代已经全面到来,“数字化生存”需要哪些必备技能?还有哪些场景可能被数字化?数字化转型企业应该如何做? 数字化时代,企业转型迫在眉睫,数字孪生可视化成为得力助手。ThingJS数字孪生可视化为企业提供可视化有力手段,以大数据和系统整合为基础,有效融合互联网+、大数据、云计算、人工智能等前沿技术应用,将新技术、新设备与行业管理决策需求有机结合,充分发挥平台态势监测、指挥调度、分析研判、可视呈现等多重作用,有效提升跨部门决策和资源协调效率,实现行业建设成果和价值的集中体现,让各领域运行态势可知可感。 企业数字可视化转型可借助ThingJS 面向物联网的开发平台构建虚拟三维可视化模型,直观的展示现实世界的场景。基于物联网技术全面三维可视化;层次化递进浏览监控企业区域、园区数据中心、机房、机柜、设备、端口;包括业务系统运行状况及可用性可视化、网络以及业务系统的可视化;运维服务流程管理的可视化、流程考核可视化、运维大数据可视化等。 ThingJS助力企业通过数字孪生可视化进行科学决策,数字化正在以前所未有的速度重塑着商业蓝图,ThingJS数字化案例恰好可以满足企业转型需求,为企业达成高效率低成本目的。 随着互联网、大数据、云计算、人工智能等技术的创新,数字孪生可视化迅速发展,各大企业经营管理进入数字化时代。商业模式的快速更迭、外部环境风险的挑战使得企业不再拘泥于传统的运营与操作,走向更为敏捷的数字化管理。顺应企业数字化转型的趋势,ThingJS作为面向物联网的可视化开发平台助力企业迈向数字化和智能化,助力数字孪生落地应用,真正帮助各行业决策者运筹帷幄,决策千里。  

最近访客

< 1/1 >

统计信息

已有7人来访过

  • 芯积分:30
  • 好友:--
  • 主题:29
  • 回复:4
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言