9
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",

iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

  • 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

Page 1: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

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

Page 2: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

"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

}],

Page 3: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

"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 的规则,

分析结果的数据结构也是一样的

Page 4: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

{

"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

Page 5: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

基于采样点提取等值线, 请求方式和 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

Page 6: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

}, {

"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 类型是

Page 7: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

SuperMap iServer 几何对象的 JSON 格式

SuperMap iServer 的几何对象(Geometry)由 id、parts、points、style 和 type 参数表示,

其中:

id 是几何对象的唯一标识符;

parts 是整型数组,其元素描述几何对象中各个子对象所包含的节点的个数;

1.几何对象从结构上分为简单几何对象和复杂几何对象。简单几何对象一般为单一

对象,复杂几何对象由多个简单对象组成或经过一定的空间运算之后产生,如:矩

形为简单的区域对象,而中空的矩形为复杂的区域对象。

2.通常情况下,一个简单几何对象的子对象就是它本身,因此对于简单对象来说,

parts 是长度为 1 的整型数组,数组中元素的值就是这个简单对象节点的个数。如

果一个几何对象是由几个简单对象组合而成的,例如,一个岛状几何对象由 3 个简

单多边形组合而成,那么这个岛状的几何对象的 parts 参数值就是一个长度为 3 的

整型数组,数组中每个元素的值分别代表这三个多边形所包含的节点个数。

points 描述组成几何对象的节点的二维坐标对数组。

style 描述几何对象的风格,用于定义几何对象在显示时的符号、线型、填充模式等

信息。

type 描述几何对象的类型。

Page 8: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

简单点对象

对于简单点对象来说,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],

Page 9: iShare 技术 SuperMap空间分析(SpatialAnalyst)服务REST API 20110711 Sun

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

}