官方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 关闭