Upload
jun-sun
View
620
Download
1
Embed Size (px)
DESCRIPTION
SuperMap iServer 6空间分析功能对几何对象(Geometry)或数据集(Dataset)进行缓冲区分析(buffer)、叠加分析(overlay)、等值线(isoline)/面分析, 提供了对应的REST API接口, 可以输出JSON/XML格式的数据
Citation preview
SuperMap iServer 6 空间分析功能
http://a.com/iserver/services/spatialanalyst-sample/restjsr
对几何对象(Geometry)或数据集(Dataset)进行缓冲区分析(buffer)、叠加分析(overlay)、等值线
(isoline)/面分析, 提供了对应的 REST API 接口, 可以输出 JSON/XML 格式的数据
Geometry 空间分析
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry
基于几何对象进行空间分析
buffer
POST
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/buffer.json
{
"sourceGeometry":{
"type":"LINE",
"points":[{"x":23, "y":23}, {"x":33, "y":37}]
},
"analystParameter":{
"leftDistance":{"value":2},
"rightDistance":{"value":2},
"endType":"ROUND",
"semicircleLineSegment":4
}
}
Response
{
"succeed":true,
"newResourceID":"1",
"postResultType":"CreateChild",
"newResourceLocation":"http://a.com/iserver/services/spatialanalyst-
sample/restjsr/spatialanalyst/geometry/buffer/1"
}
分析结果的数据结构
GET:
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/buffer/1.jso
n
Response
{
"succeed":true,
"message":null,
"image":null,
"resultGeometry":{
"id":0,
"parts":[4],
"points":[{
"x":21,"y":23
},{
"x":21.66,"y":21.51
},{
"x":21.37,"y":24.16
},{
"x":21,"y":23
}],
"type":"REGION",
"style":null
}
}
returnContent=true
如果在做 buffer 分析时添加 returnContent=true请求参数, 则会立即返回分析结果, 而不是返
回结果的 URI, 再读取该 URI 中的内容才是分析结果
例如:
POST
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/buffer.json?
returnContent=true
以这样的方式来请求 buffer 分析, 则立即返回分析结果
overlay
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/overlay.json
请求方式和 buffer 是一致的, 仅是请求的参数有区别, 同样遵循 returnContent=true 的规则,
分析结果的数据结构也是一样的
{
"sourceGeometry":{
"type":"REGION",
"points":[{
"x":23, "y":23
},{
"x":33, "y":35
},{
"x":43, "y":22
}]
},
"operateGeometry":{
"type":"REGION",
"points":[{
"x":23, "y":23
},{
"x":34, "y":47
},{
"x":50, "y":12
}]
},
"operation":"CLIP"
}
isoline
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/isoline.json
基于采样点提取等值线, 请求方式和 buffer 是一致的, 同样遵循 returnContent=true 的规则,
仅是请求的参数有区别
{
"points":[{"x":11.34, "y":52.01}, {"x":12.19, "y":53.68}],
"zValues":[-3, -2],
"resolution":3500,
"extractParameter":{
"datumValue":0,
"interval":10,
"resampleTolerance":0.7,
"smoothMethod":"BSPLINE",
"smoothness":3
},
"resultSetting":{
"dataset":"",
"expectCount":100,
"dataReturnMode":"RECORDSET_ONLY",
"deleteExistResultDataset":false
}
}
分析结果的数据结构
{
"succeed": true,
"dataset": null,
"message": null,
"recordset": {
"datasetName": "tmp3236632130562897681@RS_Y1LEpjZV",
"features": [{
"ID": 1,
"fieldNames": ["字段名1", "字段名2"],
"fieldValues": ["字段值1", "字段值2"],
"geometry": {
"id": 1,
"parts": [2],
"points": [{
"x": 189416.74287234453,
"y": 5844649.011754164
}, {
"x": 190176.09529174163,
"y": 5844086.556968644
}],
"style": null,
"type": "LINE"
}
}],
"fieldCaptions": ["字段1说明", "字段2说明"],
"fieldTypes": ["INT32", "DOUBLE"],
"fields": ["字段名1", "字段名2"]
}
}
isoregion
http://a.com/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/isoregion.js
on
基于采样点的提取等值面, 请求方式和 isoline 是一致的, 仅是请求的参数有区别, 同样遵循
returnContent=true 的规则,分析结果的数据结构也是一样的, 只不过返回的 Geometry 类型是
面
SuperMap iServer 几何对象的 JSON 格式
SuperMap iServer 的几何对象(Geometry)由 id、parts、points、style 和 type 参数表示,
其中:
id 是几何对象的唯一标识符;
parts 是整型数组,其元素描述几何对象中各个子对象所包含的节点的个数;
1.几何对象从结构上分为简单几何对象和复杂几何对象。简单几何对象一般为单一
对象,复杂几何对象由多个简单对象组成或经过一定的空间运算之后产生,如:矩
形为简单的区域对象,而中空的矩形为复杂的区域对象。
2.通常情况下,一个简单几何对象的子对象就是它本身,因此对于简单对象来说,
parts 是长度为 1 的整型数组,数组中元素的值就是这个简单对象节点的个数。如
果一个几何对象是由几个简单对象组合而成的,例如,一个岛状几何对象由 3 个简
单多边形组合而成,那么这个岛状的几何对象的 parts 参数值就是一个长度为 3 的
整型数组,数组中每个元素的值分别代表这三个多边形所包含的节点个数。
points 描述组成几何对象的节点的二维坐标对数组。
style 描述几何对象的风格,用于定义几何对象在显示时的符号、线型、填充模式等
信息。
type 描述几何对象的类型。
简单点对象
对于简单点对象来说,parts 参数是长度为 1 的整型数组,数组中元素的值就是点对象中所
包含的节点的个数,即 1;type 值就是“POINT”。
{
"id": 1,
"style": null,
"type": "POINT",
"parts": [1],
"points": [{"x": 25.27,"y": 54.68}]
}
简单线对象
线对象由一些简单的点坐标组成,线对象的 type 值是“LINE”。
{
"id": 1,
"style": null,
"type": "LINE",
"parts": [2],
"points": [{
"x": 96.37, "y": 399.73
}, {
"x": 127.61, "y": 290.41
}]
}
简单面对象
面对象由一些简单的点坐标组成,对于简单的面对象来说,它的起点和终点的坐标点相同。
{
"id": 1,
"style": null,
"type": "REGION",
"parts": [3],
"points": [{
"x": -12.91, "y": 407.37
}, {
"x": -2.91, "y": 248.49
}, {
"x": 250.22, "y": 305.78
}, {
"x": -12.91, "y": 407.37
}]
}
SuperMap iServer 地理要素的 JSON 格式
一个要素的信息,包括属性字段名称列表、属性字段值列表,以及要素对应的几何对象。
{
"ID": 1,
"fieldNames": ["字段名1", "字段名2"],
"fieldValues": ["字段值1", "字段值2"],
"geometry": <Geometry>
}