Removendo pequenos polígonos de “sal e pimenta” da camada no QGIS?

11

Eu tenho um mapa constituído por vários polígonos, com algumas centenas de milhares pontos muito pequenos polígonos em dentro dela.

Preciso dos polígonos maiores, mas não dos pontos pequenos. Como faço para selecionar e remover todos os pontos pequenos polígonos, preservando os polígonos maiores? (Obviamente, não quero fazer isso manualmente - há alguns pontos demais para isso!)

Sou totalmente novo no QGIS e pesquisei no Google extensivamente sem sorte. Provavelmente porque não tenho certeza de qual é a terminologia correta a ser usada em uma pesquisa no Google!

Os arquivos que estou usando são .dbf, .prj, .qpj, .shp e .shx. Estou simplesmente arrastando o arquivo .shp para o QGIS, e o mapa aparece como uma camada. Basicamente, um mapa do Reino Unido dividido em regiões (que eu quero) e coberto de pontos (que não querem).

visão do mapa vista de mesa

É assim que parece de perto. Eu fiz uma dissolução para ver se eles iriam para a camada circundante, sem sorte:

close-up vista de polígonos

Atordoado e confuso
fonte
4
Parece que você está usando shapefiles (.shp). Cada arquivo de forma pode conter apenas um dos pontos, linhas ou polígonos. Portanto, um (ou mais) dos seus arquivos de forma conterá as regiões do Reino Unido como polígonos e 1 (ou mais) dos seus arquivos de forma conterá apenas pontos. Se você ativar / desativar os shapefiles no índice (a caixa de seleção ao lado deles), você verá quais dados estão em cada arquivo. Você pode apenas remover os arquivos que contêm os pontos.
11553 Dan_h_b
1
Quem criou os dados ou de onde você os obteve? Parece que (com base na figura) você tem polígonos com orifícios.
HeikkiVesanto
1
Concordo com Vesanto que, se for apenas uma camada, pode ser uma camada de polígono com orifícios ou polígonos muito pequenos. Nesse caso, você pode mesclá-los com os polígonos maiores. Por exemplo, selecione os polígonos que estão dentro do grande e mescle. Você poderia aumentar o zoom e fornecer uma captura de tela dos "pontos" no seu mapa?
Chris P
1
Alguma chance de você anexar o arquivo shp?
7893 Dan_h_b
1
Ok, então, adivinhando, direi que você tem polígonos com várias partes (com base no fato de haver apenas 17 linhas na sua tabela de atributos). Se você explodir seus dados em polígonos de peça única, você terá centenas de polígonos. (Vetor> Ferramentas de geometria> Multipart para peças únicas). Você deve poder fazer uma seleção com base na área (por exemplo, selecionar as áreas realmente pequenas) e excluí-las para se livrar de todos esses polígonos minúsculos, ou de uma maneira semelhante, você deve ser capaz de dissolvê-los em qualquer polígono grande em que eles caiam. dentro.
11553 Dan_h_b

Respostas:

22

Parece que você está trabalhando com dados do Code-Point do Ordnance Survey , que é um conjunto de dados das áreas de código postal na Grã-Bretanha e na Irlanda do Norte.

Os "pontos" aos quais você está se referindo são pequenos polígonos quadrados que representam as chamadas "ruas verticais": pilhas de mais de um código postal, que não podem ser representados usando polígonos "convencionais" (consulte o comentário de Andy Harfoot para obter mais detalhes ) Você pode pensar duas vezes sobre a remoção desses polígonos se precisar dos códigos postais afetados para sua análise.

Dito isto, veja como você pode remover esses polígonos:

  1. Selecione todos os polígonos verticais da rua clicando em "Selecionar recursos usando uma expressão" e inserindo "POSTCODE" LIKE 'V%'. Isso selecionará todos os recursos que têm um código postal começando com V, que são as ruas verticais.

  2. Simplesmente excluir os recursos não ajudará, pois os polígonos deixarão buracos para trás, como você já notou. Em vez disso, você pode mesclar as ruas verticais com um polígono grande vizinho usando "Ferramentas de vetor / geoprocessamento / Eliminar polígonos de fita", salvando o resultado em um novo arquivo.

  3. Você pode receber a mensagem de aviso de que alguns recursos não puderam ser dissolvidos, juntamente com uma lista de IDs de recursos. Se você também quiser se livrar desses recursos, selecione as ruas verticais na nova camada usando a expressão de antes e siga um destes procedimentos:

    1. Se você deseja uma solução automática, pode dissolver as ruas verticais juntas com todos os polígonos vizinhos. Salve a seleção em uma nova camada usando "Camada / Salvar seleção como arquivo vetorial" e use "Vetor / Ferramentas de pesquisa / Selecionar por local" para selecionar os recursos na camada mesclada que se cruzam com as ruas verticais ofensivas, criando uma nova seleção . Em seguida, dissolva essa seleção usando "Ferramentas de vetor / geoprocessamento / Dissolução", escolhendo --- Dissolve all ---no "campo Dissolver". Observe que essa abordagem pode levar à dissolução indesejada de polígonos "adequados" se a rua vertical ofensiva estiver no limite de dois outros polígonos ou se houver ruas verticais ofensivas em dois polígonos vizinhos.

    2. Se você quiser evitar a dissolução de outros polígonos, poderá selecionar manualmente as ruas verticais e um polígono adjacente, tomando cuidado para não selecionar dois polígonos vizinhos e dissolvê-los como acima.

Jake
fonte
3
Excelente explicação da fonte, riscos, opções e processo que o OP solicitou originalmente!
RyanKDalton
1
Ponto menor - ruas verticais existem onde há uma pilha vertical de mais de um código postal, impedindo sua representação como um polígono 'convencional' no conjunto de dados. Isso geralmente ocorre em blocos de torre residenciais ou edifícios de escritórios. Uma lista é fornecida como complemento do conjunto de dados de polígonos do ponto de código principal que expande o código de rua vertical (começando com V) nos vários códigos postais que o compõem.
Andy Harfoot
@AndyHarfoot: Ah, sim, obrigado pelo esclarecimento! Eu editei minha resposta
Jake
Isso é brilhante - obrigado. Apenas uma coisa - não consigo encontrar Selecionar recursos usando uma expressão ou Ferramentas de vetor / geoprocessamento / Eliminar polígonos de fita. Estou no 1.8.0 Lisboa. Preciso atualizar?
Dazed and Confused
2

Tente reverter sua metodologia. Em vez de tentar selecionar e excluir milhares de pontos, você tentou selecionar os polígonos e criar uma nova camada a partir dessa seleção? Isso não seria muito tedioso se você tivesse um método desativado para excluir manualmente todos os pontos, basta selecionar os recursos de polígono e criar uma camada ou exportá-los. Se esses pontos forem polígonos pequenos, como outros comentaram, você ainda poderá selecionar apenas os polígonos que deseja manter e exportar.

LMHall
fonte