<spatialanalystJobs_uri>/kernelDensity[.<format>]
核密度分析作业资源根目录。通过对 kernelDensityJobs 执行GET 请求,可获取当前系统的核密度分析作业列表。通过 POST 请求可创建一个分析任务。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/processing/rest/v1/jobs/spatialanalyst/kernelDensity.rjson
获取核密度分析作业资源。
对 kernelDensityJobs 资源执行 GET 请求,在响应消息的实体主体里是一个地图缓存作用资源描述集,其中单个资源描述的结构如下:
字段 | 类型 | 说明 |
id | String | 应用ID。 |
state | String | 该任务的状态。包括执行状态、起止时间、耗时等。 |
setting | String | setting中包含了任务配置信息。 |
对 kernelDensityJobs 资源执行 GET 请求,返回 rjson 格式的资源描述如下:
[{
"id": "app-20170110062656-0000",
"setting": {
"DEFAULT_MASTER_ADRESS": "local[*] ",
"analyst": {
"geoidx": 10,
"multi": false,
"part": 0,
"query": "-74.150,40.550,-73.750,40.950",
"radius": "0.004",
"resolution": "0.004",
"separator": ","
},
"appName": "kernelDensity",
"args": [
"--input",
"hdfs://192.168.112.158:9000/data/newyork_taxi_2013-01_14k.csv",
"--query",
"-74.150,40.550,-73.750,40.950",
"--resolution",
"0.004",
"--radius",
"0.004",
"--separator",
",",
"--geoidx",
"10",
"--output",
"/home/iserver/Desktop/tomcat/apache-tomcat-8.5.5/webapps/iserver/processingResultData/KernelDensity/grids/b6521ad5-8edc-480f-a82d-81ab2f318025"
],
"contextSetting": {
"DEFAULT_DRIVER_MEMORY": "1g",
"DEFAULT_EXECUTOR_CORES": 1,
"DEFAULT_EXECUTOR_MEMORY": "1g",
"driver_memory": "1g",
"executor_cores": 1,
"executor_memory": "1g"
},
"input": {"filePath": "hdfs://192.168.112.158:9000/data/newyork_taxi_2013-01_14k.csv"},
"mainClass": "com.supermap.spark.main.KernelDensity",
"output": {
"cacheName": null,
"cacheType": null,
"outputPath": "/home/iserver/Desktop/tomcat/apache-tomcat-8.5.5/webapps/iserver/processingResultData/KernelDensity/grids/b6521ad5-8edc-480f-a82d-81ab2f318025"
},
"serviceInfo": null,
"serviceRoot": "http://192.168.112.156:8090/iserver/services/"
},
"state": {
"elapsedTime": 7011,
"endTime": 1484058421300,
"errorMsg": null,
"errorStackTrace": null,
"publisherelapsedTime": 0,
"runState": "FINISHED",
"startTime": 1484058414289
}
}]
创建一个核密度分析任务。
对 kernelDensityJobs 资源执行 POST 请求,创建一个 地图缓存作业任务,请求体需包含参数如下:
名称 | 类型 | 含义 |
input | String | 【必填参数】源数据路径(filePath)。目前支持 csv 数据。支持 iServer 本地数据,和 HDFS 分布式文件系统中的数据。 |
analyst | String | 【必填参数】分析配置。传入时,需指定:
|
对示例 kernelDensityJobs 资源:http://supermapiserver:8090/iserver/services/processing/rest/v1/jobs/mapping/ kernelDensity.rjson 执行 POST 请求,创建一个核密度分析任务。请求体中的参数如下:
{
"input":{
"filePath":"/home/supermap/software/supermap/iobjects_for_spark/sample/data/tripdata/newyork_taxi_2013-01_14k.csv"
},
"analyst": {
"query": "-74.150,40.550,-73.750,40.950",
"resolution":"0.001",
"separator":",",
"radius":"0.001",
"geoidx":"10"
}
}
返回 rjson 格式的操作结果表述如下:
{
"newResourceID": "app-20170110082711-0005",
"newResourceLocation": "http://supermapiserver:8090/iserver/services/processing/rest/v1/jobs/spatialanalyst/kernelDensity/app-20170110082711-0005",
"postResultType": "CreateChild",
"succeed": true
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 kernelDensityJobs 资源是否存在,或者客户端是否有权限访问 kernelDensityJobs 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 kernelDensityJobs 资源是否支持<format>格式的表述。