GeoAnalytics Tool
可通过以下3种方式将要素作为其输入参数:
Feature Service
)或者带query
功能的地图服务(Map Service
),也可以自定义查询条件Feature Collection
,也可以自定义查询条件GA工具可接受要素服务或者带query
功能的地图服务地址作为其输入参数,格式如下:
{
"url": "" ,
"serviceToken": "<要素服务或地图服务的访问Token>",
"filter": "<自定义查询条件>"
}
如果GA Server不能直接访问到指定的要素服务或者地图服务,需提供访问服务的token
,否则GA工具会提示“该服务不可访问”。
除了url
和serviceToken
,你还可以提供SQL Where子句作为一个筛选字符串,这里的子句不包括Where,如果不指定filter
值,将会查询指定图层的所有要素。例如:筛选国家为中国的要素:
{
"url": "" ,
"filter": "country = 'CN'"
}
指定大数据文件共享图层URL地址作为GA工具的参数,其格式与1.1节中的格式一致。点击这里更多的Big Data Catalog Service
的信息。
{
"url": "<大数据共享数据集的URL地址>",
"serviceToken": "" ,
"filter": "<筛选条件>"
}
指定FeatureCollection
作为GA工具的输出参数的格式如下:
{
"layerDefinition": {
"geometryType": "esriGeometryPoint",
"fields": [
{
"name": "Id",
"type": "esriFieldTypeOID",
"alias": "Id"
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name"
}
]
},
"featureSet": {
"geometryType": "esriGeometryPoint",
"spatialReference": {
"wkid": 4326
},
"features": [
{
"geometry": {
"x": -104.44,
"y": 34.83
},
"attributes": {
"Id": 43,
"Name": "Feature 1"
}
},
{
"geometry": {
"x": -100.65,
"y": 33.69
},
"attributes": {
"Id": 67,
"Name": "Feature 2"
}
}
]
},
"filter": "Name = 'Feature 1'"
}
更多的关于featureCollection
和featureSet
的信息可在ArcGIS API for JavaScript
中查看。
首先呢,所有的GA工具以创建数据的形式输出操作结果。输出结果通常是要素数据,但有些时候输出结果中也会包含表格数据,例如:Summarize Attributes
工具。当你指定GA工具的outputName
参数后,工具将会返回一个名为其参数值的要素服务URL地址。
有个特例,Create Space Time cube工具将会返回一个可下载到本地的netCDF
文件,其文件名为outputName
参数值。
GeoAnalyticsTools
中的任务都是以异步的方式运行的,当提交一个任务请求后,需要以轮训的方式查询任务的执行状态。
当提交一个任务请求后,将会返回你一个任务ID,然后可根据这个ID,以下面的方式轮训GA任务的执行状态;当任务状态为esriJobSucceeded
时,便可获取其执行结果。
https:///arcgis/rest/services/System/GeoAnalyticsTools/GPServer//jobs/
GA工具的执行状态有:
esriJobSubmitted
esriJobWaiting
esriJobExecuting
esriJobSucceeded
esriJobFailed
esriJobTimedOut
esriJobCancelling
esriJobCancelled
关于GA开发的入门知识就先介绍这么多,接下来的专题将会介绍如何在代码(JS、Python)中使用GA工具,敬请关注。