PROBLEMA
Nota: El contenido de este artículo pertenece únicamente a las versiones 8.x de ArcGIS. Es posible que versiones posteriores de ArcGIS incluyan funcionalidades distintas, así como nombres y ubicaciones distintos para menús, comandos y herramientas de geoprocesamiento.
Al imprimir o exportar un mapa en ArcMap con un marco de datos rotado, es posible que algunas entidades poligonales no aparezcan en la salida.
Se trata de un problema conocido en entidades de geometría compleja.
Como alternativa, siga estos pasos para simplificar entidades complejas. Cree copias de seguridad de todos los datos antes de ejecutar muestras de código.
![[O-Image] Visual Basic Project Explorer](https://s3-us-west-2.amazonaws.com/ist-app-support-files/000004454/00N39000003LL2C-0EM39000000wccG.png)
Nota: El código del módulo de código ThisDocument del proyecto solo se ejecutará en el documento de mapa actual. Si desea almacenar el código en todos sus documentos de mapa, abra en su lugar el módulo de código ThisDocument de Normal.mxt.
Código:
Option Explicit
'********************************************************************
'Este sub simplifica todas las entidades seleccionadas en una
'clase de entidad concreta. Debe iniciar una sesión de edición antes de su uso.
'********************************************************************
Public Sub SimplifyFeature()
Dim pID As New UID, pEditor As IEditor
Dim pApp As IApplication, pTopoOp2 As ITopologicalOperator2
Dim pEnumFeat As IEnumFeature, pFeature As IFeature
Dim pGeometry As IGeometry
pID = "esriCore.editor"
Set pApp = Application
Set pEditor = pApp.FindExtensionByCLSID(pID)
If Not pEditor.SelectionCount > 0 Then
MsgBox "Select one polygon"
Exit Sub
End If
If pEditor.EditState = esriStateNotEditing Then
MsgBox "Please start editing"
Exit Sub
End If
pEditor.StartOperation
Set pEnumFeat = pEditor.EditSelection
Set pFeature = pEnumFeat.Next
While Not pFeature Is Nothing
If pFeature.Shape.GeometryType = esriGeometryPolygon Then
Set pTopoOp2 = pFeature.ShapeCopy
pTopoOp2.IsKnownSimple = False 'SET KNOWSIMPLE to False
pTopoOp2.Simplify 'SIMPLIFY
Set pFeature.Shape = pTopoOp2
pFeature.Store
End If
Set pFeature = pEnumFeat.Next
Wend
pEditor.StopOperation "Simplify Features"
End Sub
Id. de artículo: 000004454
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora