Verificar geometría (Administración de datos)
Resumen
Genera un informe de problemas de geometría en una clase de entidad.
Los formatos de entrada válidos son las clases de entidad y shapefile almacenadas en una geodatabase personal o geodatabase de archivos. Las geodatabases SDE verifican automáticamente la validez de cada geometría al cargarlas; por lo tanto, las herramientas Verificar geometría y Reparar geometría no son para utilizar con SDE.
Para obtener información adicional sobre problemas de geometría, su impacto en el software y las posibles causas, consulte Verificar y reparar geometrías.
Uso
-
La Tabla de salida tendrá un registro para cada problema de geometría que se descubra. Si no se encuentran problemas, la tabla estará vacía.
-
La Tabla de salida tiene los siguientes campos:
- CLASS: la ruta completa y el nombre de la clase de entidad en la que se encontró el problema.
- FEATURE_ID: el Id. de entidad (FID) o el Id. de objeto (OID) de la entidad con el problema de geometría.
- PROBLEM: una breve descripción del problema.
-
El campo PROBLEM contendrá uno de los siguientes:
- Segmento corto: algunos segmentos son más cortos de lo permitido por las unidades del sistema de la referencia espacial asociada con la geometría.
- Geometría nula: la entidad no tiene geometría o nada en el campo SHAPE.
- Ordenamiento incorrecto del anillo: el polígono es topológicamente simple, pero sus anillos pueden no estar orientados de la manera correcta (los anillos exteriores en sentido de las agujas del reloj; los anillos interiores en sentido contrario a las agujas del reloj).
- Orientación incorrecta del segmento: los segmentos individuales no están orientados de manera consistente. El punto "hasta" del segmento i debería coincidir con el punto "desde" del segmento i+1.
- Intersecciones propias: un polígono no debe intersecar con sí mismo.
- Anillos sin cerrar: el punto "hasta" del último segmento en un anillo debe coincidir con el punto "desde" del primer segmento.
- Partes vacías: la geometría tiene múltiples partes y una de ellas está vacía (no tiene geometría).
- Vértice duplicado: la geometría tiene dos o más vértices con coordenadas idénticas.
- Atributos no concordantes: la coordenada Z o M del extremo de un segmento de línea no coincide con la coordenada Z o M del extremo coincidente en el siguiente segmento.
- Partes discontinuas: una de las partes de la geometría está formada por partes desconectadas o discontinuas.
- Valores Z vacíos: la geometría tiene uno o varios vértices con valor Z vacío (NaN, por ejemplo).
-
El problema identificado por esta herramienta se puede solucionar de las siguientes formas:
- Editar y reparar manualmente la entidad con problemas de geometría. Algunos de los problemas, como la geometría no simple, no se pueden resolver con el Editor.
- Ejecutar la herramienta Reparar Geometría en las clases de entidad que se identificó que tenían problemas de geometría.
-
Para entidades de punto, solo aplica el problema de geometría nula.
-
Para facilitar la revisión de las entidades que se informó que tienen problemas de geometría en ArcMap, puede unir las Entidades de entrada a la Tabla de salida con la herramienta Unión. Simplemente realice la unión con el campo ObjectID de la entrada y el campo FEATURE_ID de la tabla de salida. También puede desmarcar la opción Mantener todo para que solo se muestren las entidades con problemas de geometría.
Desde la versión 10.0, una geometría de línea ya no se considera "autointersecante" si se cruza a sí misma. No se produjo ningún efecto adverso en estos tipos de geometría; por lo tanto, la herramienta Verificar geometría ya no informará la entidad como un problema, y la herramienta Reparar geometría ya no realizará una "reparación" en la geometría de la entidad. Antes de la versión 10.0, la herramienta Reparar geometría agregaba vértices al punto de intersección de las líneas "autointersecantes". Si desea agregar vértices cuando las entidades de línea intersecar con sí mismas, utilice la herramienta Integrar.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features [in_features,...] |
Una o más clases de entidad o capas de entidad que se verificarán para encontrar problemas de geometría. Los formatos de entrada válidos son las clases de entidad y shapefile almacenadas en una geodatabase personal o geodatabase de archivos. | Feature Layer |
out_table |
Tabla que contendrá la lista de problemas que se descubrieron en las entidades de entrada. | Table |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función CheckGeometry en el modo inmediato.
import arcpy arcpy.env.workspace = "c:/data/data.gdb" arcpy.CheckGeometry_management (["contours", "roads", "vegetation"], "CG_Result")
La siguiente secuencia de comandos independiente utiliza la función CheckGeometry como parte del bucle en todas las clases de entidad en una geodatabase.
# BatchCheckGeometry.py # Description: # Loops through all the feature classes in a geodatabase, and generates # a report of the problems encountered with feature geometry. # Requirements: Python # Import modules import arcpy # The workspace in which the feature classes will be checked outTable = "C:/data/St_Lucia.gdb/checkGeometryResult" arcpy.env.workspace = "C:/data/St_Lucia.gdb" # A variable that will hold the list of all the feature classes # inside the geodatabase fcs = [] # List all feature classes in feature datasets for fds in arcpy.ListDatasets("","featuredataset"): fcs += arcpy.ListFeatureClasses("*","",fds) # List all standalone feature classes fcs = arcpy.ListFeatureClasses() print "Running the check geometry tool on %i feature classes" % len(fcs) arcpy.CheckGeometry_management(fcs, outTable) print (str(arcpy.GetCount_management(outTable)) + " geometry problems were found.") print ("See " + outTable + " for full details")