Supermap GIS二次开发之查询面内数据是否有点数据
Supermap GIS二次开发之查询面内数据是否有点数据
作者:谢景,撰写时间:2019-1-18
在我们进行GIS二次开发的时候,经常会需要查询某个面区域里是否有点数据,或者是面区域里面的点数据是否超过多少个,如果超过,则该面区域高亮显示。
举个例子,就像我做的慢性病GIS系统,就需要查询一个社区里面的病人是否超过3人,超过则该社区高亮,在这里,病人坐标就是点数据。
下面做个简单的Demo演示一下查询过程。
思路:先查出面数据,然后再以面数据作为范围过滤条件对点数据进行查询,如果查出数据,则该面数据高亮。
下面演示代码:
function SelectRegion(){ //查询面数据的方法var queryRegion, queryByBoundsParams, queryService;//定义变量queryRegion = new SuperMap.REST.FilterParameter({ name: "Region@XJ" });//设置查询图层,这里是面数据所在的图层// QueryBySQLParameters SQL 查询参数类queryByBoundsParams = new SuperMap.REST.QueryBySQLParameters({queryParams: [queryRegion], //queryParams:该类用于设置查询数据集的查询过滤参数。});queryService = new SuperMap.REST.QueryBySQLService(url, {//processCompleted:设置成功回调函数eventListeners: { "processCompleted": processCompleted_selectAddress }});queryService.processAsync(queryByBoundsParams);//负责将客户端的动态分段服务参数传递到服务端。}function processCompleted_selectAddress(obj){ //成功回调函数 obj是服务端传回来的数据var i, len, features, feature,geometry, result = obj.result.recordsets;//声明变量features = result[0].features;for (i = 0, len = features.length; i < len; i++) { //循环面数据,调用查询点数据的方法,每个面数据都是查询点数据的范围过滤条件feature = features[i];geometry=feature.geometry;SelectPoint(feature);//查询点数据的方法}}function SelectPoint(feature){//查询点数据的方法var queryRegion, queryByGeometryParams, queryService;queryRegion = new SuperMap.REST.FilterParameter({ name: "Point@XJ" });//点数据所在图层queryByGeometryParams = new SuperMap.REST.QueryByGeometryParameters({queryParams: [queryRegion],geometry: feature.geometry,//范围过滤条件spatialQueryMode: SuperMap.REST.SpatialQueryMode.INTERSECT});queryService = new SuperMap.REST.QueryByGeometryService(url, {eventListeners: {//成功的回调函数是匿名方法"processCompleted": function(obj){//判断以面数据作为范围过滤条件下,有没有查询点数据,如果没有,则证明该面数据内没有点数据,如果有点数据,则使该面高亮显示。if(obj.result.recordsets[0].features.length>0){feature.style = {//设置面的样式strokeColor: "#304DBE",strokeWidth: 2,pointerEvents: "visiblePainted",fillColor: "#304DBE",fillOpacity: 0.4} vectorLayer.addFeatures(feature);//将该面数据添加到vectorLayer图层中显示。} }}});queryService.processAsync(queryByGeometryParams);//负责将客户端的动态分段服务参数传递到服务端。}
效果图如下:
Supermap GIS二次开发之查询面内数据是否有点数据相关推荐
- 《SuperMap GIS二次开发MVC实战训练---江海区慢性病防治院系统》项目研发阶段性总结
<SuperMap GIS二次开发MVC实战训练-江海区慢性病防治院系统>项目研发阶段性总结 作者:爱怡同学 本次任务完成时间:2019年1月1日-2019年1月10日 开发工具与关键技术 ...
- SuperMap GIS二次开发MVC实战训练-佛山顺德慢性病GIS项目总结
SuperMap GIS二次开发MVC实战训练-佛山顺德慢性病GIS项目总结 作者:谢景 任务完成时间:2018年12月24日-2019年1月15日 完成模块功能:区域定位.查询搜索.路径分析.周边分 ...
- Supermap GIS二次开发
开发工具与关键技术:iDesktop Supermap GIS 作者:陈芝番 撰写时间:2020.5.13 目录 1.地图发布 2.选择工作空间类型 3.选择发布的服务类型 4.服务接口 5.地图 ...
- C# 基于AE的GIS二次开发 要素查询操作,属性表查询操作及其属性表修改操作
直接上代码: 要素查询 并高亮显示 模糊查询我的根据自己的表设计的,自己用基本语句是 属性表字段 LIKE '*内容*' *号为 SQL like语句里的% like '%%',在ArcGIS里是*开 ...
- GIS二次开发:实验五 综合实验
一.实验目的 1.掌握栅格数据读取与另存: 2.掌握地图制图工具的实现: 3.基于遥感影像的森林资源信息管理与更新系统的实现 二.实验仪器与设备 计算机.visual studio 软件.ArcGIS ...
- GIS 二次开发概述 (整理)
GIS 二次开发概述 地理信息系统根据其内容可分为两大基本类型:一是应用型地理信息系统,以某一专业.领域或工作为主要内容,包括专题地理信息系统和区域综合地理信息系统:二是工具型地理信息系统,也就是 G ...
- [arcgis插件]gis二次开发 报备工具:SHP转TXT文本、TXT转SHP插件
[arcgis插件]gis二次开发 报备工具:SHP转TXT文本.TXT转SHP插件 [2022.09.28版本更新] 1.shp转txt文件: 选择图层:选择面图层 保存路径:设置一个文件夹路径,可 ...
- GIS二次开发学习专题(一)C#入门
GIS二次开发学习专题(一) 假期时间想整理电脑内存,所以就把代码发到网上了,希望可以供大家参考,学习资料来自<牟乃夏 AE开发教程-基于C#.NET> 发的代码是我整理+老师布置的作业 ...
- c# AE GIS二次开发学习专题(二) 基本地图控件使用
GIS二次开发学习专题(二) 基本地图控件使用 学习资料来自<牟乃夏 AE开发教程-基于C#.NET> 发的代码是我整理+老师布置的作业 这一部分是地图基本控件的使用与编写,包括: 一.二 ...
最新文章
- jupyter Nodebook如何查看函数帮助
- E0144	const char * 类型的值不能用于初始化 char * 类型的实体
- BP: 通过SAP name拿到central person id
- ES6-2 块级作用域与嵌套、let、暂行性死区
- layui 开启关闭标签_欧盟发布照明产品ErP及能效标签法规新草案
- 【项目管理】项目进度管理的关键路径
- HALCON学习之旅(一)
- 带你深入理解Java的IO到底是个啥
- 云计算发展备受瞩目的五大方向
- 设A为n阶非零矩阵,且A^2=A. r(A)=r (0<r<n) 求|5E+A|
- PHP中Trait详解及其应用
- python vecm_用Eviews处理有关VARVECM模型的几个问题
- 从 ftp 上下载文件、文件夹
- PLC/WINCC实现远程监控的方法
- 免费的客户订单及商品管理系统
- 色彩搭配方案与其特性描述
- 大数据分析师高级证书_有大数据分析师资格证书吗?
- 湘乡江南计算机学校舒俊梅,东山学校建校120周年校庆捐款捐物情况公布-湘乡东山学校.DOC...
- Spring 面向切面编程(AOP) D5
- P2P网贷平台资金存管深度介绍
热门文章
- 数字标牌无线联网方案
- 基于视频图像的识别算法
- rarLinux 安装及使用
- android应用开发 adb调测工具
- 【tomcat 端口占用启动失败】The Tomcat connector configured to listen on port xx failed to start
- ninja 编译系统
- mysql threads create_mysql Threads_created 增长过快的解决
- Windows制作U盘在Thinkpad T60上安装Debian 7 (Wheezy)
- Pytorch和DCGAN生成肖像画
- 【Adobe Illustrator 教程】1. 认识AI并创建第一张画布