中文

操作方法:以指定比例缩放到所选要素

摘要

所提供信息描述了如何以指定比例放大 ArcMap 中的所选要素。

注:
本文中的信息仅适用于 ArcGIS 版本 8.x 和 9.x。 ArcGIS 10 已弃用 ArcMap 和 ArcCatalog 的 Visual Basic for Applications (VBA)。

过程

  1. 在 ArcMap 中,选择工具 > 宏 > Visual Basic 编辑器
  2. 在 Visual Basic 编辑器窗口的左侧,展开正常 (Normal.mxt)工程项目。
  3. 展开 ArcMap 对象项目。
  4. 选择 ThisDocument 模块,右键单击并选择查看代码
  5. 复制并粘贴以下代码:
    'zoom to selected feature at specified scale
    Sub ZoomSelectedToScale()
    
    Dim pDoc As IMxDocument
    Set pDoc = ThisDocument
    Dim pMap As IMap
    Set pMap = pDoc.FocusMap
    
    Dim pLayer As IFeatureLayer
    Dim pFSel As IFeatureSelection
    Set pLayer = pMap.Layer(0)
    Set pFSel = pLayer
    
    'Get the selected features
    Dim pSelSet As ISelectionSet
    Set pSelSet = pFSel.SelectionSet
    
    Dim pEnumGeom As IEnumGeometry
    Dim pEnumGeomBind As IEnumGeometryBind
    
    Set pEnumGeom = New EnumFeatureGeometry
    Set pEnumGeomBind = pEnumGeom
    pEnumGeomBind.BindGeometrySource Nothing, pSelSet
    
    Dim pGeomFactory As IGeometryFactory
    Set pGeomFactory = New GeometryEnvironment
    
    Dim pGeom As IGeometry
    Set pGeom = pGeomFactory.CreateGeometryFromEnumerator(pEnumGeom)
    
    'pDoc.ActiveView.Refresh
    pDoc.ActiveView.Extent = pGeom.Envelope
    pMap.MapScale = 2000   'change this value to the desired scale
    pDoc.ActiveView.Refresh
    
    End Sub
    注:
    可以创建快捷按钮来执行上述代码。 
    
    1. 选择工具 > 自定义以打开自定义对话框。
    2. 选择命令选项卡。
    3. 类别列表框中选择 [UIControls]
    4. 保存位置下拉列表中选择无标题,将按钮保存至该地图文档。 选择正常,将按钮保存至计算机上的所有 ArcMap 文档。
    5. 单击新建 UIControl
    6. 选择 UIButtonControl 并单击创建
    7. 将新的 UIButtonControl 拖动到所选工具栏。
    8. 关闭自定义对话框
  6. 将“pMap.MapScale = 2000”一行中的值 2000 更改为所需比例。
  7. 返回到 ArcMap。 如有必要,请先添加图层。 可以使用“选择要素”工具从顶部图层中选择要素。
  8. 执行以下一项操作执行代码:
    • 转至 Visual Basic 编辑器。 单击代码正文中的任意位置。 按 F5。
    • 如果创建了 UIButtonControl 来运行代码,请单击按钮。

相关信息