- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章??????? 图元查找
??? 图元是GIS图上的各种元素的统称,如图形对象(点、线、多边形等)以及它们的基本结构(结点、弧段、标识点等)、各种符号和标注等。图元是描述地图的最基本的数据单位。因此我们把和GIS图有关的查找都称之为图元查找。
??? 我们可以通过属性数据查找空间数据,也可以通过一个空间数据来查找另外的空间数据,还可以通过空间数据查找属性数据。另外,我们还可以用SQL语言来加入复杂的限制条件进行查找。
在MO中可以用SearchExpression(表达式查找)、SearchByDistance(距离查找)和SearchShape〔图形查找)来实现各种复杂的查找关系。
8.1 SearchExpression(表达式查找)
8.1.1 SearchExpression定义
SearchExpression方法是利用查找属性数据库(dbf)中的数据,实现对GIS图元的查找。该方法定义为:
Set variable=object.SearchExpression(expression)
其中:
Variable:记录集变量;
Object:对象,一般为图层对象;
Expression:以SQL语言说明的字符串表达式。
注意:
(1)由于已经指定了图层,也就是指定了数据表,因此不需前面的select部分,只要后面的where字句即可。
(2)表达式中的字符要用单引号,如states=’california’。
(3)用%表示多种选择,如STATE_NAME like ‘M%’。
(4)用下划线_表示位数,如STATE_NAME like ‘M____’(4个下划线),只能返回Maine州。
(5)如果表达式为空(“”),则返回所有记录。
(6)如果要操作较大的记录集,建议采用SDE,不要用shapefiles。
8.1.2 使用SearchExpression进行简单查找
以下例子用表达式“STATE_ID=24”来查找墨西哥地图上序号为24的州,并用另外一种颜色来显示它。
Dim g_symselection as mapobjects2.symbol
Dim recselection as mapobjects2.recordset
Private sub form_load()
Dim strexpression as string
Drawlayer
‘查找
Strexpression=”STATE_ID=24”
Set recselection=map1.layers(“states”).searchexpression(strexpression)
‘设置显示模式
Set g_symselection=new mapobjects2.symbol
G_symselection.symboltype=map1.layers(0).symbol.symboltype
G_symselection.color=modarkgreen
End sub
Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)
??? Map1.drawshape recselection,g_symselection
End Sub
8.2 SearchByDistance(距离查找)
8.2.1 SearchByDistance定义
SearchByDistance方法查找并返回一个地图对象的给定距离范围内的图元的记录集,并可满足一个SQL表达式。如果表达式缺省,则返回所有图元。
SearchByDistance方法的语法为:
Set variable=object.SearchByDistance(shape,tolerance,expression)
其中:
Variable:一个记录集对象;
Object:对象;
Shape:图元对象;
Tolerance:误差范围。
Expression:SQL表达式;
?
8.2.2 查找对象周围的图元
本例通过点击地图,查找点击位置附近的城市数量,查找到的城市用较大的三角形符号显示。误差范围(tolerance)可以在TextBox中设置。
Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
‘将点击转换为点对象;
Set pp=Map1.ToMapPoint(x,y)
‘距离查找;
Set recset=map1.Layers(0).searchBydistance(pp,10,””)
‘调用Map1_AfterLayerDraw显示查找结果;
Map1.Refre
您可能关注的文档
- 娱乐美联英语-环球与迪士尼成今夏好莱坞最大赢家.doc
- 第四章-一阶逻辑基本概念.ppt
- 21世纪大学英语第二册第二单元.ppt
- 人教版教学课件2.4细胞中糖类和脂肪(课件).ppt
- 2016年北京航空航天大学翻译硕士考研复习计划.pdf
- 马克思经济学外文.doc
- 2017海翔商科留学中介整理:劳里埃大学商科专业介绍.docx
- 企业管理中酒文化V1.01.5.pptx
- 2016年北京航空航天大学翻译硕士考研经验,考研复习计划,考研真题,考研重难点.pdf
- 2016年北京科技大学翻译硕士汉语写作与百科知识考研历年真题,考研参考书,重难点笔记,考研大纲.pdf
- 外研版高中英语选择性必修第三册课后习题 Unit 3 War and peace Section C Developing ideas & Writing.doc
- 外研版高中英语选择性必修第三册课后习题 Unit 5 Learning from nature 第五单元测评卷 (2).doc
- 外研版高中英语选择性必修第三册课后习题 Unit 3 War and peace 第三单元测评卷 (2).doc
- 外研版高中英语选择性必修第三册课后习题 课文译文.doc
- 译林版高考英语一轮总复习课后习题 必修第二册 高考题型组合规范练6.doc
- 教科版高中物理选择性必修第一册精品课件 第2章 机械振动 分层作业13 实验:用单摆测量重力加速度.ppt
- 教科版高中物理选择性必修第一册精品课件 第2章 机械振动 3.单摆.ppt
- 教科版高中物理选择性必修第一册精品课件 第1章 动量与动量守恒定律 分层作业6 实验:验证动量守恒定律.ppt
- 外研版高中英语选择性必修第三册课后习题 Unit 2 A life’s work 分层跟踪检测(一)Starting out & Understanding ideas.doc
- 外研版高中英语选择性必修第三册课后习题 Unit 2 A life’s work Section C Developing ideas & Writing.doc
最近下载
- 地铁物业管理培训课件.pptx
- 工程数学(本)形成性考核作业4.doc
- GB T 34520.7-2017 连续碳化硅纤维测试方法 第7部分:高温强度保留率 标准.pdf
- 自编教材审核表(模板).pdf
- 一例慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭患者的个案护理PPT.pptx
- [大庆]黑龙江大庆市民政局所属事业单位选调事业编制工作人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx VIP
- ISO9001 14001 ISO45001检查表审核方法全套.docx VIP
- 增光膜规格说明书.pdf
- 人教版数学四年级第一单元教材解读及集体备课课件.pptx VIP
- 2024 离婚协议书 离婚协议(打印版).docx
文档评论(0)