<dataset_uri>/SpatialQuery3D[.<format>]
基于数据集的三维空间查询结果集资源。对该资源发送POST请求,则可以创建一个三维空间查询结果资源,查询获得指定空间关系类型的结果。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/结构柱%408ExportModel/spatialquery3d.rjson
返回一个进行POST请求的表单。
创建一个三维空间查询结果资源。
当操作对象是数据集时,请求体中需传递如下参数:
名称 | 类型 | 含义 |
operateDataset | String | 【必填参数】指定操作数据集进行三维空间查询,该数据集类型为模型数据集。 |
operateDatasetFilter | QueryParameter | 对操作数据集进行过滤,包括属性过滤和ID过滤,只有满足条件的对象才参与三维空间分析。 |
sourceDatasetFilter | QueryParameter | 对源数据集进行过滤,包括属性过滤和ID过滤,只有满足条件的对象才参与三维空间分析。 |
positionMode | PositionMode | 【必填参数】指定空间关系类型,包括UNKNOWN(未知)、IDENTICAL(重合)、DISJOINT(相离)、INTERSECTS(相交)、
WITHIN(被包含)、CONTAINS(包含)、INTERSECTSORCONTAINS(相交+包含)。 |
resultSetting | DatasetSpatialQuery3DResultSetting | 三维空间分析结果设置,包括数据返回模式(dataReturnMode)、结果数据集标识(dataset)、是否删除已有重名数据集(deleteExistResultDataset)、返回的最大结果数(expectCount)等参数。
对于数据返回模式,包括只返回数据集标识(DATASET_ONLY)、只返回记录集(RECORDSET_ONLY)和返回数据集标识和记录集(DATASET_AND_RECORDSET)三种模式,默认为 只返回数据集标识。 请注意,当返回的结果数据量较大时,建议您使用 DATASET_ONLY 模式返回数据,并通过创建数据服务的方式查看结果信息。 |
当操作对象是几何对象时,请求体中需传递如下参数:
名称 | 类型 | 含义 |
operateRegion | Geometry | 【必填参数】指定操作几何对象进行三维空间查询 |
bottomAltitude | double | 指定几何对象的底部高程值 |
extendedHeight | double | 指定几何对象的拉伸高度 |
sourceDatasetFilter | QueryParameter | 对源数据集进行过滤,包括属性过滤和ID过滤,只有满足条件的对象才参与三维空间分析。 |
positionMode | PositionMode | 【必填参数】指定空间关系类型,包括UNKNOWN(未知)、IDENTICAL(重合)、DISJOINT(相离)、INTERSECTS(相交)、
WITHIN(被包含)、CONTAINS(包含)、INTERSECTSORCONTAINS(相交+包含)。 |
resultSetting | DatasetSpatialQuery3DResultSetting | 三维空间分析结果设置,包括结果数据集名称、最大返回记录、数据返回模式、是否覆盖已有数据等参数。
对于数据返回模式,包括只返回数据集标识(DATASET_ONLY)、只返回记录集(RECORDSET_ONLY)和返回数据集标识和记录集(DATASET_AND_RECORDSET)三种模式,默认为只返回数据集标识。 请注意,当返回的结果数据量较大时,建议您使用只返回数据集标识模式返回数据,对返回的数据集可以进行其他空间分析操作。 |
正常响应情况:响应码201。响应参数如下:
字段 | 类型 | 说明 |
postResultType | postResultType | POST 请求的结果类型,枚举说明 POST 请求对目标资源的影响,即处理结果是什么样的。 |
newResourceID | String | 分析结果资源的 ID。 |
succeed |
boolean | 分析是否成功。 |
newResourceLocation |
String | 创建的新资源的 URI。 |
对SpatialQuery3D资源:http://supermapiserver:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/结构柱%408ExportModel/spatialquery3d.rjson,操作对象选择为数据集,执行 POST 请求,请求参数如下:
{
"operateDataset":"结构柱@8ExportModel",
"operateDatasetFilter":{"attributeFilter":"", "ids":[15, 21]},
"sourceDatasetFilter":{"attributeFilter":"", "ids":[20]},
"positionMode":"INTERSECTS"
}
则返回的 rjson 格式的资源描述如下:
{
"postResultType":"CreateChild",
"newResourceID":"2fe735b026974a13a1bbf00ac710ddef_57c2f72f83364db5903659dcd5faa92d",
"succeed":true,
"newResourceLocation":"http://localhost:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/%E7%BB%93%E6%9E%84%E6%9F%B1@8ExportModel/SpatialQuery3D/2fe735b026974a13a1bbf00ac710ddef_57c2f72f83364db5903659dcd5faa92d"
}
对SpatialQuery3D资源:http://supermapiserver:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/结构柱%408ExportModel/spatialquery3d.rjson,操作对象选择为几何对象,执行 POST 请求,请求参数如下:
{
"operateRegion":{"type":"REGION", "points":[{"x":23, "y":23}, {"x":33, "y":35}, {"x":43, "y":22}]},
"bottomAltitude":"1",
"extendedHeight":"1",
"sourceDatasetFilter":{"attributeFilter":""},
"positionMode":"UNKNOWN"
}
则返回的 rjson 格式的资源描述如下:
{
"postResultType":"CreateChild",
"newResourceID":"2fe735b026974a13a1bbf00ac710ddef_3310319ae0a54cc9aa4e79079af9bd1b",
"succeed":true,
"newResourceLocation":"http://localhost:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/%E7%BB%93%E6%9E%84%E6%9F%B1@8ExportModel/SpatialQuery3D/2fe735b026974a13a1bbf00ac710ddef_3310319ae0a54cc9aa4e79079af9bd1b"
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 SpatialQuery3D资源是否存在,或者客户端是否有权限访问 SpatialQuery3D资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 SpatialQuery3D资源是否支持<format>格式的表述。