ArcGIS API for JavaScript 4.10 重大更新,强势来袭!

简介: ArcGIS API for JavaScript 4.10 版引入了大量新功能,并对原有功能进行了增强: 引入了一种新的建筑图层类型BuildingSceneLayer,用于可视化BIM数据; 新增众多微件,如3D剖切、草图绘制、二维面积和距离测量、改善编辑工作流的FeatureTemplates微件等; 地图中的所有图层均可使用WebGL进行绘制,从而提升渲染性能; 通过更高性能的 WebStyleSymbols增强了3D体验; 还有诸多精彩变化,下文将为您一一呈现。

ArcGIS API for JavaScript 4.10 版引入了大量新功能,并对原有功能进行了增强:

  • 引入了一种新的建筑图层类型BuildingSceneLayer,用于可视化BIM数据;

  • 新增众多微件,如3D剖切、草图绘制、二维面积和距离测量、改善编辑工作流的FeatureTemplates微件等;

  • 地图中的所有图层均可使用WebGL进行绘制,从而提升渲染性能;

  • 通过更高性能的 WebStyleSymbols增强了3D体验;

还有诸多精彩变化,下文将为您一一呈现。

新增建筑场景图层

———— BuildingSceneLayer

    BuildingSceneLayer可仔细查看建筑物中的精细细节。该图层可以显示和仔细查看建筑的外部和内部结构,如外墙、墙壁、门和机电系统。该图层是将 BuildingComponentSublayers 组合在一起,这与SceneLayer 的结构非常相似,所以我们可以使用渲染器,使用 popupTemplates 自定义弹窗,使用definitionExpression 按属性过滤。

    您可以使用 ArcGISPro 2.3 从 Revit 数据发布 BuildingSceneLayers。



新微件

(1)剖切微件

    剖切微件是一种 3D 交互分析工具,可用于显示 SceneView 中被遮挡的部分。该微件可以在任何图层类型中应用,使得建筑物内部和地表可见。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(2)草图微件

    Sketch 微件提供了一个简单的UI,用于在 2D MapView 中创建和更新图形。向应用中添加草图微件,可以无需编写其他代码实现创建新图形或更新现有图形。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

(3)面积和距离量算微件

    在该版本中添加了两个用于在 2DMapView 中进行量算的新微件。AreaMeasurement2D 微件可计算并显示多边形的面积和周长,DistanceMeasurement2D 微件可计算并显示两个或多个点之间的距离。


(4)要素模板微件(Beta版)

    FeatureTemplates 微件是整体编辑工作流中的一部分,其主要目的是显示来自一个或多个要素图层的模板。除显示模板外,还可以对模板进行过滤和分组,以便更轻松地进行编辑。



增强2D绘图性能

    WebGL 现在用于在 MapView 中绘制所有图层。我们可以使用单个 WebGL上下文对象context绘制地图中所有图层。这可以提高绘图性能,尤其是在移动设备上或当使用很多FeatureLayers或VectorTileLayes 时。在 WebGL 中渲染图形可以更快地显示小型和大型数据集。

增强3D Web标注样式

   3D WebStyleSymbols中新增了自动细节级别,现在可以展示成千上万的树木、汽车和其他真实模型,同时可以保持强大的性能。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

更好的标注支持

    在此版本中,我们添加了对2D MapView 中线和面标注的支持。目前2D 线的labelPlacement属性只支持center-along属性值。这些标签是根据您的数据动态生成的,并在用户与地图交互时动态更改。在处理可视化变量时,我们还改进了标注行为,并增强了2D MapView 中的标注优先级,以更好地匹配图层排序。最后,如果TextSymbol3DLayer.size未设置属性,则font.size属性将在 3D SceneViews 中予以替代。未来版本将包括2D MapViews和3D SceneViews中的线、折线和面的额外的labelPlacement 值。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

矢量切片图层更新

    在 2D MapView中,你可以更新VictorTileLayer 的样式而无需重新加载它。这可以通过使用此版本中包含的新方法来获取和设置 paint 和 layout 属性来实现。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

MapView 截图

    除SceneView能截图外,现在使用 MapView.takeScreenshot() 方法,可以创建2D视图的截图并导出为图片。可以指定不同的选项,如图像格式,质量,宽高比或图像大小。

WebScene中大型线和面数据集


    在 4.8 版本中我们添加了 WebScene 对加载大型点要素图层的支持,在此版本中,我们还可以添加成千上万的线和面,从而显示和可视化包含街道、河流、宗地和国家边界等要素的大型数据集。


点云图层过滤器

    现在可以根据属性过滤PointCloudLayers 。PointCloudValueFilter 显示属于某个类的点,PointCloudReturnFilter 使用每个点的返回值过滤点。如下图,仅显示过滤出的属于植被的点。

114f2af20b8b7a74778c95cf24de71cb06fc6b08

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


相关文章
|
1月前
|
JavaScript 前端开发 API
常用JavaScript 数组 API大全
常用JavaScript 数组 API大全
32 0
|
1月前
|
API
egg.js 24.2写第一个api接口
egg.js 24.2写第一个api接口
71 0
|
4月前
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
3月前
|
分布式计算 JavaScript 前端开发
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
|
2月前
|
Web App开发 JavaScript NoSQL
深入浅出:构建基于Node.js的RESTful API
在当今快速发展的互联网时代,RESTful API已成为前后端分离架构中不可或缺的一部分。本文旨在为初学者和中级开发人员提供一个清晰、简洁的指南,详细介绍如何使用Node.js构建一个高效、可维护的RESTful API。通过结合实际案例,本文将从API设计理念出发,深入讲解如何利用Express框架及MongoDB数据库实现API的增删改查功能,同时探讨如何通过JWT进行安全认证,确保数据传输的安全性。此外,文章还将简要介绍如何使用Swagger生成API文档,使得API的测试和维护更加便捷。无论你是希望提升现有项目的API设计,还是想从零开始构建一个新项目,本文都将为你提供一条清晰的道路
|
1月前
|
JavaScript 前端开发 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
34 0
|
1月前
|
Web App开发 JavaScript 前端开发
使用Node.js和Express构建RESTful API
使用Node.js和Express构建RESTful API
16 0
|
2月前
|
NoSQL JavaScript 前端开发
深入浅出:使用Node.js和MongoDB构建RESTful API
在当今的软件开发领域,构建高效、可扩展的Web服务已成为开发者的重要任务之一。本文将引导读者通过现代JavaScript环境——Node.js,搭配流行的NoSQL数据库MongoDB,一步步构建一个RESTful API。不同于常规的摘要,我们将采用故事化的方式,通过一个虚构的应用“BookFinder”的开发旅程,带领读者理解API设计、数据库交互及安全性考量等关键知识点。无论你是前端工程师希望深化后端知识,还是后端新手寻求实践机会,本文都将提供你所需的指南和启示。
|
3月前
|
Web App开发 Rust JavaScript
Rust 笔记:WebAssembly 的 JavaScript API
Rust 笔记:WebAssembly 的 JavaScript API
93 0
|
3月前
|
JavaScript 前端开发 程序员
Js中一些数组常用API总结
Js中一些数组常用API总结