SpatialQuery3D


URI

<dataset_uri>/SpatialQuery3D[.<format>]

支持的方法

GETPOSTHEAD

父资源

dataset

子资源

datasetSpatialQuery3DResult

介绍

基于数据集的三维空间查询结果集资源。对该资源发送POST请求,则可以创建一个三维空间查询结果资源,查询获得指定空间关系类型的结果

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。

http://supermapiserver:8090/iserver/services/spatialAnalysis-BIM2/restjsr/spatialanalyst/datasets/结构柱%408ExportModel/spatialquery3d.rjson

GET 请求

返回一个进行POST请求的表单。

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。

响应示例1

对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"

}

响应示例2

对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"

}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 SpatialQuery3D资源是否存在,或者客户端是否有权限访问 SpatialQuery3D资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 SpatialQuery3D资源是否支持<format>格式的表述。

请参见