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


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

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

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

    Task类的继承关系

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

    以上有我熟知的QueryTaskRouteTaskFindTaskGeoprocessorIdentifyTaskLocator

    其中,根据名字和经验,可能还会经常用到的有:ServiceAreaTaskClosestFacilityTaskGeometryServiceImageServiceIdentifyTask这几个,前面两个和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个类

    (未完待续)

     

     

  • 相关阅读:
    1021 个位数统计
    1020 月饼
    1019 数字黑洞
    1018 锤子剪刀布
    1017 A除以B
    1016 部分A+B
    1015 德才论
    1014 福尔摩斯的约会
    cocos2d 间隔动作
    cocos2d 瞬时动作
  • 原文地址:https://www.cnblogs.com/onsummer/p/6682682.html
Copyright © 2020-2023  润新知