ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译

ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译

内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2

【Get Started】

类似于绪论一样的东西,抽取了最需要关注的几个例子。如:加载Map和View,加载layers,使用弹出窗口,视觉化,与使用窗口小部件。(wtf居然没有分析你想搞事情啊web除了展示难道不应该有()&&*……@)

【Mapping and Views】 (点击进入我写的章节详细介绍)

最基础的,知道地图和视图的区别,能使用2D和3D地图,对地图的布局有一定的了解,对地图的动画也有小小的使用示例。还介绍了2D3D视图同步、鹰眼、指北针等功能。这一章是最基础的了,其中第一小节介绍了入口函数的参数意义。

【Layers】

这一章很庞大,貌似和地理数据有关。按顺序读下去:

支持多图层叠加显示

支持要素图层、场景图层(直接把影像拔高,推出了一个盒子形状的立体物件的场景图层)、矢量瓦片图层(这个很厉害啊)、影像图层、流图层、CSV图层、OpenStreet地图图层、Web瓦片图层、点云图层(这个更厉害1.1亿的激光雷达点云数据都能加载进来)

其中,对MapImageLayer和ImageryLayer有着重的介绍,前者不知道是什么东西,后者就是影像图层(栅格图层)。这也是数据中最关键的了。

最后我想问一下:图层这种东西,是怎么创建的(查API应该可以查到如何创建实例)?数据又如何从硬盘中获取?需要服务器环境吗?(尚待解决)

【Visualization】

这一章是符号的定制和色彩、样式的管理,主要是视觉方面的工作,在Web上不可能弄得很丑,Web最重要的功能就是“演示”,可视化这章就是为此而生。这一章内容繁多但是不难,简单看过去就是自定义符号、色彩设置、色带设置等,和桌面版的差不多。短时间内没法看完,以后待功能性章节完成学习后再进行攻读。

【Popups】

Popups意思为弹出窗口,第一个就以坐标的显示为例子。

弹出窗口也是一个相当基础的功能,因为有的查询功能的结果就需要用这种输出方式。

紧接的是:使用弹出小窗口的模板、对popups的位置进行固定(Dock,上下左右相对固定)

然后是在popups上加需要的内容,官方演示了表格、多媒体、文档和图表。

最后,在弹出窗口上也是可以添加按钮的(官方演示了Zoom功能和测量功能),也可以定制自己的功能(跳转到别的地方什么的)

【Graphics】

这章简单,和GDI差不多的东西,往视图中添加图形。支持2D和3D视图添加。

【Searching】

这章就是空间查询了。不过是基于widget的查询,底层似乎没给出。

使用Search widget可以查询,这功能在国内的地图厂商上都有,并且他们很像。不同的是,这是WebGIS,而不是商用GIS,功能是可以自己定制的。

当然,也可以对3D、2D地图进行筛选查询、点击查询。

ESRI也提供了最古老的方式——在表格上显示查询结果。

【Analysis】

这一章是空间分析,虽然不及Desktop上的ArcMap和ArcGIS Pro那么强悍,不过对于基础的业务倒也足够。

WebGIS的空间分析主要是:缓冲区分析和网络分析。例子中的网络分析是求解最短路径,比桌面版的操作友好多了(见本人的ArcGIS 网络分析专辑)。

此外官方还提供了:可视域分析、热点分析、查询高程(点高程和线路海拔变化等,线路海拔这个例子有点操作不友好)。

【Widgets】

这属于UI的定制,大布局上可以用第三方JS库,在地图上的UI控件就交给ESRI吧。

粗看下去,主要有:

Home按钮控件、图层列表控件、图例控件、定位控件、地图打印到本地磁盘控件、追踪定位控件(平面的)、导航定位控件(用于导航)、快速布局控件(widget太多了可以用一个东西管理,view对象的ui属性)

ESRI强大到:widget似乎是可以自定义的(支持第三方JS控件库!如Angular、React),我看到了custom的字样,但是没有仔细往下看,因为提供的控件和功能已经满足大多数的需求了。甚至,widget还可以给它弄个皮肤。

颤抖吧人类。

【More 3D】

这章跟数字高程模型有关,能使用大地高程进行3D可视化,并控制摄像机的位置和角度。

同时,也可以把高程信息叠加到要素类上,进行高程3D显示。

我还看到了一个好玩的东西:控制太阳(就是控制日照角度,根据时间),其实就是环境的控制。

AJS的3D引擎是可以拓展的,甚至提及了Threejs公共3D引擎库(Threejs差评,文档忒少难读)。

ESRI提供了WebGL的检测功能,因为3D的支持需要WebGL,如果浏览器不支持,那肯定是不行的。

【Other】

这里是一些杂项,如从服务器上获取资料、许可,连接服务器等。


API从esri这个大类分下去,有以下一级模块及与一级模块并列的类:

类:Basemap、Camera、Color、config、Graphic、Ground、kernel、PopupTemplate、request、Viewpoint、WebMap、WebScene

一级模块:/core  /geometry /identity /layers /portal /renderers /support /symbols /tasks /views /webmap /webscene /widgets

一些重要的二三级模块展示如下

/core: /accessorSupport /workers

/geometry: /support

/layers: /support

/renderers: /smartMapping/statistics      /smartMapping/symbology       /support

/symbols: /support

/tasks: /support

/views: /3d    /layers   /ui

/widgets: /support

对于API Reference,等用到一定时候会做类图,未完待续。其实官方的API已经很不错了,但是就是没有中文版,需要用过的人去做一些工作。

最后,善用API Reference。

上一篇:BZOJ1040 [ZJOI2008]骑士 基环树林(环套树) 树形动态规划


下一篇:WebGL教程