- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GIS二次开发10
GIS二次开发-使用MapObjects(L10) 2007.4.16 5.2 矢量数据查询 5.2.1 根据要素查询属性 根据空间关系查询要素 根据距离查找 在查询结果记录集中查询记录属性 原理 地理信息系统的一个基本功能就是,通过与用户的交互,定位满足条件的地理空间要素,并返回相关的属性描述信息。 在MapObjects 如何查询各类几何对象(点,线段,多边形)所代表的地理要素的属性信息: 其原理是,根据用户在地图控件上点击的位置,先在指定的图层上通过空间分析的方法找到与指定位置最匹配的地理要素,将符合条件的记录生成一个结果记录集。通过结果记录集对象的相关属性和方法来获取各个记录的属性信息。 实现此功能相关的对象MapLayer SearchShape( shape, searchMethod, expression ) 创建的结果记录集,图层上的要素与shape参数所表示的几何图形对象在空间关系上符合参数searchMethod 所指定条件,逻辑条件符合表达式expression的要求。 表达式 expression是一个满足SQL语法的字符串。如果你要省略表达式,则使用一个空字符串 () SearchShape( shape, searchMethod, expression ) Shape:一个矢量图形(Shape)对象(可能是点、点集、线段、多边形等) searchMethod:一个用于指定空间查找规则的类型的整型数或MO常数。结果记录集中的要素与shape的关系必须满足所设参数指定的关系。 Expression: 一个构成SQL语句的 where 从句部分的字符串 。应当注意 MapObjects 遵遁 ANSI SQL标准, 而不是Jet Database Engine SQL标准. searchMethod查找方法常数: moPointInPolygon: 使用此参数要求Objmaplayer是一个多边形图层,shape 是一个点对象;判断一个点的坐标是否落在一个多边形要素中。 moEdgeTouchOrAreaIntersect:返回图层中的要素只要符合这样的条件之一:与要查找的对象接触; 完全或部分地处在要查找的几何对象中; 完全或部分地包含了要查找的几何对象 根据距离查找要素 方法:SearchByDistance( shape, tolerance, expression) 通过查找来创建一个记录集,这些记录集落在以shpe为中心tolerance为半径的范围内。 表达式 expression是一个满足SQL语法的字符串。如果你要省略表达式,则使用一个空字符串 (“”), 这个方法返回由符合空间查询条件的要素组成的记录集 对于Shape文件、ARC/INFO 图层数据,Shape也可以是一个记录集对象 (you cannot pass a Recordset derived from an SDE layer). 说明: 用于线要素和点要素的查询 语法: Set objRecset = Map1.Layers(index).SearchByDistance(shape, tolerance, expression) 参数说明: tolerance :一个表示距离的数值表达式。在此方法中,用于确定在指定的容错范围内有哪些要素被选中 Private Const SEARCHTOLPIXELS = 3 (指定容错距离为3个像素) theTol = Map1.ToMapDistance(SEARCHTOLPIXELS * Screen.TwipsPerPixelX) (将地图控件上3个像素所表示的距离转换成地图单位表示的距离,以此确定容错距离) 其中Screen.TwipsPerPixelX是像素到缇的换算参数。(缇是一个与屏幕无关的单位,用来保证屏幕应用程序对屏幕元素的定位和比例在所有的显示系统上的一致性。1 Twip=1/20 Point=1/1440 Inch=1/567 cm(打印时的一英寸或一厘米所对应的屏幕上的长度)。 练习(5分钟):将下面的代码粘贴到一个包含Map1控件的窗体中,通过设置Map1的属性增加一个多边形图层。按F5运行例子,看看有什么样的效果! /csk/upload/gisdev/ex7.doc Option Explicit Dim MyCircle As New MapObjects2.Ellipse 程序代码 Private Sub Map1_MouseDown(…….) If Button = vbLeftButton Then Set MyCircle = Map1.TrackCircle Map1.Refresh
您可能关注的文档
- FLUENT13培训教材09瞬态问题-ANSYS公司.ppt
- Fluid, Electrolyte, & Acid –Base Balance.ppt
- Flurry_应用商城(App store与Android Market)分析报告.pptx
- FLUKE_DTX-1800(福禄克DTX1800)培训幻灯片及功能介绍.ppt
- FM03流体运动学.ppt
- FM906海峡之声汽车生活广播简介(确).pptx
- FMC结构和数据库-2.ppt
- Flukenetworks OptiFiber光缆认证(OTDR)分析仪.ppt
- FMEA-4TH幻灯片.ppt
- FMEA与RCA与护理持续质量管理(发学会).ppt
原创力文档


文档评论(0)