Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类。它有很多子类,有用于空间分析的,有用于空间查询的,等等。

这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法。

我将使用思维导图,更好呈现逻辑信息。

Task类的继承关系

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

以上有我熟知的QueryTask、RouteTask、FindTask、Geoprocessor、IdentifyTask和Locator。

其中,根据名字和经验,可能还会经常用到的有:ServiceAreaTask、ClosestFacilityTask、GeometryService和ImageServiceIdentifyTask这几个,前面两个和RouteTask是同属于网络分析的。

到补充学习这段,就不再详细介绍代码了,要介绍也是提取关键代码进行剖析。

熟知的已用过的6个类

首先介绍一下熟知的这几个Task子类,分别从“有什么用”、“怎么实例化”、“配套的类”三个方面叙述,具体的用法,请查阅官方API和相关例子:

【QueryTask】【RouteTask】【FindTask】【Geoprocessor】【IdentifyTask】【Locator】(超链接到我的博客)

直接上个大表格:

类名\区分项

有什么用

怎么实例化

(ArcGIS Server服务)

配套的类 主要方法与返回值类型
QueryTask 空间查询 

FeatureServer

MapServer

Query

QueryResult

query()

QueryResult

RouteTask 路径分析   NAServer

RouteParameters

RouteResult

solve()

RouteResult

FindTask 空间查找  MapServer 

FindParameters

FindResult

execute()

FindResult

Geoprocessor

地理处理

GIS常见分析

 GPServer  ParameterValue

submitJob()

execute()

Object

IdentifyTask 识别   MapServer

IdentifyParameters

IdentifyResult

execute()

IdentifyResult[]

Locator 定位       

于是我就有点郁闷,有几个是类似的,IdentifyTask、FindTask和QueryTask。

//交流中发现:IdentifyTask单用于识别,不特长于Geometry属性表的查询;

FindTask专注于属性字段的查询;

而QueryTask则更专注于几何要素的查询(功能更强大)。

从参数类Query、FindParameters、IdentifyParameters的字段数就可以大致判别了。感谢我的导师——何津。

然后再看看其他这4个类

(未完待续)

ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类的更多相关文章

  1. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  2. ArcGIS API for JavaScript 入门教程[1] 渊源

    ->对于萌新,你可能需要了解一下这个东西是什么 ->对于已经知道要用这个东西的开发者,你可能需要了解一下它的底层机制 不针对大牛.龟速更新ing. 转载注明出处.博客园&CSDN& ...

  3. ArcGIS API for JavaScript开发初探——HelloMap

    1.前言 在开始ArcGIS API for JavaScript开发之前我们需要了解一些基本的知识: 1.开发工具选什么? 前端技术的开发工具选择是一个仁者见仁智者见智的问题,有人喜欢Hbuilde ...

  4. ArcGIS API for JavaScript 4.2学习笔记[1] 显示地图

    ArcGIS API for JavaScript 4.2直接从官网的Sample中学习,API Reference也是从官网翻译理解过来,鉴于网上截稿前还没有人发布过4.2的学习笔记,我就试试吧. ...

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

    内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2 [Get Started] 类似于绪论一样的东西,抽取了最需要关注的几个例子.如:加载Map和View, ...

  6. Arcgis api for javascript学习笔记(4.5版本) - 获取FeatureLayer中的graphics集合

    在Arcgis api for javascript 3.x 版本中,我们可以直接通过某个FeatureLayer对象中的graphics属性获取要素集合. graphics属性 但是在4.x版本中, ...

  7. Arcgis api for javascript学习笔记(4.5版本) - 本地部署及代理配置

    在开发过程中,由于api的文件比较多,没必要每个项目都将api加入到解决方案中.况且在VS中如果将api加入解决方案,在编写css或js代码时,由于智能提示需要扫描脚本等文件,会导致VS很卡.所以个人 ...

  8. Arcgis api for javascript学习笔记(3.2X版本)-初步尝试

    Arcgis api for javascript(3.22版本)官方地址 :https://developers.arcgis.com/javascript/3/ 1. 根据官方示例实现一个简单地图 ...

  9. ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题

    感谢一路走来默默支持和陪伴的你~~~ ----------------------------拒绝转载-------------------------------- 1.问题说明 在使用ArcGIS ...

随机推荐

  1. Java多线程之线程池详解

    前言 在认识线程池之前,我们需要使用线程就去创建一个线程,但是我们会发现有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因 ...

  2. 常用接口简析1---IEnumerable、IEnumerator简析

    常用接口的解析(链接) 1.IEnumerable深入解析 2.IComparable.IComparable接口解析 3.IList.IList接口解析      引言: IEnumerable和I ...

  3. kafka原理和实践(六)总结升华

    系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...

  4. Vue-Access-Control:前端用户权限控制解决方案

    原文地址:http://refined-x.com/2017/11/28/Vue2.0用户权限控制解决方案/ Vue-Access-Control是一套基于Vue/Vue-Router/axios 实 ...

  5. 拓扑排序&关键路径

    拓扑排序:AOV网 概念 example:选课问题:AOV网 顶点活动(Activity On Vertex)网是指用顶点表示活动,而用边集表示活动关系的有向图. 在这个例子中,课程为结点,而有向边表 ...

  6. 机器学习算法 - 支持向量机SVM

    在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...

  7. PHP数组实际占用内存大小的分析

    一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G.下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数 ...

  8. SketchMaster 隐私政策

    隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...

  9. Java二分法

    public class Dichotomy {        //定义查找次数    static int count = 0;        public static void main(Str ...

  10. VSCode配置eslint

    在Vue.js项目中,使用的是eslint检查. 而在我写完代码后,cnpm run dev运行命令...然后悲剧了,一大堆报错!╮(╯▽╰)╭ 安装插件:Vetur:这是vscode上一个vue.j ...