Español

Cómo: Acercar a entidades seleccionadas con una escala especificada

Resumen

La información proporcionada describe cómo acercar a una entidad seleccionada en ArcMap con una escala especificada.

Nota: 
La información de este artículo solo se aplica a las versiones 8.x y 9.x de ArcGIS. Visual Basic para Aplicaciones (VBA) para ArcMap y ArcCatalog se ha quedado obsoleto en ArcGIS 10.

Procedimiento

  1. En ArcMap, vaya a Herramientas > Macros > Editor de Visual Basic.
  2. En el lado izquierdo de la ventana Editor de Visual Basic, expanda el elemento Normal (Normal.mxt) o el Proyecto.
  3. Expanda el elemento Objetos de ArcMap.
  4. Seleccione el módulo ThisDocument, haga clic con el botón derecho y seleccione Visualizar código.
  5. Copie y pegue el siguiente código:
    'Acercar a la entidad seleccionada con una escala especificada
    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
    
        'Obtener las entidades seleccionadas
        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   'cambiar este valor a la escala deseada
        pDoc.ActiveView.Refresh
    
    End Sub
    Nota:
    Se puede crear un botón de acceso directo de teclado para ejecutar este código. 
    
    1. Seleccione Herramientas > Personalizar para abrir el cuadro de diálogo Personalizar.
    2. Seleccione la pestaña Comandos.
    3. Seleccione [Controles de interfaz gráfica] del cuadro de lista Categorías.
    4. Seleccione Sin título de la lista desplegable Guardar en para guardar el botón en este documento de mapa. Seleccione Normal para guardar el botón en todos los documentos de ArcMap del equipo.
    5. Haga clic en Nuevo control de interfaz gráfica.
    6. Seleccione Botón de control de interfaz gráfica y haga clic en Crear.
    7. Arrastre el nuevo Botón de control de interfaz gráfica a la barra de herramientas que desee.
    8. Cierre el cuadro de diálogo Personalizar
  6. Cambie el valor 2000 en la línea "pMap.MapScale = 2000" a la escala deseada.
  7. Vuelva a ArcMap. Si es necesario, agregue primero una capa. Seleccione una entidad de la capa superior utilizando la herramienta Seleccionar entidades.
  8. Ejecute el código realizando una de las siguientes acciones:
    • Vaya al Editor de Visual Basic. Haga clic en cualquier lugar en el cuerpo del código. Pulse F5.
    • Si se creó un Botón de control de interfaz gráfica para ejecutar el código, haga clic en dicho botón.

Información relacionada