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


     

     

    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个类

  • 相关阅读:
    Codeforces 963A Alternating Sum 【数论+数学】
    大数相加 a+b
    BFS(广度优先搜索) poj3278
    PHPExcel 学习笔记
    一个高在线(可以超过1024)多线程的socket echo server(pthreads 和 libevent扩展)
    php pthreads 多线程扩展的使用:一个较为稳定例子。
    PHP 长字符串替换操作性能(替换多换注释的代码)
    最简单的PHP socket echo server。
    PHP 多线程扩展(正儿八经的线程)pthreads安装
    定长度结构体数组、不定长度结构体指针初始化
  • 原文地址:https://www.cnblogs.com/lihaijia/p/14543129.html
Copyright © 2020-2023  润新知