Instrução

Calcular centroides de feições

Last Published: October 13, 2021

Resumo

Os centroides de feições podem ser calculados de várias maneiras. Há vários métodos possíveis dependendo de como o centroide precisa ser calculado: calcular as coordenadas XY centrais das feições, usar a ferramenta Feição para Ponto ou utilizar Python para recuperar as coordenadas do centroide. As instruções a seguir abaixo descrevem esses métodos.

Procedimento

  • Usar a ferramenta Feição para Ponto (Gerenciamento de Dados)
    Este método usa o centro de gravidade do polígono; o centro geométrico de uma feição. Para feições tridimensionais, de linha ou de polígono, ele é o centro de massa (ou centro de gravidade), que pode estar dentro da feição ou fora dela. Para classes de feição multiponto, polilinha ou polígono com várias partes, o centroide é calculado usando o centro médio ponderado de todas as partes da feição.
    Anotação:
    A ferramenta Feição para Ponto está disponível apenas no nível de licença Advanced Desktop ou ArcInfo.
    A ferramenta Feição para Ponto é usada para criar uma nova classe de feição contendo pontos gerados a partir dos locais representativos das feições de entrada. Os algoritmos para o cálculo específico são proprietários, mas dois conceitos básicos são usados.

    A ferramenta calcula o centroide da entrada multiponto, de linha ou de polígono usando um algoritmo baseado no centro de gravidade. O cálculo do centro de gravidade usa o modelo do centro geométrico para gerar a nova classe de feição de ponto. Para feições tridimensionais, de linha ou de polígono, é o centro de massa (ou centro de gravidade), que pode estar dentro da feição ou fora dela. Para multiponto, polilinha ou polígono com várias partes, é calculado usando o centro médio ponderado de todas as partes da feição.

    Nos parâmetros da ferramenta, há uma opção para calcular o centroide que fica dentro dos limites da feição; essa opção pode ser ativada marcando a caixa para "dentro". A ativação desse parâmetro força a ferramenta a calcular um centroide que esteja dentro dos limites da feição. Se ele estiver fora dos limites, o ponto será ajustado para o centro de gravidade dentro dos limites.
     
  • Usar Python para calcular e construir pontos centroides
    No exemplo a seguir, o Módulo de Acesso a Dados é usado para recuperar as coordenadas do centroide usando o token SHAPE@XY. Essas coordenadas são usadas para construir a geometria do ponto, que é gravada em uma nova classe de feição.
    Anotação:
    Os cursores de Acesso a Dados estão disponíveis apenas no ArcGIS 10.1 e versões posteriores. Consulte Ler Geometrias e Escrever Geometrias para obter fluxos de trabalho alternativos para a versão 10.x.
    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 = []
    for feature in 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)

ID do Artigo: 000011754

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download