前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SuperMap iServer 服务之featureResults查询(包括点、线、面查询)

SuperMap iServer 服务之featureResults查询(包括点、线、面查询)

原创
作者头像
圆圆的西瓜
修改2023-01-18 16:20:01
3.1K0
修改2023-01-18 16:20:01
举报
文章被收录于专栏:SuperMap超图

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

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

查询地址的获取

地图查询服务地址为 :

代码语言:javascript
复制
// 地图查询服务地址为 : 
http://xxx.xxx.xxx.xx:8090/iserver/services/data-GL_ZDXM/rest/data

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

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

代码语言:javascript
复制
// 查询服务调用URL为 
http://xxx.xxx.xxx.xx:8090/iserver/services/data-GL_ZDXM/rest/data/featureResults.json 

查询地址的请求参数

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

URL参数

请求头参数

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

代码语言:javascript
复制
 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 写过滤条件,查询点、线、面,前提是你能获取到对应的已知坐标去查询

代码语言:javascript
复制
   // 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,查询点、线、面

代码语言:javascript
复制
   // 根据一个点的经纬度,查询所在地块属性      
   {   
   "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 来获取要素,请求体中的参数如下:

代码语言:javascript
复制
{ 
"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 来获取要素,请求体中的参数如下:

代码语言:javascript
复制
{ 
"getFeatureMode":"ID",
 "datasetNames":["World:capital"], 
 "ids":[1] 
 }

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

代码语言:javascript
复制
{     
"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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 官方featureResults查询文档: http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/root/data/featureResults/featureResults.htm
  • 查询地址的获取
  • 查询地址的请求参数
  • supermap 查询字段说明文档: http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iPortal/Appendix/SystemField.htm#MiniTOCBookMark2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档