URI
<dataset_uri>/grid3dintersection[.<format>]
支持的方法
父资源
子资源
无
介绍
数据集三维网格相交判断资源。该资源支持判断指定数据集与目标数据集或几何对象在三维网格层级上是否有空间冲突关系。
支持两种相交判断模式:数据集(通过配置目标数据集与源数据集相交)和几何对象(通过配置目标几何对象与源数据集相交)。目标数据集配置与目标几何对象配置,仅可设置其一生效。当前版本仅支持 GeoSOT 网格类型。
对该资源发送 POST 请求,可以执行数据集三维网格相交判断。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/buildings%40postgres/grid3dintersection.rjson
GET 请求
返回一个进行 POST 请求的表单。
POST 请求
执行数据集三维网格相交判断。源数据集由 URI 中的 {datasetName} 指定。
请求参数
请求体中需传递如下参数:
| 名称 | 类型 | 含义 |
| gridType | Spatial3DGridType | 【可选参数】三维网格类型,默认为 GEOSOT。 |
| sourceDatasetInput | Dataset3DGridInput | 【必填参数】源数据集输入配置。datasetName 由 URI 自动填充。支持几何列模式(geometryColumnName,默认 "smgeometry")和网格列模式(gridColumnName)。支持 filter 筛选。几何列模式下可设置 gridLevel(网格层级),一般建议最高使用 24-25 层级,过高的层级会导致网格数量过多,可能超出数据库的限制。 |
| targetDatasetInput | Dataset3DGridInput | 【可选参数】目标数据集配置,与 targetGeometryInput 互斥。需指定 datasetName。 |
| targetGeometryInput | Geometry3DGridInput | 【可选参数】目标几何配置,与 targetDatasetInput 互斥。包含 geometries(Geometry3D[])和 gridLevel(默认 17)。 |
| returnGrid3DPositioning | boolean | 【可选参数】是否返回相交三维网格定位字符串列表,默认为 false。 |
响应结构
正常响应情况:响应码 200。响应参数如下:
| 字段 | 类型 | 说明 |
| succeed | boolean | 操作是否成功。 |
| message | String | 失败时返回的错误信息。 |
| hasIntersection | boolean | 是否存在相交。 |
| intersectGridCodes | String[] | 相交网格编码列表,无相交时为空数组 [ ]。 |
| intersectGrid3DPositioning | String[] | 相交三维网格包围盒字符串列表,格式为 "xmin,xmax,ymin,ymax,zmin,zmax"。仅当 returnGrid3DPositioning=true 时返回。 |
| processingTimeMs | long | 处理耗时(毫秒)。 |
响应示例
执行 POST 请求(数据集相交判断模式),请求参数如下:
{
"gridType": "GEOSOT",
"sourceDatasetInput": {"datasetName": null, "geometryColumnName": "geometry", "gridColumnName": null, "gridLevel": 15, "filter": null},
"targetDatasetInput": {"datasetName": "nofly_zone@postgres", "geometryColumnName": "geometry", "gridColumnName": null, "gridLevel": 15, "filter": null},
"targetGeometryInput": null,
"returnGrid3DPositioning": false
}
则返回的 rjson 格式的响应结果如下:
{
"succeed": true,
"message": "",
"status": "FINISHED",
"hasIntersection": true,
"intersectGridCodes": ["G001310322-232132-032220.312,1101", "G001310322-232132-032220.313,1101"],
"intersectGrid3DPositioning": null,
"processingTimeMs": 1234
}
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 grid3dDatasetIntersection 资源是否存在,或者客户端是否有权限访问该资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断该资源是否支持<format>格式的表述。
请参见
- dataset,datasets
- grid3dDatasetGenerator
- grid3dIntersection
- 客户端构建 REST 请求
- 状态码列表及说明
- SuperMap iServer REST API 表述格式介绍
- 资源层次结构