Instrução

Rotular tabelas relacionadas utilizando ArcPy no ArcGIS Pro

Last Published: April 11, 2023

Resumo

No ArcGIS Pro, as tabelas relacionadas de qualquer tabela de geodatabase ou classe de feição podem ser rotuladas com base em campos utilizando ferramentas do conjunto de ferramentas Campos. Este artigo fornece o fluxo de trabalho para rotular tabelas relacionadas com ferramentas do conjunto de ferramentas Campos executando um script ArcPy no ArcGIS Pro.

Procedimento

  1. Inicie o ArcGIS Pro e abra o projeto.
  2. No painel Conteúdo , clique com o botão direito do mouse na classe de feição e clique em Propriedades de Rotulagem para abrir o painel Classe de Rótulo .
O painel Conteúdo no ArcGIS Pro
  1. No painel Classe de Rótulo , clique no botão Expressão de rótulo O ícone Expressão de rótulo e configure os parâmetros a seguir.
    1. Para Linguagem, selecione Python.
    2. Especifique o script a seguir na seção Expressão . Altere <keyField1>, <firstLabel1>, <firstLabel2>, key1, key2, L, L2, <label2>, e myDataTable para corresponder ao ambiente.
      • <keyField1> e key1 são os campos-chave na classe de feição, usados para se relacionar com a tabela relacionada.
      • <firstLabel> e L são o campo na classe de feição a ser rotulada.
      • <keyField2> e key2 são o campo-chave na tabela relacionada.
      • L2 é o campo na tabela relacionada a ser rotulado.
      • myDataTable é o caminho da pasta do arquivo de tabela relacionado e o nome da tabela relacionada.
def FindLabel (<keyField1>, <firstLabel>):
    import arcpy
    key1 = <keyField1> # The key field in the feature class
    key2 = "<keyField2>"   # The key field in the related table
    L = <firstLabel> # The label field in the feature class
    L2 = "<label2>"   # The label field in the related table
    myDataTable = r"<path-to-related-table>"   # The related table file path
    cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
    for row in cur:
        if str(key1) == str(row[0]): 
            L = L + " " + str(row[1])
    return L

O bloco de código a seguir demonstra o script de trabalho completo.

def FindLabel ([ENAME], [CNAME]):
    import arcpy
    key1 = [ENAME] # Key field in feature class
    key2 = "District"   # Key field in related table
    L = [CNAME] # Label field in feature class
    L2 = "Population"   # Label field in related table
    myDataTable = r"C:\Users\IDT27\Documents\Artwrk\29840\HKPOP\HKPOP.gdb\HK2016_Census_csv"   # Path to related table
    cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
    for row in cur:
        if str(key1) == str(row[0]): 
            L = L + " " + str(row[1])
    return L
  1. Clique em Verificar para executar um teste da expressão. Se a expressão for válida, clique em Aplicar.
O painel Classe de Rótulo com os parâmetros a serem preenchidos

ID do Artigo: 000029840

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