好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

2022年申报要素查询查询要.pdf

3页
  • 卖家[上传人]:科***
  • 文档编号:315690177
  • 上传时间:2022-06-21
  • 文档格式:PDF
  • 文档大小:42.34KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 申报要素查询 : 查询要素疯狂代码 http:/CrazyC ?:http:/CrazyC 使用过关系数据库的人一般都非常熟悉SQL 语句,它使用 Select 语句对数据库进行查询,Select 语句可以发分为两大类:非聚合类查询语句和聚合类查询语句上面例子中的第一条SELECT 语句是一条非聚合类查询语句,用于选择“成绩表”中“学号= 100 and 学号 = 100 and 学号 =20名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - ”定义了一个过滤条件选择所有“FEATID ”属性大于 20的要素 2) ; 空间过滤器空间过滤器使用一个关联与两个几何图形的空间操作符定义一个过滤条件,它通常作为MgFeatureQueryOption:SetSpatialFilter() 或MgFeatureAggregateOptions:SetSpatialFilter() 方法的参数该方法的原型如下所示,参数geometryProperty 用于指定要素类中几何属性的名称,geometry用于指定一个几何对象,参数spatialOperation用于指定一个空间操作符。

      假设操作符是MgFeatureSpatialOperations:Within,几何对象的WKT 表示为 POLYGON(0 0, 2 0, 2 2, 0 2, 0 0),那么此过滤条件的效果是选择在多边形内部的所有要素类MgFeatureSpatialOperations定义了 MapGudie 支持的空间操作符,它们的含义请参考空间关系l ;MgFeatureSpatialOperations:Containsl ; MgFeatureSpatialOperations:CoveredByl ;MgFeatureSpatialOperations:Crossesl ; MgFeatureSpatialOperations:Disjointl ;MgFeatureSpatialOperations:EnvelopeIntersectsl ; MgFeatureSpatialOperations:Equalsl ;MgFeatureSpatialOperations:Insidel ; MgFeatureSpatialOperations:Intersectsl ;MgFeatureSpatialOperations:Overlapsl ; MgFeatureSpatialOperations:Touchesl ;MgFeatureSpatialOperations:Within3) ; 组合过滤器通过调用方法MgFeatureQueryOption:SetBinaryOperator() 可以使用逻辑操作符 AND 或OR 将基本过滤器和空间过滤器组合在一起,参数 andOr的值为 TRUE 表示使用 AND 逻辑操作符, FALSE 表示使用 OR 逻辑操作符,该方法只有在基本过滤器和空间过滤器设置的情况下才会发挥作用。

      如果设置了基本过滤器和空间过滤器,却没有调用此方法,那么使用 AND 操作符组合基本过滤器和空间过滤器过滤器的BNF 语法如下所示,从中可以看到表达式是过滤器的重要组成部分,表达式支持的数据类型如表8-4所示,可以使用部分函数如表8-5所示 ; 表8-4 表达式支持的数据类型 ; 表8-5 表达式中可以使用的部分函数 ; 表达式中的一些函数可以使用单个要素的属性值作为参数,返回一个和此属性值相关的值,例如ceil 、floor 、concat 和upper等,这些函数可以使用于非聚合类和聚合类查询;一些函数可以将多个要素的属性值作为参数,返回一个和一组属性值相关的值,例如avg、count、max 、min、stddev 和sum 等,这些函数只能使用于聚合类查询下面是一些表达式的例子,以及如何使用这些表达式进行查询 1) ; NULL给定一个字符串类型的属性Name ,如果它的属性允许为 NULL,并且在插入一个要素时没有指定此属性的值,那么这个要素Name 属性的值为 NULL 通过应用过滤条件“Name NULL ”,可以选择所有 Name 属性值为 NULL 的所有要素通过应用过滤条件“NOT Name NULL”,可以选择所有 Name 属性值不为 NULL 的所有要素。

      2) ; LIKE Like可以用于实现模糊查询,给定一个字符串模式(Patern) ,可以使用 Like 查找所有符合指定模式的要素其中,百分号“% ”用于匹配0个或多个字符,下划线“_”用于匹配单个字符假设Description是一个字符串类型的属性,数据源中有两个包含了此属性的要素,这两个属性的值为“Point Data ”和“ Polygon Data ”,过滤条件“ DescriptionLIKE Polygon”返回“ Polygon Data ”,过滤条件“ NOT Description LIKE Polygon”返回“ Point Data”,过滤条件“ Description LIKE Pol_gon”返回“ Polygon Data ”3) ; IN()IN操作符用于选择与列表中的任意一个值匹配的要素,给定一个Int16 类型的属性Id ,过滤条件“ Id IN (-5995, -7033)”选择 Id 属性值等于 -5995或-7033的要素 1.1.1.3 ; 排序调用MgQueryOptions:SetOrderingFilter() 可以将查询结果进行排序,该方法的签名如下所示,参数orderByProperties是一个属性名称的集合,用于指定排序的属性,如果指定了多个属性,那么优先使用orderByProperties中序号较小的属性,只有在序号较小的属性具有相同的值时,才使用序号较大的属性;参数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - orderOption 用于指定是以升序的方式还是降序的方式进行排序,它的值可以为MgOrderingOption:Ascending或MgOrderingOption:Descending,分别用于表示升序和降序。

      1.1.1.4 ;分组调用 MgFeatureAggregateOptions:SetGroupingFilter() 可以将查询结果进行分组,该方法的签名如下所示,参数 groupByProperties 是一个属性名称的集合,用于指定分组的属性,如果指定了多个属性,那么优先使用 orderByProperties中序号较小的属性,只有在序号较小的属性具有相同的值时,才使用序号较大的属性;参数 groupFilter用于指定分组的过滤器如下的代码展示了如何使用分组创建一个聚合类查询上面代码的功能类似于如下的 SQL 语句 1.1.1.5 ; MgDataReader、MgFeatureReader和MgSqlDataReaderMapGuide支持三种类型的读取器,它们分别为MgDataReader 、MgSqlDataReader 和MgFeatureReader,读取器的类型由类 MgReaderType 定义 l ; MgReaderType:DataReaderl ; MgReaderType:FeatureReaderl ;MgReaderType:SqlDataReader类MgDataReader 、MgSqlDataReader 和MgFeatureReader都继承自MgReader ,都是一个用于读取查询结果的前向只读迭代器(Forward-Only, Read-Only Iterator),读取器的初始位置总是位于第一个数据之前,在读取数据之前必须调用方法ReadNext() ,在调用 ReadNext() 之后就无法读取读取器当前位置之前的数据。

      它们之间的主要不同点是,MgFeatureReader包含了一个方法MgFeatureReader:GetClassDefinition(),通过该方法的返回值可以得到查询结果的类定义(Class Definition),通过类定义得到每个属性的定义、主键等信息,而MgDataReader 和MgSqlDataReader 仅仅可以通过方法MgReader:GetPropertyType( ) 得到属性的类型如下的代码展示了将一个MgFeatureReader实例中的所有要素输出到一个文件中需要注意的是,在使用读取器读取完数据后要尽量马上调用方法MgReader:Close()关闭读取器为什么呢?为了提高MapGuide 服务器的响应速度, MapGuide 服务器使用了连接池(Connection Pool)的方式缓存了要素源 FDO 连接,即 FdoIConnection 实例,当接收到一个要素服务请求之后,它会首先在 FDO 连接池中查找是否有可用的FDO 连接,如果有就使用此 FDO 连接执行服务请求,否则创建一个新的 FDO 连接,但是如果已经超过服务器配置文件中设置的最大FDO 连接数,那么此要素服务请求会失败。

      当要素服务返回一个读取器之后,为了保证查询结果不会在读取数据之前消失,MapGuide 服务器会将读取器所关联的 FDO 连接标记为正在使用,只有在调用方法MgReader:Close() 关闭读取器后才会关闭和释放此FDO连接,如果不及时调用方法MgReader:Close() 可能会导致超过最大 FDO 的连接数,最终无法处理要素服务请求 2009-9-29 20:55:33 疯狂代码 http:/CrazyC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - - 。

      点击阅读更多内容
      相关文档
      浙江省温州市洞头区2025年九年级下学期数学基础素养第一次适应性检测试题含答案.pptx 四川省内江市2025年九年级中考数学第一次模拟考试卷.pptx 浙江省宁波市镇2025年中考数学一模试卷含答案.pptx 湖南省长沙市2025中考第一次模拟考试数学试卷含答案.pptx 浙江省金华市2025年中考一模数学模拟试题含答案.pptx 浙江省宁波市2025年九年级学业水平质量检测数学试卷含答案.pptx 湖南省长沙市2025年中考数学模拟卷含答案.pptx 浙江省宁波市镇海区2025年中考一模数学试题含答案.pptx 湖南省长沙市望城区2025年中考一模数学试题含答案.pptx 四川省内江市2025年中考一模考试数学试题含答案.pptx 广东省深圳市2025年九年级下学期第二次学业质量监测数学试卷(二模).pptx 浙江省温州市2025年中考一模数学试卷含答案.pptx 四川省绵阳市平武县2025年一模数学试题含答案.pptx 浙江省温州市2025年九年级学生学科素养检测数学试卷(二模)含答案.pptx 四川省绵阳市北川羌族自治县2025年中考一模数学试题含答案.pptx 浙江省绍兴市2025年初中毕业生学业水平调测数学试题含答案.pptx 四川省广元市2025年九年级中考一诊数学试题含答案.pptx 浙江省金华市2025年中考模拟预测数学试题含答案.pptx 湖南省长沙市2025年九年级中考一模数学试题.pptx 高考语文一轮复习讲义 课时精炼专题15 对点精练五 精准赏析艺术技巧.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.