Todo mês, eu tenho que fazer o controle de qualidade / controle de qualidade de alguns dados de ruas de um município inteiro (mais de 47.000 registros). O primeiro passo é comparar os dois arquivos. Atualmente, estou usando uma ferramenta criada internamente via VBA há aproximadamente 5 anos. Ele funciona compara os dois arquivos e reporta as diferenças com base em alguns fatores (registros adicionados, registros excluídos, alterações de endereço, alterações de cidade, alterações de comprimento / vértices de segmentos). Em seguida, eu os exporto para shapefiles individuais. Além disso, a ferramenta funciona, ArcGIS 9.3
mas não funciona mais emArcGIS 10.1
A ferramenta funciona muito bem, mas leva aproximadamente uma hora para ser concluída.
Esperamos começar a melhorar esta ferramenta para acelerar o desempenho. Eu olhei para uma variedade de métodos, incluindo o Compare Feature Tool
e Select by Location
.
Ambas as ferramentas funcionam significativamente mais rápido, no entanto, elas não parecem capturar tudo o que eu preciso. O grande problema que tenho com o Compare Feature Tool
é que não posso escolher em qual campo comparar. O padrão é ObjectID quando eu preciso comparar por Segment_ID. Não há uma opção para selecionar isso.
Alguém tem uma boa solução ou idéias sobre como obter uma comparação completa como eu descrevi?
Por alguma razão, o ArcGIS não está reconhecendo a associação que estou tentando, de acordo com a resposta de RyanDalton.
Mas
Seguindo o conselho de uma junção, descobri como encontrar os registros adicionados e as diferenças de registros excluídos nos dois arquivos:
- Associando o shapefile do Mês Anterior ao shapefile do Mês Atual através do campo Segment_ID
- Executando uma consulta de definição em que Segment_ID É NULL
- Exportando isso para um novo shapefile (Recursos Adicionados)
Em seguida, inverto as junções e encontro os Recursos Excluídos
Ainda trabalhando para encontrar as outras diferenças listadas e, em seguida, agrupá-las em um modelo.
Eu posso encontrar todos os registros que foram alterados executando os registros de seleção por localização de um dos conjuntos de dados que são idênticos ao outro conjunto de dados. Em seguida, alterno a seleção e ela fornece todos os registros que não são idênticos.
Vou colocar tudo em um modelo e espero que funcione tão bem.
Segment_ID
na sua tabela de saída.Nas minhas experiências, o Feature Compare sempre usa o FID ou o ObjectID como base da comparação, mesmo se segment_id estiver selecionado como campo de classificação. Os FIDs do Shapefile são reciclados (reordenados), portanto, após algumas edições, muitos, se não todos, os FIDs são diferentes para suas geografias correspondentes. Eles terão, assim, um erro de comparação de recurso "verdadeiro". Se você usar um ObjectID do GeoDatabase ou GISquirrel, os IDs não serão reciclados e você poderá confiar nessa ferramenta. Você deve manter os bancos de dados alinhados durante o período de tempo para que os ObjectIds nunca sejam reordenados.
Independentemente da descrição do campo Classificar na ajuda da ferramenta GP, é MUITO enganosa. Essa ferramenta seria tremenda se a base de comparação pudesse ser o segmento_ID.
fonte