查询模式分为: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重点: 查询模式的适用情况
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查询模式官方文档说明:
supermap iserver 查询接口响应系统字段说明:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。