当前位置: 首页 > news >正文

ArcGIS Server Java ADF 案例教程 25

二 几何对象查询

在上一章的QueryTask中也有对几何对象的查询,你可以回忆一下那个Task面板中“选择”那个Tool。这个Tool会在Map中绘制一个多边形,然后ADF根据这个多边形查询位于多边形内的所有要素。

几何对象的查询主要使用IdentifyCriteria对象,下面的代码实现了这样一个根据多边形查询要素的功能:
WebContext webContext = event.getWebContext();
WebGeometry webGeometry = (WebPolygon) event.getWebGeometry().toMapGeometry(webContext.getWebMap());

WebQuery webQuery = (WebQuery) webContext.getAttribute("query");
List
layers = webQuery.getQueryLayers();
List
queryLayers = new ArrayList ();
for (WebLayerInfo layer : layers)
{
if (layer.getName().equals("World Cities"))
{
queryLayers.add(layer);
break;
}
}

IdentifyCriteria identifyCriteria = new IdentifyCriteria();
identifyCriteria.setWebGeometry(webGeometry);

List
listQueryResult = webQuery.query(identifyCriteria, queryLayers);

在这个查询过程中,首先从MapEvent事件中获得从客户端传来的WebGeometry对象(这里是用户在客户端的Map中画的多边形),这个对象是基于客户端坐标的,因此需要转化成地图坐标。由于我们只想查“World Cities”这个图层上的要素,因此下面又构造了一个queryLayers,将我们想要查询的图层挑选了出来。在此之后,我们就可以使用IdentifyCriteria对象,将ADF转化成地图坐标的WebGeometry对象作为它的参数,进行查询得到结果。

相关文章:

  • LeetCode -- Minimum Depth of Binary Tree
  • ArcGIS Server Java ADF 案例教程 26
  • LeetCode -- Minimum Path Sum
  • LeetCode -- Multiply Strings
  • ArcGIS Server Java ADF 案例教程 27
  • LeetCode -- Permutations II
  • SQL语句性能调整之ORACLE的执行计划
  • LeetCode -- Product of Array Except Self
  • 不知道为什么我的一oracle的sql调优文章笔记无法发表,提示“文章中出现禁止的词语,系统不予接受。”...
  • LeetCode -- Remove Duplicates From Sorted Array 2
  • 好人陈虻
  • LeetCode -- Reverse Bits
  • LeetCode -- Rotate Array
  • SQL2005CLR函数扩展-天气服务
  • LeetCode -- String to Integer (atoi)
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • learning koa2.x
  • Material Design
  • Meteor的表单提交:Form
  • nodejs实现webservice问题总结
  • Python 反序列化安全问题(二)
  • React-redux的原理以及使用
  • Redis 懒删除(lazy free)简史
  • vue 配置sass、scss全局变量
  • Web标准制定过程
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 算法---两个栈实现一个队列
  • 微信开放平台全网发布【失败】的几点排查方法
  • 源码安装memcached和php memcache扩展
  • "无招胜有招"nbsp;史上最全的互…
  • #Linux(Source Insight安装及工程建立)
  • #每天一道面试题# 什么是MySQL的回表查询
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (C++20) consteval立即函数
  • (c语言)strcpy函数用法
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)JAVA中的堆栈
  • .NET 反射的使用
  • .net解析传过来的xml_DOM4J解析XML文件
  • []Telit UC864E 拨号上网
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [CodeForces-759D]Bacterial Melee
  • [codevs 1288] 埃及分数 [IDdfs 迭代加深搜索 ]
  • [CQOI 2010]扑克牌
  • [HarmonyOS]第一课:从简单的页面开始
  • [LLM][FT]大模型Fine-Tuning相关技术0
  • [Lua实战]整理Lua中忽略的问题
  • [office] excel中weekday函数的使用方法 #学习方法#微信#媒体
  • [python] dict类型变量写在文件中
  • [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)...