Eu tenho um shapefile de ponto com milhares de pontos. Ele possui um campo de código de identificação que deve ser exclusivo. De vez em quando, o recepcionista digita incorretamente o ID, criando duplicatas. No momento, estou rolando manualmente o campo para encontrar a duplicata.
Existe outra maneira de fazer isso usando o Search Query Builder?
qgis
query
fields-attributes
obsidianz
fonte
fonte
Respostas:
Se os IDs forem consecutivos, eu adicionaria uma nova coluna temporária com valores exclusivos como @ Ship.shp sugeridos e, em seguida, usaria o construtor de consultas para procurar o ID! = UniqueID.
Isso retornaria as duplicatas diretamente. Após corrigir os IDs originais, remova a coluna extra ou repita todo o processo, conforme necessário - não está claro que tipo de padrão seus IDs devem corresponder. Se eles precisarem ser exclusivos, observe primeiro o último valor e você poderá editar os IDs inválidos em uma iteração, apenas aumentando o número à medida que avança.
fonte
Outra gráfica, dinâmica e mais importante simples maneira de detectar atributos duplicados: Construtor de expressão uso do QGIS.
Destaque duplicatas na tabela de atributos :
Ative a formatação condicional (veja a seta vermelha abaixo) com a seguinte condição:
Para agrupar todas as duplicatas na parte superior, clique com o botão direito do mouse na coluna, selecione Classificar
Digite a expressão acima sem o
>1
e desmarque Classificar em ordem crescente.Destaque recursos com atributos duplicados na tela :
Você pode adicionar um novo símbolo ou rótulo com o filtro definido para a condição acima.
E, é claro, você pode ativar uma substituição derivada de dados com base no mesmo.
Por exemplo, se você deseja destacar rótulos para recursos com um atributo duplicado, é possível configurá-lo para desenhar um segundo plano de rótulo (= 1) com a seguinte substituição:
para conseguir algo como o seguinte
Em ambas as situações, é claro, depois de excluir ou alterar os atributos duplicados, a formatação / estilo é atualizada instantaneamente.
fonte
Use o plug-in Estatísticas do grupo e defina o ID como uma classificação de campo. Você pode ver quantas vezes cada valor foi inserido na coluna 'contagem'.
fonte
Uma maneira rápida (embora deselegante) de fazer isso é acessar as propriedades da camada, selecione Estilo - categorizado usando a coluna da qual você está interessado. Aplique isso e clique com o botão direito do mouse na camada na janela de camadas e verifique a opção Mostrar contagem de recursos caixa de seleção. Em seguida, expanda a camada na janela de camadas e você pode ver imediatamente quantas vezes cada valor foi inserido.
fonte
Esta é uma boa pergunta sobre a qual acabei de me deparar. Não gosto de nenhuma das respostas que foram dadas até agora. Eu tenho um conjunto de dados válido com IDs únicos que não são seqüenciais e não inteiros. O problema é que o conjunto de dados contém geometrias únicas, mas alguns limites são de geometrias múltiplas por natureza. Minha tarefa é identificar e unir essas geometrias.
Eu recomendo usar o DB Manager e o SQL para esse tipo de trabalho. O DB Manager agora faz parte do QGIS. Você precisa exportar seus dados para um conjunto de dados PostGIS ou SpatiaLite. O SpatiaLite deve ser o formato de dados baseado em arquivo de qualquer maneira.
Agora você pode usar count (), agrupar por e ordenar conforme desejar e deve poder resolver esse e outros problemas rapidamente.
fonte
Sim, eu bati minha cabeça contra a parede por um problema semelhante.
Aqui está o meu script para remover recursos com os mesmos IDs. Ele pega o primeiro recurso com mais de um atributo de índice e o grava na nova classe de recurso.
fonte
Além disso, você pode usar a divisão por atributo e acabar com uma tabela separada para cada valor.
Mas eu gosto da sugestão de Rayo. exceto que estatista não funciona como eu pensava.
Ele fornece uma contagem de valores exclusivos, mas não ajuda com o que esses valores são.
Outro software pode adicionar um campo de contagem e permitir exportá-lo para csv ou outro formato de planilha.
Minha sugestão para a camada dividida por atributo está nas ferramentas de gerenciamento de vetores
divida seus dados em qualquer campo 1 e você terá suas contagens.
muito mais deselegante que a solução ship.ship
fonte