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 corporativas verifican automáticamente la validez de cada geometría cuando se cargan; por lo tanto, las herramientas Verificar geometría y Reparar geometría no se han diseñado para el uso con geodatabases corporativas.
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: ruta completa y nombre de la clase de entidad en la que se encontró el problema.
- FEATURE_ID: Id. de entidad (FID) o Id. de objeto (OID) de la entidad con el problema de geometría.
- PROBLEM: breve descripción del problema.
El campo PROBLEM contendrá uno de los siguientes elementos:
- Short segment: algunos segmentos son más cortos de lo permitido por las unidades del sistema de la referencia espacial asociada a la geometría.
- Null geometry: la entidad no tiene geometría o no hay nada en el campo SHAPE.
- Incorrect ring ordering: el polígono es topológicamente simple, pero sus anillos pueden no estar orientados de la manera correcta (los anillos exteriores en el sentido de las agujas del reloj; los anillos interiores en sentido contrario a las agujas del reloj).
- Incorrect segment orientation: los segmentos individuales no están orientados de manera consistente. El punto hasta del segmento i debe ser incidente en el punto desde del segmento i+1.
- Self intersections: un polígono no debe intersecar con sí mismo.
- Unclosed rings: el último segmento en un anillo debe tener su incidente del punto "hasta" en el punto "desde" del primer segmento.
- Empty parts: la geometría tiene varias partes y una de ellas está vacía (no tiene geometría).
- Duplicate vertex: la geometría tiene dos o más vértices con coordenadas idénticas.
- Mismatched attributes: la coordenada Z o M de un extremo del segmento de línea no coincide con la coordenada Z o M del extremo coincidente en el siguiente segmento.
- Discontinuous parts: una de las partes de la geometría se formó con partes desconectadas o discontinuas.
- Empty Z values: la geometría tiene uno o más vértices con un valor Z vacío (por ejemplo, NaN).
- Bad envelope: el sobre no coincide con la extensión de coordenadas de la geometría.
- Bad dataset extent: la extensión del dataset no contiene todas las entidades.
El problema identificado por esta herramienta se puede solucionar de las siguientes formas:
- Edite y repare manualmente la entidad con problemas de geometría. Algunos de los problemas no se pueden reparar mediante una edición.
- Ejecute la herramienta Reparar Geometría en las clases de entidad en las que se han detectado problemas de geometría.
En las entidades de puntos, solo es posible el problema de geometría nula.
Para facilitar la revisión de las entidades en las que se han detectado problemas de geometría, puede unir las entidades de entrada a la tabla de salida utilizando la herramienta Agregar unión, junto con el campo OBJECTID o FID de la entrada y el campo FEATURE_ID de la tabla de salida.
Sintaxis
arcpy.management.CheckGeometry(in_features, out_table)
Parámetro | Explicación | Tipo de datos |
in_features [in_feature,...] | Una o más clases de entidad o capas de entidades para ver si hay en ellas problemas de geometría. Las entradas válidas son las clases de entidad y de shapefile almacenadas en una geodatabase personal o en una geodatabase de archivos. | Feature Layer |
out_table | Tabla de salida que contiene los problemas de geometría descubiertos en las entidades de entrada. | Table |
Muestra de código
Ejemplo 1 de CheckGeometry (ventana de Python)
El siguiente script 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"], "CheckGeom_Result")
Ejemplo 2 de CheckGeometry (script independiente)
En el siguiente script independiente se utiliza la función CheckGeometry creando un bucle en todas las clases de entidad de 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.
# Import modules
import arcpy
import os
# The geodatabase in which the feature classes will be checked
arcpy.env.workspace = "C:\\data\\St_Lucia.gdb"
out_table = "checkGeometryResult"
# A variable that will hold the list of all the feature classes
# inside the geodatabase
fc_list = []
# Identify all feature classes in the geodatabase
for path, dirnames, fcs in arcpy.da.Walk(arcpy.env.workspace,
datatype='FeatureClass'):
for fc in fcs:
fc_list.append(os.path.join(path, fc))
print("Running the check geometry tool on {} feature classes".format(
len(fc_list)))
arcpy.CheckGeometry_management(fc_list, out_table)
print("{} geometry problems found, see {} for details.".format(
arcpy.GetCount_management(out_table)[0], out_table))
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí