<spatialanalystJobs_uri>/query[.<format>]
单对象空间查询作业资源根目录。通过对 query 执行GET 请求,可获取当前系统的单对象空间查询作业列表。通过 POST 请求可创建一个查询任务。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query.rjson
获取对单对象空间查询作业列表。
对 query 资源执行 GET 请求,在响应消息的实体主体里是一个单对象分析资源描述集,其中单个资源描述的结构如下:
字段 | 类型 | 说明 |
id | String | 应用ID。 |
state | SparkJobState | 该任务的状态。包括执行状态、起止时间、耗时等。 |
setting | SparkJobSetting | 列举了任务配置的详细信息。 |
对 query 资源执行 GET 请求,返回 rjson 格式的资源描述如下:
[{
"id": "cae72c2d_3550_4996_8bb1_682bc7d36533",
"setting": {
"DEFAULT_MASTER_ADRESS": "local[*] ",
"analyst": {
"datasetQuery": "Line",
"inputQuery": "F:\\20170527_bsp.jar\\test\\data_toIserver.udb",
"mode": "CONTAIN",
"numSlices": "20"
},
"appName": "query",
"args": [
"--inputSource",
"F:\\20170527_bsp.jar\\test\\data_toIserver.udb",
"--datasetSource",
"Region",
"--numSlices",
"20",
"--inputQuery",
"F:\\20170527_bsp.jar\\test\\data_toIserver.udb",
"--datasetQuery",
"Line",
"--mode",
"CONTAIN",
"--outputResult",
"F:\\20170621\\supermap_iserver_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\udbs\\586d0266-1a29-43c9-9775-9f4436fcaa5e",
"--datasetResult",
"analystResult"
],
"contextSetting": null,
"input": {
"datasetSource": "Region",
"inputSource": "F:\\20170527_bsp.jar\\test\\data_toIserver.udb"
},
"mainClass": "com.supermap.bsp.main.SpatialQueryGeoMain",
"output": {
"cacheName": null,
"cacheType": null,
"datasetResult": "analystResult",
"outputResult": "F:\\20170621\\supermap_iserver_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\udbs\\586d0266-1a29-43c9-9775-9f4436fcaa5e"
},
"serviceInfo": {
"targetDataPath": "F:\\20170621\\supermap_iserver_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\cae72c2d_3550_4996_8bb1_682bc7d36533",
"targetServiceInfos": [
{
"serviceAddress": "http://localhost:8090/iserver/services/data-spatialQueryGeo4/rest",
"serviceType": "RESTDATA"
},
{
"serviceAddress": "http://localhost:8090/iserver/services/map-spatialQueryGeo4/rest",
"serviceType": "RESTMAP"
}
]
},
"serviceRoot": "http://localhost:8090/iserver/services/"
},
"state": {
"elapsedTime": 6096,
"endState": true,
"endTime": 1498026621517,
"errorMsg": null,
"errorStackTrace": null,
"publisherelapsedTime": 2273,
"runState": "FINISHED",
"startTime": 1498026611242
}
}]
创建一个单对象空间查询任务。
对 query 资源执行 POST 请求,创建一个 单对象空间查询任务,请求体需包含参数如下:
名称 | 类型 | 含义 |
input 【必填参数】 |
DatasetInputDataSetting |
|
FileCSVInputDataSetting |
|
|
analyst |
SpatialQueryGeoAnalystSetting | 【必填参数】分析配置。传入时,需指定:
|
output 【选填参数】 |
FileSystemOutputSetting |
|
DatabaseOutputSetting |
|
对示例 query 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query.rjson 执行 POST 请求,输入一个已注册到iServer 的数据集,传入数据集名称即可。创建一个单对象空间查询任务。请求体如下:
{
"input":{
"datasetName":"test_data_toIserver_Region"
},
"analyst":{
"datasetQuery":"test_data_toIserver_Line",
"mode":"CONTAIN",
}
}
返回 rjson 格式的操作结果表述如下:
{
"newResourceID": "b604dfb0_fa16_44ff_b79f_426638ce34ca",
"newResourceLocation":"http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query/b604dfb0_fa16_44ff_b79f_426638ce34ca",
"postResultType": "CreateChild",
"succeed": true
}
对示例 query 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query.rjson 执行 POST 请求,输入数据为存储于PostgreSQL 数据库的数据。创建一个单对象空间查询任务,请求体中的参数如下:
{
"input": {
"datasetInfo": {
"type": "REGION",
"name": "newyorkZone_R_1359289148",
"dataSourceName": "supermap_pg",
"datasourceConnectionInfo": {
"engineType": "POSTGRESQL",
"dataBase": "supermap",
"password": "supermap",
"user": "postgres",
"server": "192.168.112.100"
}
}
},
"analyst": {
"inputQuery":"{\"type\":\"pg\",\"info\":[{\"server\":\"192.168.120.49\",\"datasetNames\":[\"singleRegion_R_1359289148\"],\"database\":\"supermap4\",\"user\":\"postgres\",\"password\":\"supermap\"}]}",
"mode": "CONTAIN"
}
}
返回 rjson 格式的操作结果表述如下:
{
"newResourceID": "7b106d77_eb46_4b82_93c7_c0367824123f",
"newResourceLocation":"http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query/7b106d77_eb46_4b82_93c7_c0367824123f",
"postResultType": "CreateChild",
"succeed": true
}
对示例 query 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query.rjson 执行 POST 请求,输入一个 geometry,并且设置了缓冲区。创建一个单对象空间查询任务。请求体中的参数如下:
{
"input": {
"datasetName": "samples_processing_newyorkZone_R"
},
"analyst": {
"geometryQuery": "{\"type\":\"REGION\",\"points\":[{\"x\":-73.96,\"y\":40.78},{\"x\":-73.90,\"y\":40.78},{\"x\":-73.95,\"y\":40.742},{\"x\":-73.90,\"y\":40.747}]}",
"bufferAnalystParameter": {
"endType": "ROUND",
"leftDistance": {
"value": "10"
},
"rightDistance": {
"value": "10"
},
"semicircleLineSegment": "10",
"radiusUnit": "METER"
},
"mode": "CONTAIN"
}
}
返回 rjson 格式的操作结果表述如下:
{
"newResourceID": "c5a6ee10_36ea_4431_9251_21d7a71eb80b",
"newResourceLocation":"http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/query/c5a6ee10_36ea_4431_9251_21d7a71eb80b",
"postResultType": "CreateChild",
"succeed": True
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 query资源是否存在,或者客户端是否有权限访问 query资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 query资源是否支持<format>格式的表述。