Recorte raster com limites de vetor usando QGIS?

58

Estou usando o QGIS. Gostaria de recortar uma camada de precipitação de varredura usando uma camada limite de administrador que é um dado vetorial. No entanto, as ferramentas de geoprocessamento parecem ser utilizáveis ​​apenas para dados vetoriais.

Como cortar esta camada de precipitação?

Kirk
fonte
Você realmente quis dizer que "vetor" aparecesse duas vezes nesta pergunta?
whuber
@whuber - não em particular ... isso importa neste fórum?
Kirk
Não consegui entender a questão sem alterar um dos "vetores" para "raster". Acho que entendi agora: você está dizendo que acha que as ferramentas de geoprocessamento são aplicáveis apenas quando todos os elementos são dados vetoriais. A confusão foi que você disse explicitamente que a camada limite está no formato vetorial e, como esse é o precedente imediato, torna a pergunta ambígua.
whuber
4
Eu tenho o mesmo problema que a pergunta original - a ferramenta de recorte usando o plugin gdal funciona, mas apenas recorta retângulos ..... e se você precisar recortá-lo em algo como uma fronteira do país?
Matt

Respostas:

36

Instale o plug-in GDAL e use a Clipper Tool.
insira a descrição da imagem aqui

Pablo
fonte
11
O plug-in "gdal tools", também conhecido como "raster tools", é instalado por padrão desde o qgis 1.5, se não estiver errado. Não há necessidade de instalá-lo manualmente.
Giovanni Manghi
Eu descobri que essa ferramenta adiciona uma banda ao raster. Ele usa o comando dstalpha.
BWill
2
Como Pablo escreveu, a Clipper Tool é a resposta. No qgis 1.7.0, o nome do plugin é "GdalTools". As ferramentas (junto com o "Clipper" que estamos procurando) são adicionadas ao menu Raster após serem ativadas com o gerenciador de plugins qgis.
amp
11
Por favor, não os dados de varredura e vetor devem ser salvos em disco no mesmo CRS. Arquivos png simples e camadas de texto delimitadas com CRS definido no QGIS não funcionarão.
Andrej
12

Se você estiver interessado em usar o Python, uma boa documentação está disponível em GeospatialPython.com, aqui .

e a fonte clipraster.py está aqui .

recorte

O processo:

Recortar uma varredura é uma série de cliques simples de botão em pacotes de software geoespacial de última geração. Em termos de computação, as imagens geoespaciais são na verdade matrizes multidimensionais muito grandes. O Sensoriamento Remoto, na sua forma mais simples, está executando operações matemáticas nessas matrizes para extrair informações dos dados. Nos bastidores, aqui está o que o software está fazendo (execute ou execute algumas etapas):

  1. Converta o shapefile de vetor em uma matriz que pode ser usada como máscara
  2. Carregar a imagem geoespacial em uma matriz
  3. Jogue fora qualquer célula de imagem fora da extensão shapefile
  4. Defina todos os valores fora do limite do shapefile como valores NODATA (nulos)
  5. OPCIONAL: faça um alongamento do histograma na imagem para melhor visualização
  6. Salve a imagem resultante como uma nova varredura.
Aragão
fonte
O clipraster.pylink está quebrado. Considere atualizá-lo. Tks.
Andre Silva
8

Eu recomendo usar gdalwarpcomo você pode aumentar a eficiência do processo.

Por exemplo, se você deseja cortar uma varredura inraster.tifcom um shapefile extent.shp:

gdalwarp -cutline extent.shp -crop_to_cutline -of GTiff  -dstnodata 255 inraster.tif inraster_cropped.tif -co COMPRESS=LZW -co TILED=YES --config GDAL_CACHEMAX 2048 -multi

Os dois últimos parâmetros permitem otimizar o processo usando:

  1. Uma implementação multicore.
  2. Configurando o cache disponível para a função.
WAF
fonte
1

Não tenho certeza de como fazê-lo no QGIS, no entanto, você pode usar outro software GIS de código aberto, como GRASS ou GDALWarp, para cortar sua varredura. Veja as respostas de keymirror e geographika abaixo.

Para uma solução baseada em ArcGIS Desktop, você pode dar uma olhada em Cortando uma varredura usando uma polilinha ou polígono

artwork21
fonte