分享

使用ArcGIS API构建高技术含量的地图应用

 昵称37581541 2019-04-05

利用ESRI  Javascript API构建地图可以改变我们感知世界的方式以及交互的方式。其强大的API有助于我们在互动的二维和三维环境中应对各种需求。与其它API一样,ESRI JavaScript API提供了多种创建自定义应用程序的方法。

ESRI Javascript API可以使用多种数据格式构建二维在线地图和三维在线地图,集成了多种基础地图底图、地理处理小部件、切片服务和三维服务。

PointCloudLayer (3D LiDAR)

自从arcgis api for javascript 4.2以来,点云场景可以快速显示并且符号化大量数据,还提供了过滤点云的功能。

下面的LiDAR地图场景超过了十亿点。


怎么创建点云场景:

首先,创建一个LAS数据集图层。接下来,您必须生成一个场景包(.slpk)。最后,必须将其作为场景服务发布到Portal 或Arcgis online上。


require(['esri/layers/PointCloudLayer'], function(PointCloudLayer))

实时Web服务和WebGL

arcgis api for javascript的一个优点是可以调用其它应用程序中创建的3D模型

例如,这个风车模型是在Blender中创建的,在WebGL中进行三维渲染。

根据位置的当前天气条件,风车叶片的方向和速度会相应地进行调整。因此,我们有近乎实时的风车与Web服务同步旋转。这是不是很酷。


require(['esri/views/3d/externalRenderers'], function(externalRenderers))

Integrated Mesh Layer

集成网格可以表示建筑和自然景观的3D特征,例如建筑物墙壁,树木,山谷和悬崖,具有逼真的纹理并包括高程信息。通常为城市范围或横向3D地图创建集成网格场景图层,可以使用Drone2Map for ArcGIS创建或由第三方应用,比如VRICON。


require(['esri/layers/IntegratedMeshLayer'], function(IntegratedMeshLayer))

色变化渲染动画

ArcGIS API使用HTML滑块和RequestAnimationFrame()可视化纽约市100多万栋建筑的施工年份。滑块控制年份的变化。arcgis api可以基于其相对于滑块值的施工年份来可视化每个建筑。例如,如果选择1984年的值,则1984年建造的建筑将用浅蓝色阴影。在那一年之前建造的建筑物,根据建造年份的不同,会逐渐沿着蓝色到粉色的变化。在选定年份之前20年以上建造的建筑物用粉红色阴影标出。单击“播放”按钮,在1880年和2017年之间制作滑块动画。这可以很好的描述该时间跨度内的施工活动。


requestAnimationFrame() HTML slider

选举结果可视化

这个案例显示了2008年美国总统大选中每个选区的获胜者。每一个点的颜色代表赢家:蓝色代表奥巴马,红色代表麦凯恩。大小表示在该投票站投票的总数。透明度用于表示获胜者和第二名候选人之间的差距,或获胜的边缘。


require(['esri/layers/FeatureLayer'], function(FeatureLayer))

数据驱动的三维扩展

2005年,有23次台风穿过西太平洋地区。这个全球尺度的场景地图描述了台风的路径、不断变化的风速和气压,以及一系列卫星照片,显示它们在太空中的样子。台风可以沿着它的毁灭之路(蓝色)极大地增长。这个主题性的全球场景结合了各种二维和三维数据集,讲述了台风可以在太平洋中传播多远的完整故事。


require(['esri/symbols/ExtrudeSymbol3DLayer'], function(ExtrudeSymbol3DLayer))

模拟环境

根据一天的时间,这个webscene视图反映了法国布雷斯特的当地时间。如果你想调整时钟的指针,周围的环境也会随之改变。随着时间的推移,白天变成了夜晚,场景以一种现实的方式变暗。在夜晚,星星的位置将与地球的位置保持一致。这意味着你可以在舒适的家中凝视星星,就像在法国一样。使用Esri JavaScript API环境设置,您可以设置灯光和氛围参数。这里可以设置太阳的位置来反映当前时间。


view.environment.lighting.date = Date.now();

场景环顾相机

就像在建筑物的屋顶上一样,可以在固定位置旋转。可以使用键向上,向下,向右和向左查看,而不是使用鼠标指针拖动。

还可以调整相机的倾斜度,位置和方向。从相机属性中,您可以设置这些在场景视图中的交互方式。


require(['esri/Camera'], function(Camera))

3D分析

自Esri JavaScript API 4发布以来,可以在Web场景中执行3D分析。如果想要执行视域,测地缓冲或热点分析,您可以在Web应用程序中执行此操作。

例如,可以单击这个山脉的Web场景中的任何位置,并查看从该点在空间中可见的内容。可以在多个位置模拟视域,以通过与应用程序交互来真正了解视域的工作方式

如果这些类型的工具都将在Web应用程序中可用,那么这对桌面GIS软件意味着什么?


require(['esri/tasks/Geoprocessor'], function(Geoprocessor))

最后

在ArcGIS JavaScript API 3阶段,我们可以展示2d地图......到Esri JavaScript 4现在让我们有机会构建交互式3D地图应用... 而ArcGIS Online(AGOL)让在线地图应用社区成了可能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多