ArcGIS API for JavaScript 4.2学习笔记[21] 对3D场景上的3D要素进行点击查询【Query类学习】

有人问我怎么这个系列没有写自己做的东西呢?
大哥大姐,这是“学习笔记”啊!当然主要以解读和笔记为主咯。
也有人找我要实例代码(不是示例),我表示AJS尚未成熟,现在数据编辑功能才简略地在AJS 4.3中出现,4.2是没有的,widget和分析功能也不是很完善,还是再等等吧,先学着基础,其他的以后再说。
本节我会紧随这个例子学习一下Query这个类,作为图层查询方法的重要参数,它起

ArcGIS API for JavaScript 4.2学习笔记[22] 使用【QueryTask类】进行空间查询 / 弹窗样式

上一篇写道,使用Query类进行查询featureLayer图层的要素,也简单介绍了QueryTask类的使用。
这一篇博文继续推进,使用Query类和QueryTask类进行空间查询,查询USA的著名山体点要素。
同样的,只介绍重点。本章官方名字是:Query using QueryTask

照常,先看看结果:(默认三个参数都不动,直接点击按钮)

出现了绿色的圆锥体,点击圆锥体可以出现定制好

ArcGIS API for JavaScript 4.2学习笔记[23] 没有地图如何进行查询?【FindTask类的使用】

从第一篇到现在都是基于地图的,不管怎么样,不管是2D还是3D,至少有个图。
这次来个没有图的例子,看看纯文字的空间查询是什么样的。
本例适用于后台查询或低性能电脑的查询。
预览图
由于4.3和4.2的这个例子没有任何实质性的改动,我直接从官方运行的4.3的例子:

默认打开的时候,按下Find按钮,右边就会出现转圈圈的图,其实是个GIF图片。

结果如上,将Spoka

ArcGIS API for JavaScript 4.2学习笔记[24] 【IdentifyTask类】的使用(结合IdentifyParameters类)(第七章完结)

好吧,我都要吐了。
接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值、显示。
这个例子是Identify识别,使用了TileLayer这种图层,数据来自Server的MapServer。
结果演示


戳不同的地方会有不同的识别结果。
我对TileLayer不是很了解,这一例仅针对有了解的同学,做一个IdentifyTask

ArcGIS API for JavaScript 4.2学习笔记[25] 官方第八章Analysis(空间查询)概览与解释

开森,最关注的空间分析章节终于到了,在空间查询那节逻辑性的代码简直要命(呵呵,空间分析的代码也要命...)。
上目录截图:

【Geodesic buffers(GeometryEngine)】
使用GeometryEngine这个类计算缓冲区,用是Graphics绘图技术。
【Calculate Viewshed(Geoprocessing)】
使用Geoprocessing进行可视

ArcGIS API for JavaScript 4.2学习笔记[26] 缓冲区分析【基于geometryEngine工具类】

要说GIS空间分析最经典的例子,就是缓冲区分析了。
本例使用geometryEngine来绘制缓冲区环。因为官方给的例子有3D和2D场景,所以就会显得比较复杂。
当鼠标在视图上点击时,就会生成一个缓冲区环(以点击的点为中心);
当鼠标拖拽时,若不是漫游状态,则缓冲区环也会跟着一起动。
我会把生成缓冲区的核心代码用大标题红色标出,各位可以直接跳到那里学缓冲区的生成。
首先

ArcGIS API for JavaScript 4.2学习笔记[27] 网络分析之最短路径分析【RouteTask类】

要说网页端最经典的GIS应用,非网络分析莫属了。
什么?你没用过?百度高德谷歌地图的路线分析就是活生生的例子啊!只不过它们是根据大实际背景优化了结果显示而已。
这个例子使用RouteTask进行网络分析,我会先讲讲什么是RouteTask,再讲讲这个例子是怎么用的,这个例子代码量不多。
在官方的例子中,标题为:SimpleRouting - RouteTask

看看结果

点击两个点,安静等待十

ArcGIS API for JavaScript 4.2学习笔记[28] 可视域分析【使用Geoprocessor类】

想知道可视域分析是什么,就得知道可视域是什么
我们站在某个地方,原地不动转一圈能看到的所有事物就叫可视域。当然平地就没什么所谓的可视域。
如果在山区呢?可视范围就会被山体挡住了。这个分析对军事上有十分重要的意义。
在本例中,可视域是以GraphicLayer中的Graphics[]形式存在的。
这个例子用到了Geoprocessor这个类。这个类的对象是如何判别我要进行可视域

ArcGIS API for JavaScript 4.2学习笔记[29] 热点(密度)分析——以报警频率为例【使用Geoprocessor类】

这个就颇有插值分析的样子了。也可以说是密度分析。做出来就是一个热力地图的样子。
比如,人口密度,降雨分布等。这都可以由这个例子做出来类似的。
由于上一篇已经介绍过Geoprocessor类和ParameterValue类了,所以这节就略去这些内容。想知道的同学可以点击这里,看上一篇相关内容。
与上一节不同的是,使用的不是execute()方法了,而是submitJob()方法,这是一个异步操作方法

ArcGIS API for JavaScript 4.2学习笔记[30] 点和线高程查询(第八章完结)

终于到最后一篇了,可喜可贺。
本例先说明了如何进行单点的高程差分析,然后说明了道路的起伏分析。前者很直观地比较了两个年份的高程数据之间的差值,体现山区的高程变化(有啥用啊?)后者,一条路上的起点终点起伏多少,可以给驾驶导航提供更多样化的数据。
本例使用了高程图层和RouteTask。
本例对应的官方例子是:Query Elevation (Points)和Query Elevation (Line

ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类

Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类。它有很多子类,有用于空间分析的,有用于空间查询的,等等。
这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法。
我将使用思维导图,更好呈现逻辑信息。

Task类的继承关系

Task类继承自Accessor类,它又有17个子类。别担心,各取所需,很少能用上超过5个子类的AJS程序,除非是一个超大的AJS集成系统。
以上

ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】

【前言】
有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单。
我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源;
不阐述Server如何发布各各种服务,但是我会给出官方的文档(点我),发布服务其实各种老教程都很多了。

【软件准备】
·Windows 64位以上的系统,XP可以歇菜了,Server是64位原生软件;//Linux发行版也可以,能用Server