开发工具与关键技术:SuperMap iDesktop 10i地图SQL查询

作者:木有窝的鸟~小通

撰写时间:2020年5月6日

 

地图有各类查询,在Superman平台包括SQL查询、范围查询、几何查询和距离查询这些查询。提供支持了GIS服务,那么就是iServer的地图REST服务。

首先使用SQL查询得了解几大方面内容。

  1. iServer Java 的Map资源服务地址。
  2. SQL查询的主要接口。
    1. QueryBySQLService构造函数以及属性。
    2. QueryBySQLParameters SQL查询参数类
    3. QueryEventArgs 查询服务事件数据类
    4. QueryResult查询服务结果类

3   . 获取结果

 

一、Map服务地址URL,一般根据这样的情况书写:如

http://localhost:8090/iserver/services/map-world/res t/maps/World Map

 

二、主要接口

(1)QueryBySQLService 是SQL查询服务类

Var myQueryBySQLService = new SuperMap.REST.QueryBySQLService(url, {eventListeners: {“processCompleted”: query Completed, “processFailed”: queryError}});

 

构造函数QueryBySQLService (URI,options);

其重要三大属性包括events、eventListeners和processAsync。

 

Events

{SuperMap.Events} 在 QueryService 类中处理所有事件的对 象,支持两种事件 processCompleted 、processFailed ,服务 端成功返回查询结果时触发 processCompleted 事件,服务 端返回查询结果失败时触发 processFailed 事件

 

eventListeners

{Object} 监听器对象,在构造函数中设置此参数(可选), 对 QueryService 支持的两个事processCompleted 、 processFailed 进行监听,相当于调用 SuperMap.Events.on(eventListeners)。

 

processAsync

负责将客户端的查询参数传递到服务端。

(2)QueryBySQLParameters 是SQL 查询参数类构造函数

常用参数:

expectCount:期望返回结果记录个数

queryParams:查询过滤条件参数数组

customParams:自定义参数,供扩展使用

startRecord:查询起始记录号

。。。其他请到官网JavaScript API 中参考。

 

(3)QueryResult是SQL查询结果类。

常用参数:

totalCount符合查询条件的记录的总数。

currentCount当次查询返回的记录数。

Recordsets结果记录集数组。

。。。其他请到官网JavaScript API 中参考。

 

我的案例实例:

  地图SQL查询

三、获取结果

// 获取feature将其显示在featureLayer上。  var feature = new SuperMap.Feature.Vector();  feature = result.recordsets[i].features[k];  feature.style = style;  vectorLayer.addFeatures([feature]);

我的案例实例:

地图SQL查询

相关文章: