<dataset_uri>/overlay[.<format>]
对数据集进行叠加分析的分析结果集资源。
支持的方法:
支持的表述格式:rjson、json、html、xml。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/SamplesP@Interpolation/overlay.rjson
返回一个进行 POST 请求的表单。
对资源进行 POST 请求,传递相关参数后,就创建了一个叠加分析结果资源,相当于进行了一次叠加分析。
URI 中的参数如下:
名称 | 类型 | 含义 |
asynchronousReturn | boolean | 是否采用异步操作。如果为 true,则在客户端提交请求后会立即返回新资源的 URI(即 returnContent 的设置不起作用); 为 false,则服务端在分析完成后根据 returnContent 的设置返回新资源的表述或者新资源的 URI。默认为 false。 |
returnContent | boolean | 是否立即返回新创建资源的表述还是返回新资源的 URI。如果为 true,则直接返回新创建资源,即分析结果的表述。为 false,则返回的是分析结果资源的 URI。默认为 false。 |
请求体中的参数如下:
名称 | 类型 | 含义 |
operation | String | 叠加操作,可选值为 clip(裁剪)、erase(擦除)、identity(同一)、intersect(相交)、union(合并)、update(更新)、XOR(对称差)。
其中,对于 clip(裁剪)、erase(擦除)、identity(同一)和 intersect(相交)四种操作,操作数据集支持的数据类型为面数据集,或者面状几何对象数据,被操作数据集的数据类型为点、线、面数据集。 而对于 union(合并)、update(更新)、XOR(对称差)三种操作,操作数据集支持的数据类型为面数据集,或者面状几何对象数据,被操作数据集的数据类型只能是面数据集。 |
operateDataset | String | 操作的数据集标识,表示与该数据集进行叠加分析。与 operateRegions 参数互斥,冲突时以本参数为准。 |
operateDatasetFilter | QueryParameter | 用于对操作数据集进行过滤的过滤条件。 |
operateRegions | Geometry[] | 操作面对象集合,表示与这些面对象进行叠加分析。与 operateDataset 参数互斥,冲突时以 operateDataset 为准。 |
sourceDatasetFilter | QueryParameter | 用于对源数据集进行过滤的过滤条件。设置了过滤参数后,只有满足条件的对象参与叠加分析。 |
tolerance | double | 叠加分析的容限值。叠加分析后,若两个节点之间的距离小于此值,则将这两个节点合并。 |
dataReturnOption | DataReturnOption | 返回的提取结果设置。 |
sourceDatasetFields | String[] | 源数据集中要复制的字段。 |
operateDatasetFields | String[] | 操作数据集中要复制的字段。 |
说明:设置结果数据集字段时,如果 sourceDataset 和 operateDataset 中有相同的字段名(比如两个数据集都有 Code 字段),则 sourceDataset 中的字段保留到结果数据集中自动设为 Code_1,operateDataset 中的 Code 字段保留到结果数据集中自动设为 Code_2。
正常响应情况:响应码201。响应参数如下:
字段 | 类型 | 说明 |
succeed |
boolean | 查询是否成功。 |
newResourceID | String | 分析结果资源的 ID。 |
postResultType | PostResultType | POST 请求的结果类型,枚举说明 POST 请求对目标资源的影响,即处理结果是什么样的。 |
newResourceLocation | String | 创建的新资源的 URI。 |
对 overlay 资源:http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/SamplesP@Interpolation/overlay.rjson,执行 POST 请求,参数如下:
{
"operateDataset": "BoundsR@Interpolation",
"operation": "CLIP",
"tolerance": 0,
"sourceDatasetFilter": {
"attributeFilter": "",
"ids": null
},
"operateDatasetFilter": {
"attributeFilter": "",
"ids": null
},
"dataReturnOption": {
"dataset": "boundClip",
"dataReturnMode": "DATASET_ONLY",
"expectCount": 100,
"deleteExistResultDataset": false
}
}
则返回的 rjson 格式的资源描述如下:
{
"succeed": true,
"newResourceID": "1",
"postResultType": "CreateChild",
"newResourceLocation": "http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/SamplesP@Interpolation/overlay/1"
}
对 http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/SamplesP@Interpolation/overlay/1.rjson 执行 GET 请求,即可获取叠加分析的具体结果。请参见datasetOverlayResult。
获取资源所支持的操作以及所支持的内容格式。
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 datasetOverlayResults 资源是否存在,或者客户端是否有权限访问 datasetOverlayResults 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 datasetOverlayResults 资源是否支持<format>格式的表述。