gis控制柜 电气hgis是什么意思

最近这几年,AR和VR非常火热 。无论是在商场体验区里,还是苹果新出的手机中,到处都有AR和VR的身影 。今天小编就为大家介绍下AR、VR技术在ArcGIS Runtime里的应用 。
首先给大家普及几个概念:
ArcGIS Runtime
这是Esri的一系列开发包,它将ArcGIS 平台的所有功能开放给移动、桌面和嵌入式设备,无论您使用的是ArcGIS Online还是ArcGIS Enterprise或者您是离线用户,ArcGIS Runtime都可让您执行所有任务:从简单的地图显示和导航到高级分析和可视化 。
AR
Augmented Reality,即增强现实,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在 。对于ArcGIS Runtime来说,AR就是将3D GIS场景渲染到透明背景的SceneView控件上,然后再叠加到真实环境中 。
VR
Virtual Reality,即虚拟现实,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中 。对于ArcGIS Runtime来说VR是通过启用3D GIS立体视图来实现用于虚拟现实设备中的SceneView控件 。
ArcGIS Runtime SDK for AR/VR目前还处于内部测试阶段,下面以.NET SDK为例,我们一起来体验使用ArcGIS Runtime 开发AR、VR应用 。

gis控制柜 电气hgis是什么意思

文章插图
系统要求,请参照:https://developers.arcgis.com/net/latest/forms/guide/system-requirements.htm
AR in ArcGIS Runtime
1. 启用相机视图
为了展示真实场景,需要显示设备相机视图,SceneView视图将会叠加在相机视图顶部 。访问相机传感器的接口请参阅相应设备和平台的API 。
2. 创建SceneView并添加3D GIS数据
MySceneView.Scene = new Scene();
MySceneView.Scene.OperationalLayers.Add(<operational layer>);
3. 启用AR模式
设置SceneView.IsARModeEnable属性为true 。
MySceneView.IsARModeEnabled = true;
4. 定义相机控制器,使用传感器交互
为了使用户能够与虚拟场景进行相交互,需要定义设备的位置和方向,一般来说这需要与设备传感器相集成 。ArcGIS Runtime提供了一个FirstPersonCameraController,它通过设备传感器来管理SceneView的相机 。
FirstPersonCameraController需要一个初始位置,来确定从哪里开始与虚拟场景进行交互 。在全尺寸下,初始位置通常是设备的当前地理位置(x,y,z)和方向(航向,俯仰,翻滚) 。在小范围内,它通常是虚拟内容中的一个位置(如下面的示例代码所示):
gis控制柜 电气hgis是什么意思

文章插图
var cameraSanDiego = new Camera(32.707, -117.157, 100, 180, 0, 0);
var fpcController = new FirstPersonCameraController(cameraSanDiego);
FirstPersonCameraController具有一些与场景交互非常重要的属性,其中最重要的一个属性就是DeviceMotionDataSource,它是一个抽象类,提供了一个可以在场景视图的相机控制器中注册特定设备传感器的框架 。一般来说,DeviceMotionDataSource的实现是大多数扩展AR设备开发的主要工作,稍后部分会进一步介绍 。
PhoneMotionDataSource类是ArcGIS Runtime为Android和iOS设备提供的,它集成了硬件传感器,可用于各个平台相应的设备 。这些传感器将提供位置和方向信息,但是并不能准确地计算移动,所以初始位置是静止的 。这里有几个方法可以使用,方向(StartUpdatingAngles)或者位置(StartUpdatingInitialLocation)或者两者都有(Both) 。StartUpdatingAngles对于用户移动设备非常重要 。一般来说,如果设备的位置对渲染虚拟内容很重要,那StartUpdatingInitialLocation就非常重要 。例如设备在工地上,虚拟内容是在该站点上构建的结构 。