网站大量收购闲置独家精品文档,联系QQ:2885784924

第章特征查找.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章特征查找

第8章 特征查找 特征是GIS图上的各种元素的统称,如图形对象(点、线、多边形等)以及它们的基本结构(结点、弧段、标识点等)、各种符号和标注等。特征是描述地图的最基本的数据单位。因此我们把和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州。 (6)如果要操作较大的记录集(比如100000条记录),建议采用SDE,而不是用Shapefiles。但是SDE不支持ORDER BY语句。 8.1.2 使用SearchExpression进行简单查找 以下例子用表达式”STATE_ID = 24”来查找墨西哥地图上序号为24的州,并用另外一种颜色来显示它。 (工程Chapter801—Form01) Option Explicit Dim g_symSelection As MapObjects2.Symbol Dim recSelection As MapObjects2.Recordset Private Sub Form_Load() Dim strExpression As String DrawLayer 查找 strExpression = STATE_ID 24 AND STATE_ID 27 strExpression = STATE_ID = 24 Set recSelection = Map1.Layers(0).SearchExpression(strExpression) 设置显示模式 Set g_symSelection = New MapObjects2.Symbol g_symSelection.SymbolType = Map1.Layers(0).Symbol.SymbolType g_symSelection.color = moDarkGreen End Sub Sub DrawLayer() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + \..\ + Mexico If Not dc.Connect Then MsgBox 在指定的文件夹下没找到图层数据文件! End End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(States) layer.Symbol.color = moYellow Map1.Layers.Add layer Map1.Refresh End Sub Private Sub Map1_AfterLayerDraw(ByVal index As Integer, ByVal canceled As Boolean, ByVal hDC As stdole.OLE_HANDLE) Map1.DrawShape recSelection, g_symSelection End Sub 8.1.3 查找结果闪烁显示   本例在上一个简单示例的基础上进行扩展,实现点击Command1查询,从STATE_ID为1起,到最后为止循环显示,并用FlashShap

文档评论(0)

ipad0d + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档