安全管理可视化:ThingJS 3D人员定位技术如何实现?

现在我们开始利用室内室外结合的定位技术,了解危险作业区域内工作人员的动态和活动轨迹,传输过来的实时数据可以进行跟踪分析和精准定位,如今展示界面2D平面开始逐渐由3D取代,安全管理可视化更加立体了,具体是如何实现的呢?这个和传统的人员位置展现有什么不同呢?

通过ThingJS可以将人员的定位信息在3D场景中对应起来,进行描点,画线,并创建相关人物的模型,根据实时数据驱动人物行走,并且支持楼层内外的相结合,使我们能更加直观的了解人物所处位置及行走路线。

人物户外行走

在这里插入图片描述

方案:根据最新请求的位置数据与上一次请求所得的位置数据,可计算两个位置之间的距离,再根据两次请求数据的时差,即可得到人物行走的速度,请点击参考ThingJS API (请参考物体下延路径移动demo,http://www.thingjs.com/guide/?m=api)驱动人物行走。

人物即将进入建筑和进入建筑内

在这里插入图片描述
在这里插入图片描述
方案:当最新的人员位置数据在建筑内部时,隐藏建筑外立面(building. showFacades),显示人物即将进入该建筑的楼层(building.showFloors,详见http://www.thingjs.com/guide/?m=api 下 Building),并使用api驱动人物行走。

设置物体观察朝向的代码示例如下:

LookAT(target, params)

Parameters:
在这里插入图片描述
Properties:
在这里插入图片描述
Iherited From:
• THING.BaseObject#add
Overrides:
• THING.BaseObject#add

Example

//让物体面向[0,1,0],该坐标是在世界坐标下位置
obj.lookAt([0,1,0])
//让物体一直面向摄影机
obj.lookAt(app.camera)
//让物体一直面向一个物体
obj.lookAt(obj2)
//让物体一直面向一个物体,同时物体沿自身Y轴向再旋转90度
obj.lookAt(obj2,[0,90,0])
//取消lookAt功能
obj.lookAt(null)

代码示例结束。

人物上楼的效果

在这里插入图片描述

方案:当最新请求的人员位置数据在不同楼层时(比如:从一层到二层),首先显示该楼层并将所有楼层透明(透明便于观察,方法:floor.style.opacity = 0.5 ,详见http://www.thingjs.com/guide/?m=api)。并使用api驱动人物行走。

添加子物体的代码示例如下:

add(params, index?)

Parameters:
在这里插入图片描述
index? Number 插入下标,默认插入到最后位置
Inherited From:
• THING.BaseObject#add
Overrides:
• THING.BaseObject#add

Example

// 将物体 box 作为孩子直接添加到 car 上
car.add(box);
// 添加子物体 box ,并设置其与父物体的相对位置
car.add({
object: box, // 作为孩子的对象
localPosition: [0, 2, 0] // 相对于父物体的坐标
});
// 以某个“子节点”作为参考基准点,添加子物体
car.add({
object: box,
basePoint: “chazi”, // 作为“基准”的“子节点”名称
});

代码示例结束。

在立体建筑内,3D动画会更加直观,让安全管理者更加立体了解实时人员行走轨迹,并解决对位置或地形不熟悉的问题,大大降低了安全监控的门槛,这也表明,物联网3D可视化商用项目是一种趋势,具有很明确和巨大的商业前景!

猜你喜欢

转载自blog.csdn.net/ThingJS/article/details/107531101