Free Trial

Fórum

Limpar campos com referência circular

tbaroni
Átomo

Pessoal, boa tarde.

 

Eu tenho um shape com vários pontos sobrepostos. Então, usei o ArcGIS para me indicar quais pontos estão sobrepostos. O resultado, conforme visto na imagem abaixo, é um campo com o OID do ponto (chave para que eu devolva para o banco de dados depois), OID_GIS (ID sequencial que o ArcGIS criou para identificar cada ponto, inteiro indo de um a 4763), OID_GIS_PONTO_PROXIMO (usando como base o campo OID_GIS o ArcGIS apontou para o ponto próximo, caso exista - caso não exista ponto próximo o valor nesse campo é -1) e, no último campo, a DISTANCIA_PONTO_PROXIMO (com a distância até o ponto mais próximo). 

 

Eu preciso limpar esses dados, logo, no caso dos pontos sobrepostos, devo criar uma tabela de referência: algo do tipo OID_PONTO (original) e OID_NOVO (apontando para o ponto que deve ser considerado pois, com isso, posso ir em outras tabelas chave e mudar os OID para considerar apenas um dos OID, o OID_NOVO, por exemplo. 

 

Meu problema é a referência circular, ou seja, o OID_GIS_PONTO_PROXIMO aponta para o OID_GIS 157 no primeiro registro. Quando eu vou para o OID_GIS 157, o OID_GIS_PONTO_PROXIMO está apontando de volta para o OID_GIS 1.

 

Com isso, qualquer tentativa de limpar o banco vai para o ralo, pois eu vou estar, apenas, mudando os OID de lugar, sem tirar as duplicidades. 

 

Acredito que a imagem abaixo ajuda a explicar melhor. 

 

Imagem1.png

 

Alguma sugestão sobre como fazer essa limpeza?

 

Em anexo a base, caso queiram verificar o que estou tentando explicar. 

 

3 RESPOSTAS 3
AZuc
Alteryx
Alteryx

@tbaroni , bom dia.

 

Sobre referências circulares em geral, dê uma olhada neste artigo:

https://community.alteryx.com/t5/Blog-Portugues/Resolvendo-Referencias-Circulares-do-Excel/ba-p/6703...

 

Caso ainda não tenha resolvido seu problema, responda aqui e eu dou uma olhada mais específica no seu caso.

André Zuccatti

Sales Engineer - LATAM -
Alteryx, Inc.


rmassambane
Bola de fogo

Chega na tabela 02 normalmente. Usa a fórmula para alterar a coluna oid_novo: se oid_gis for menor que o odi_gis_proximos... você usa o valor da coluna oid_ponto, caso contrário mantém o que está. a mesma lógica se aplica para a outra coluna.

FláviaB
Alteryx Community Team
Alteryx Community Team

Oi, @tbaroni. Nos avise se você conseguiu resolver a sua questão ou se ainda precisa de ajuda. 😉

Flávia Brancato
Rótulos