1、使用ArcGIS API for JavaScript开发3D Web应用3D Web 基础知识3D 数据与视图3D 可视化3D 微件3D 新特性内容大纲3D Web 基础基于WebGL重新设计的 ArcGIS API for JavaScript 4.x 提供了原生的Web 3D能力 PC:IE 11+,Chrome,Firefox,Safari等现代浏览器【建议配置】4GB以上系统内存,1GB以上显存的独立显卡 移动端:以下设备经过了严格的测试,对于三维有较好的支持 iOS-iPhone 8,iPhone XS,iPad Pro(Safari)Android-三星S8,三星S9,三星Tab
2、 S3(Chrome)地图应用是典型的计算密集型应用程序,更好的CPU&GPU,更大的内存对于应用的性能具有显著的提升客户端硬件需求3D Web App能同时展现2D&3D数据3D数据呈现2D:点线面3D:激光雷达倾斜摄影BIM影像IoTMesh.3D Web应用仍然是以Web服务为核心的体系架构;从而与ArcGIS平台的其他产品之间具有技术与体验的一致性。3D ViewingModeWGS84 或者 Web Mercator曲面视图支持地下模式任意的投影坐标系平面模式支持地下模式 Camera heading tilt fov(55)3D Web 基础知识Ground定义三维场景中的地表由E
3、levationLayers构成提供地下模式的能力3D Web 基础知识ElevationLayer加载服务端高程服务的数据Elevation servicestiled image serviceLERC format(Limited Error Raster Compression)多个高程服务图层可以互相叠加(遵循普通图层的规则)Esri默认提供了2个内置的well-known高程服务world-elevation【三维默认使用】world-topobathymetry高程图层支持自定义3D Web 基础知识高程图层夸张处理(100倍放大)高程图层支持自定义未处理处理后https:/ 二
4、维 or 三维-只需一步二维视图 MapView三维视图 SceneView3D 数据与视图3D API 总体架构SceneView是3D Web应用程序中的地图视图容器,负责3D场景中的数据呈现以及用户行为交互。默认情况下,SceneView以global模式显示 global模式下SceneView采用ECEF坐标系,显示为完全对称的球形,其中球的半径为6378137,单位为米 当前 Multipoint 类型仍然不支持在SceneView中显示SceneViewSceneView-3D 地图容器Cameraesri/Camera控制3D应用程序中的视图参数,其中:position:表示当
5、前视图的中心(以x,y,z表示)heading:表示当前视图与正北方向的顺时针夹角,取值范围0-360 tilt:表示当前视图的垂直方向夹角,其中0表示视角垂直地面;90表示视角平行地面。取值范围0-180通过修改SceneView对象的camera属性,可以立即改变当前3D的视图。Camera通过修改camera属性来改变3D视图是直接切换到指定的视图范围的,然而在3D Web应用中,esri提供了另一种更好的方式来进行视图导航。goTo函数提供了一种简单一致的API来实现平滑的导航动画特效。goTo(target,options?)goTo函数支持多种不同的数据类型作为target,包括:
6、Number:表示经纬度数值的数组Geometry/GeometryGraphic/GraphicViewpointCamera targt,center,scale,zoom,position,heading,tilt 3D 导航goTo函数默认启用了平滑的视图动画特效,同时支持通过自定义设置来实现更为精细和逼真的动画效果。animate:是否启用动画,默认设置为true speedFactor:动画速度,默认为1,即不加速 duration:以毫秒为单位的动画时间;设置此参数将忽略speedFactor的值 maxDuration:以毫秒为单位的最大动画时间;默认情况下的值根据speedF