<terraincalculation_uri>/cutfill[.<format>]
cutFill 资源表示填挖方分析。填挖方分析用于计算填挖操作过程中填方、挖方的面积和体积,包含四种类型:栅格填挖方、选面填挖方、斜面填挖方和三维面填挖方。对该资源发送 POST 请求,则创建一个填挖方分析结果资源。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/spatialAnalysis-Jingjin/restjsr/spatialanalyst/datasets/JingjinTerrain%40Jingjin/terraincalculation/cutfill.rjson
获取一个 POST 请求的表单。
创建一个填挖方分析结果资源,相当于进行了一次填挖方分析。
请求体中需传递如下参数:
名称 | 类型 | 含义 |
cutFillType | cutFillType | 填挖方分析的类型,包含:
GRID:根据结果栅格进行填挖方分析,也叫栅格填挖方 LINE3DANDBUFFERRADIUS:根据指定的三维线及缓冲半径进行进行填挖方分析,也叫斜面填挖方。 REGION3D:三维面填挖方计算。 REGIONANDALTITUDE:根据指定的面区域及结果高程值进行填挖方分析,也叫选面填挖方计算。 默认根据结果栅格进行填挖方分析。 |
afterCutFillDataset | String | 填挖方后的栅格数据集,当填挖方分析的类型为 GRID 时有效,此时为必填。 |
resultDataset | String | 填挖方分析的结果数据集。 |
buildPyramid | boolean | 是否对结果栅格数据集创建金字塔。 |
deleteExistResultDataset | boolean | 如果用户命名的结果数据集名称与已有的数据集重名,是否删除已有的数据集。 |
bufferRadius | double | 填挖方线路的缓冲区半径,当填挖方分析的类型为 LINE3DANDBUFFERRADIUS 时有效,此时为必填,且值必须大于0 |
isRoundHead | boolean | 是否使用圆头缓冲为填挖方路线创建缓冲区,默认为 false,当填挖方分析的类型为 LINE3DANDBUFFERRADIUS 时有效。 |
line3D | Geometry3D | 填挖方路线,当填挖方分析的类型为 LINE3DANDBUFFERRADIUS 时有效。 |
region | Geometry | 填挖方区域,当填挖方分析的类型为 REGIONANDALTITUDE 时有效。 |
region3D | Geometry3D | 三维面对象,当填挖方分析的类型为 REGION3D 时有效。 |
响应参数如下:
字段 | 类型 | 说明 |
succeed |
boolean | 查询是否成功。 |
newResourceID | String | 分析结果资源的 ID。 |
postResultType | PostResultType | POST 请求的结果类型,枚举说明 POST 请求对目标资源的影响,即处理结果是什么样的。 |
newResourceLocation | String | 创建的新资源的 URI。 |
对 cutFill 资源:http://supermapiserver:8090/iserver/services/spatialAnalysis-Jingjin/restjsr/spatialanalyst/datasets/JingjinTerrain@Jingjin/terraincalculation/cutfill.rjson,执行 POST 请求,请求体如下:
{
"cutFillType":"REGION3D",
"region3D":"{\"bounds\":{\"bottom\":39.5,\"center\":{\"x\":116.2,\"y\":40.0},\"height\":1.0,\"left\":115.4,\"leftBottom\":{\"x\":115.4,\"y\":39.5},\"right\":117.0,\"rightTop\":{\"x\":117.0,\"y\":40.5},\"top\":40.5,\"valid\":true,\"width\":1.6},\"id\":0,\"parts\":[4],\"points\":[{\"x\":115.4,\"y\":40.0,\"z\":-5.0},{\"x\":116.4,\"y\":39.5,\"z\":0.0},{\"x\":117.0,\"y\":40.5,\"z\":5.0},{\"x\":115.4,\"y\":40.0,\"z\":-5.0}],\"rotationX\":0.0,\"rotationY\":0.0,\"rotationZ\":0.0,\"scaleX\":0.0,\"scaleY\":0.0,\"scaleZ\":0.0,\"type\":\"REGION3D\"}",
"resultDataset":"cutfill",
"buildPyramid":true,
"deleteExistResultDataset":true
}
则返回的 rjson 格式的资源描述如下:
{
"postResultType":"CreateChild",
"newResourceID":"aee0c9dea91f4f39a096771fbc3312f2_6f88d7cfcf8d43049d5d759db114f9db",
"succeed":true,
"newResourceLocation":"http://supermapiserver:8090/iserver/services/spatialAnalysis-Jingjin/restjsr/spatialanalyst/datasets/JingjinTerrain@Jingjin/terraincalculation/cutfill/aee0c9dea91f4f39a096771fbc3312f2_6f88d7cfcf8d43049d5d759db114f9db"
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。HEAD 请求可以用来判断 cutFill 资源是否存在,或者客户端是否有权限访问 cutFill 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 cutFill 资源是否支持<format>格式的表述。