Español

Cómo: Calcular centroides de entidad

Resumen

Los centroides de entidad se pueden calcular de varias maneras. Dependiendo de la forma en que tenga que calcular el centroide, hay varios métodos posibles: calcular las coordenadas XY centrales de las entidades, usar la herramienta De entidad a punto o usar Python para recuperar las coordenadas del centroide. Las instrucciones que se proporcionan a continuación describen estos métodos.

Procedimiento

 

 
  • Utilizar la herramienta De entidad a punto (Administración de datos)

    Este método utiliza el centro de gravedad del polígono, el centro geométrico de una entidad. En las entidades de línea, de polígono o tridimensionales, es el centro de la masa (o centro de gravedad) y puede estar dentro o fuera de la entidad. En las clases de entidad multipunto, polilínea o de polígono con varias partes, el centroide se calcula utilizando el centro medio ponderado de todas las partes de la entidad.
     
    Nota:
    Esta herramienta solo está disponible en el nivel de licencia Advanced Desktop o ArcInfo.

    La herramienta de Entidad a punto se utiliza para crear una nueva clase de entidad que contiene puntos generados a partir de ubicaciones representativas de entidades de entrada. Los algoritmos para el cálculo específico están patentados, pero se utilizan dos conceptos básicos.

    La herramienta calcula el centroide de la entrada multipunto, de línea o de polígono utilizando un algoritmo basado en el centro de gravedad. El cálculo del centro de gravedad utiliza el modelo de centro geométrico para producir la nueva clase de entidad de punto. En las entidades de línea, de polígono o tridimensionales, es el centro de la masa (o centro de gravedad) y puede estar dentro o fuera de la entidad. Para multipuntos, polilíneas o polígonos con varias partes, el centroide se calcula utilizando el centro medio ponderado de todas las partes de la entidad.

    En los parámetros de la herramienta hay una opción para calcular el centroide que están dentro de los límites de la entidad; esta opción se puede habilitar marcando la casilla ‘dentro’. Al habilitar este parámetro se fuerza a la herramienta a calcular un centroide que esté dentro de los límites de la entidad; si originalmente estaba fuera de los límites, el punto se ajustará a lo que se considere que es el centro de gravedad dentro de los límites.
     
  • Utilizar Python para calcular y crear puntos de centroide

    En el ejemplo siguiente, se utiliza el Módulo de acceso de datos para recuperar fácilmente las coordenadas del centroide mediante el token SHAPE@XY token. Estas coordenadas se utilizan a continuación para generar la geometría de punto, que a su vez se escribe en una nueva clase de entidad.
     
    Nota:
    Los cursores de Acceso a datos solo están disponibles en ArcGIS 10.1 y versiones posteriores. Consulte Leer geometrías y Escribir geometrías para ver flujos de trabajo alternativos para la versión 10.
     
    Código:
    import arcpy
    
    input_fc = "C:\\temp\\geodatabase.gdb\\states"
    output_fc = "C:\\temp\\geodatabase.gdb\\state_centroids"
    
    cursor = arcpy.da.SearchCursor(input_fc, "SHAPE@XY")
    centroid_coords = []
    para el elemento en el cursor:
        centroid_coords.append(feature[0])
    
    point = arcpy.Point()
    pointGeometryList = []
    
    for pt in centroid_coords:
        point.X = pt[0]
        point.Y = pt[1]
    
        pointGeometry = arcpy.PointGeometry(point)
        pointGeometryList.append(pointGeometry)
    
    arcpy.CopyFeatures_management(pointGeometryList, output_fc)

Información relacionada