您当前的位置:首页 >> 大数据 >  正文
SuperMap iServer 服务之featureResults查询(包括点、线、面查询) 观点
来源: 腾讯云      时间:2023-01-18 16:12:06

官方featureResults查询文档: http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/root/data/featureResults/featureResults.htm

查询模式分为:ID、SQL、BOUNDS、BUFFER等,能够以字段、空间等形式进行数据的查询,各类查询类型在下边对应的查询条件也不相同。

查询地址的获取


(相关资料图)

地图查询服务地址为 :

// 地图查询服务地址为 : http://xxx.xxx.xxx.xx:8090/iserver/services/data-GL_ZDXM/rest/data

调试页面可以得到查询接口为一个在线json链接

属性查询的请求就是在查询服务地址后面加上 /featureResults.json

// 查询服务调用URL为 http://xxx.xxx.xxx.xx:8090/iserver/services/data-GL_ZDXM/rest/data/featureResults.json 

查询地址的请求参数

超图查询服务的post请求中,参数分为URL参数和请求头参数两部分 , 查询服务请求地址的URL 后面加上参数 returnContent=true可直接获取查询结果。

URL参数

请求头参数

重点: 关于 getFeatureMode 的查询模式说明

BOUNDS 通过范围查询来获取要素。 BOUNDS_ATTRIBUTEFILTER 通过范围查询加属性过滤器的模式来获取要素。 BUFFER 通过几何对象的缓冲区来获取要素。 BUFFER_ATTRIBUTEFILTER 通过缓冲区加属性过滤器的模式来获取要素。 ID 通过 ID 来获取要素。 SPATIAL 通过空间查询模式来获取要素。 SPATIAL_ATTRIBUTEFILTER 通过空间查询加属性过滤器的模式来获取要素。 SQL 通过 SQL 查询来获取要素。

ps重点: 查询模式的适用情况

supermap 查询字段说明文档: http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iPortal/Appendix/SystemField.htm#MiniTOCBookMark2

1、SQL 查询模式写法

SQL 查询模式。适用于查询 地块名称、一个区域的面积、数据的SMID唯一表示等,不能查询几何图形属性geometry,不适应根据经纬度查询点、线、面等。但是SQL模式可以根据 queryParameter 中的 attributeFilter 写过滤条件,查询点、线、面,前提是你能获取到对应的已知坐标去查询

// SQL模式查询根据点的SMY、SMX 坐标查询数据    {          "getFeatureMode":"SQL",       "datasetNames":["GL_ZDXM:GL_ZDXM"],       "maxFeatures":1,        "queryParameter":{             "sortClause":null,             "ids":null,             "name":null,             "attributeFilter":"SMY=-15.792110943058866 and SMX=-47.8977476573595",            "groupClause":null,              "linkItems":null,             "joinItems":null,              "fields":null         }         }

2、SPATIAL_ATTRIBUTEFILTER 空间查询模式写法

SPATIAL_ATTRIBUTEFILTER 空间查询加属性过滤器的模式 比较适合 根据经纬度 查询几何属性 geometry,查询点、线、面

// 根据一个点的经纬度,查询所在地块属性         {      "getFeatureMode":"SPATIAL_ATTRIBUTEFILTER",    "datasetNames":["GL_ZDXM:GL_ZDXM"]",          "attribugeometry":{         "parts":[1],         "points":[ {        "x":103.704128265312,        "y":30.853677889500062        }],                     "type":"POINT"        },              "teFilter":"",       "spatialQueryMode":"INTERSECT"    }

不加URL参数 returnContent

对示例 featureResults 资源:http://supermapiserver:8090/iserver/services/data-world/rest/data/featureResults.rjson 执行 POST 请求(returnContent 默认不传,则为 false),对 supermapiserver 服务器上的数据进行查询,根据 ID 来获取要素,请求体中的参数如下:

{ "getFeatureMode":"ID", "datasetNames":["World:Capitals"], "ids":[1, 2, 3] } 返回 rjson 格式的操作结果表述如下: {  "newResourceID": "48ba8fa1144640939a944f75e1682265_99dabf94794248c38776711d859164af",   "newResourceLocation": "http://localhost:8080/iserver/services/data-world/rest/data/featureResults/48ba8fa1144640939a944f75e1682265_99dabf94794248c38776711d859164af.rjson",    "postResultType": "CreateChild", "succeed": true   }

加URL参数 returnContent

对示例 featureResults 资源:http://supermapiserver:8090/iserver/services/data-World/rest/data/featureResults.geojson?returnContent=true 执行 POST 请求,对 supermapiserver 服务器上的数据进行查询,根据 ID 来获取要素,请求体中的参数如下:

{ "getFeatureMode":"ID", "datasetNames":["World:capital"],  "ids":[1]  }

返回 geojson 格式的操作结果表述如下:

{     "features":[     {   "geometry":{     "coordinates":[-47.8977476573595,-15.792110943058866],     "type":"Point"    },    "id":"1",     "type":"Feature",     "properties":{         "SMLIBTILEID":"1",         "COUNTRY_CH":"巴西",        "CAPITAL_EN":"Brasilia",         "POP":"2207718.0",         "CAPITAL_CH":"巴西利亚",         "SMID":"1",         "CAPITAL_LO":"Brasília",         "COUNTRY_EN":"Brazil",         "USERID":"0",         "SMGEOPOSITION":"266502144",          "SMGEOMETRYSIZE":"20",         "SMY":"-15.792110943058866",          "SMX":"-47.8977476573595",          "SMUSERID":"0"         }      }    ],       "type":"FeatureCollection"    }

以SQL为例

PS : 最终总结 多看官方文档,多在featureResults 页面 调试

supermap iserver featureResults查询模式官方文档说明:

http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/root/data/featureResults/featureResults.htm

supermap iserver 查询接口响应系统字段说明:

http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iPortal/Appendix/SystemField.htm#MiniTOCBookMark2

X 关闭

X 关闭