Como criar uma máscara de polígono de "área de interesse"?

12

Eu criei uma ferramenta GP usando o ArcGIS que cria uma máscara de "área de interesse" a partir dos recursos selecionados. Efetivamente, ele cria uma nova camada de polígono de rosca, na qual o furo era o recurso selecionado anteriormente. Posso replicar esta tarefa no QGIS?

Exemplo: para um mapa específico, quero destacar um município do estado e mascarar o restante do estado e os recursos fora do município com uma camada de polígono cinza e semi-transparente acima. Conceitualmente, eu faria semelhante a isso.

  1. O usuário carrega a camada de estado, município e rio
  2. Usuário seleciona município de interesse
  3. Execute um utilitário (se existir) que exporte todos os recursos não selecionados para um shapefile de rosca sem o polígono originalmente selecionado. Se essa máscara de camada fosse uma camada "na memória" disponível apenas para o QGIS, isso também seria ótimo, talvez até melhor.

Esse tipo de ferramenta ou recurso já existe no QGIS ou precisarei escrever isso como uma função personalizada?

Aqui está como eu fiz isso no ArcGIS com ModelBuilder e o resultado que eu procurava, onde a camada amarela e a camada do rio existem em todo o estado (por toda a imagem) e a camada cinza é transparente com um "furo de rosca", permitindo que a parte amarela brilhante seja exibida e chame a atenção dos espectadores para a área de interesse:

insira a descrição da imagem aqui insira a descrição da imagem aqui

RyanKDalton
fonte

Respostas:

12

Para criar uma máscara, sugiro usar o Polygon de extensões de camada (ferramentas de pesquisa vetorial) e Diferença (ferramentas de geoprocessamento vetorial) com a opção "usar somente recursos selecionados" ativada.

Se você realmente deseja "exportar todos os recursos não selecionados para um shapefile de rosca", tente o Dissolve , mas é bem lento e pode resultar em resultados abaixo do ideal, como pequenos orifícios etc.

Criar um polígono grande com polígono a partir da ferramenta de extensões de camada e depois cortar o município selecionado deve ser muito mais rápido.

underdark
fonte
12

Obrigado @underdark por sua orientação para esta solução. A função fTools "Diferença" foi exatamente a ferramenta que realizou a tarefa. No entanto, diferente da sua sugestão, não precisei primeiro criar o "polígono a partir das extensões de camada".

Em vez disso, a solução foi:

  1. Carregar a camada de dados (condados)
  2. Selecione o recurso de interesse (Condado A)
  3. Use a ferramenta Vetor-> Geoprocessamento-> Diferença
  4. Selecione a camada do condado como as duas entradas ", use os recursos selecionados" marcados como DESLIGADO para Camada de Vetor de Entrada, LIGADO para Camada de Diferença.

insira a descrição da imagem aqui

Isso fornecerá à camada todos os recursos da entrada, EXCETO o (s) recurso (s) selecionado (s). Obrigado!

RyanKDalton
fonte
2
Um upvote seria "obrigado" o suficiente;)
Subterrâneo
Isso funciona muito bem. A única desvantagem é onde o condado faz fronteira com o mar ou com outra área sem polígonos e, portanto, essas áreas não ficam mascaradas.
21818 JimS-W
3

A diferença simétrica no QGIS 1.6, localizada em Vetor> Ferramentas de geoprocessamento> Diferença simétrica (ferramentas principais padrão) deve gerar sua máscara a partir de dois polígonos de entrada ...

insira a descrição da imagem aqui

Mapperz
fonte