Supermap iClient for JavaScript 多数据集查询

2024-02-25 10:58

本文主要是介绍Supermap iClient for JavaScript 多数据集查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:柳惠珠

一. 前言

在日常使用查询的时候,经常会对多个数据集进行查询,一个一个数据集查询会非常的耗时也麻烦。iClient for Javascript提供了多数据集查询的功能。下面我就以SQL查询为例,分别阐述一下地图查询与数据集查询的具体用法。

二. 地图查询

1 . SuperMap.REST.QueryBySQLParameters

这里写图片描述

queryParams,这个属性是用来设置查询的过滤条件。这是一个数组,数组中中可以写多个FilterParameter对象来实现对多个数据集的查询。

2 . SuperMap.REST.FilterParameter

这里写图片描述

attibuteFilter属性设置过滤条件,相关的条件的书写可查看另一篇博文
http://blog.csdn.net/supermapsupport/article/details/53910299
name属性用于设置查询的数据集名称。

3 . 示范代码

var queryParam = [], queryBySQLParams, queryBySQLService;
queryParam[0] = new SuperMap.REST.FilterParameter({name: "Countries@World.1",attributeFilter: "Pop_1994>1000000000 and SmArea>900"
});
queryParam[1] = new SuperMap.REST.FilterParameter({name: "Captials@World.1",attributeFilter: "Pop_1994>1000000000 and SmArea>900"
});
queryBySQLParams = new SuperMap.REST.QueryBySQLParameters({queryParams: [queryParam]
});
queryBySQLService = new SuperMap.REST.QueryBySQLService(url, {eventListeners: {"processCompleted": processCompleted,   "processFailed": processFailed}});queryBySQLService.processAsync(queryBySQLParams);

4 . 查询结果

查询完成后会传入一个queryEventArgs数据结果到processCompleted这个方法中。

这里写图片描述

地图查询的结果会按照数据集分组, 可以通过queryEventArgs.result.recordsets[]来查看每个数据集的查询结果。
这里写图片描述如果数据集的类型不同,例如,有点数据集,面数据集,线数据集等。可以通过查看queryEventArgs.result.recordsets[0].features[0].geometry来判断数据的类型。

二. 数据集查询

1 . SuperMap.REST.GetFeaturesBySQLParameters

这里写图片描述
queryParameter与地图查询不同,不是一个数组,只是一个FilterParameter对象。所以,多数据集就要在datasetNames里面进行设置,这个是一个数组,可以写多个数据集的名称。

2 . SuperMap.REST.FilterParameter

这里写图片描述

这里写图片描述与地图查询不同的是,我们GetFeaturesBySQLParameters里面已经通过datasetNames属性设置了数据集的名称,所以在数据集查询的时候,name属性我们就不再进行设置了,设置attributeFilter即可。

3 . 示范代码

var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
getFeatureParam = new SuperMap.REST.FilterParameter({attributeFilter: "SmID > 50"
});
getFeatureBySQLParams= new SuperMap.REST.GetFeaturesBySQLParameters({queryParameter: getFeatureParam,datasetNames:["World:Countries","World:Capitals"]
});
getFeatureBySQLService = newSuperMap.REST.GetFeaturesBySQLService(url2
, {eventListeners: {"processCompleted": processCompleted, "processFailed": processFailed}});
getFeatureBySQLService.processAsync(getFeatureBySQLParams);

4 . 查询结果

查询完成后会传入一个queryEventArgs数据结果到processCompleted这个方法中。

这里写图片描述

可以通过queryEventArgs.result.features[]来查看每个数据集的查询结果。
这里写图片描述如果数据集的类型不同,例如,有点数据集,面数据集,线数据集等。可以通过查看queryEventArgs.result.features[0].geometry来判断数据的类型。

这里写图片描述这里需要注意的是:地图查询的结果会按照数据集进行分类,而数据集查询的结果不会按照数据集进行分类,而是直接将结果都放在features里面。

这篇关于Supermap iClient for JavaScript 多数据集查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745255

相关文章

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在