Mais

Unir um para muitos


Eu tenho uma classe de recurso de limite ZIP3 que contém cerca de 900 registros.

Em seguida, tenho uma tabela em um geodatabase que tem 21000 ~ registros e um campo ZIP3.

Como eu faria para fazer uma classe de recurso que tem os limites ZIP3 para cada um dos 21000 ~ registros da minha tabela?


Acho que uma tabela de consulta fará o que você está procurando.

Certifique-se de que a tabela e a classe de recurso estejam no mesmo geodatabase.

Abra a ferramenta Criar Tabela de Consulta. Adicione a tabela PRIMEIRO. Em seguida, adicione a classe de recurso. Clique em ok para criar a Tabela de Consulta. Em seguida, clique com o botão direito na camada resultante e exporte.

Nota: Eu usei isso antes no 10.1 e funcionou bem. Tentando agora no 10.2 e está travando o ArcMap. Um comentário no thread da base de conhecimento sugere que isso pode não funcionar no 10.2


Eu tenho um processo MANUAL de várias etapas para alcançar a criação de classe de recursos que você está procurando. Primeiro, perceba que a camada de polígono resultante provavelmente terá a mesma geometria repetida para as linhas em sua tabela de origem onde o atributo ZIP3 se repete. - e perceba que este é um método de armazenamento de geometria abaixo do ideal.

Mas se tem que ser assim, aqui está uma maneira (não a única) de chegar lá:

0) Faça uma cópia de seus dados de origem, porque durante este processo você estará excluindo linhas e você deve ter uma cópia original para consultar, se necessário.

1) Execute uma frequência em sua tabela usando a coluna ZIP3 para encontrar o número máximo de ocorrências de qualquer valor ZIP3. - você executará tantas junções sequenciais ...

2) Adicione sua tabela, a tabela de frequência e o polígono FC ZIP3 a um MXD; junte a tabela e o resultado da frequência para que cada linha da sua tabela também mostre a frequência daquele ZIP3.

3a) Usando uma definição de consulta, selecione novamente COUNT = 1 de sua tabela + resultado de frequência e, em seguida, certifique-se de CLASSIFICAR a tabela na coluna OBJECTID ou Chave primária.

3b) Junte os polígonos ZIP3 à tabela reduzida acima, juntando-se na coluna ZIP3.

3c) Exportar o resultado do polígono para um GDB com um nome de classe de recursos terminando em _001

3d) remova a junção entre os polígonos e sua tabela

3e) SELECIONE e APAGUE as linhas de sua tabela que correspondem a COUNT = 1 critério de frequência.

4) repita as etapas 3a - e para COUNT = 2, COUNT = 3, COUNT = 4 e assim por diante, com as seguintes exceções ABSOLUTAMENTE CRÍTICAS: para COUNT = 2, você precisará exportar uma vez e, em seguida, selecione novamente apenas a primeira ocorrência de os ZIPs e exclua essas linhas em 3e, em seguida, reinsira os polígonos em sua tabela e exporte um segundo conjunto de linhas correspondentes. para COUNT = 3, você precisará passar pelo processo 3 vezes, selecionando e excluindo a primeira ocorrência das entradas da tabela em 3e e reintegrando os polígonos após a remoção de cada subconjunto. Continue este processo até que todas as linhas de sua tabela sejam removidas e, em seguida, ANEXAR todas as classes de recursos do componente em um único resultado.

Por que isso vai funcionar? Cada vez que um conjunto é unido dos polígonos à tabela, apenas a primeira ocorrência (por ObjectID) é unida ao polígono ... removendo a união, selecionando e excluindo as linhas exportadas, e juntando / reexportando, você pode obtenha o próximo conjunto na junção um para muitos.

Eu disse que era um processo MANUAL e de várias etapas, mas deveria reunir as geometrias repetidas em uma única classe de recursos, junto com os atributos de tabela de seu interesse.