Recorte de vários rasters com um shapefile multipolígono

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

O problema!

Imagine que você tem esta situação: você tem vários arquivos raster globais e um shapefile com algumas áreas (por exemplo, Parques naturais). Você deseja gerar um arquivo rasterizado usando como máscara cada um dos polígonos no shapefile para cada um dos raster originais. Portanto, se você tiver 5 rasters globais e um arquivo de forma com 10 polígonos, a saída disso será 50 rasters (um raster menor para cada polígono, cortado de cada um dos 5 rasters maiores).
Bem, eu tive esse problema, como você deve ter adivinhado. Procurei soluções, talvez existam, mas não encontrei! Tenho certeza de que existem soluções por aí … mas deixe-me mostrar a minha!

Esta é uma tarefa simples, mas se não for automatizada, é cansativa … Como tal, o passo natural, para mim, foi usar o R ​​para automatizar este trabalho.

A solução!

Primeiro, precisamos carregar o pacote raster e o shapefile:

library(raster)
polygon_areas 

This is the code for the function I created, called crop_save:

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
crop_save 

The arguments for this function are:

origin_folder – Where the original rasters are saved.
pattern – This is a character string to identify raster files: in the folder were rasters are saved there are, generally, other files. This argument allows the selection of only rasters (e.g. tif files).
destination_folder – Folder where the otput folder will be created.
name_sub_folder – Name of the sub-folder to be created inside the destination folder. Inside this, a folder is created for each of the original rasters where the smaller rasters for each polygon are saved.
crop_areas – Areas to be used in the raster croping (a SpatialPolygonsDataFrame created by importing the shapefile into R).
name_crop_areas – Column of the SpatialPolygonsDataFrame with the unique names or codes for the regions.

An example (not run, you have to try this with your own rasters):

crop_save(origin_folder = "D:/THIS_FOLDER/"
          , pattern = ".tif
          , destination_folder = "C:/OUTPUT/" 
          , name_sub_folder = "Cut_rasters" 
          , crop_areas = polygon_areas 
          , name_crop_areas = "polygon_areas$Id" 
          ) 

Espero que seja útil!



[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Leia Também  Creative Commons enquanto isso