r.clip
Extracts portion of the input map which overlaps with the current region
Extracts portion of the input raster map which is in the current computational region
r.clip [-r] input=name output=name [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.clip input=name output=name
grass.script.run_command("r.clip", input, output, flags=None, overwrite=False, verbose=False, quiet=False, superquiet=False)
Example:
gs.run_command("r.clip", input="name", output="name")
Parameters
input=name [required]
Name of input raster map
output=name [required]
Name for output raster map
-r
Resample input raster according to the computational region
By default cell size and alignment of the original raster is preserved
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of input raster map
Used as: input, raster, name
output : str, required
Name for output raster map
Used as: output, raster, name
flags : str, optional
Allowed values: r
r
Resample input raster according to the computational region
By default cell size and alignment of the original raster is preserved
overwrite: bool, optional
Allow output files to overwrite existing files
Default: False
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
DESCRIPTION
The module extracts portion of the input raster map according to the current computational region. The areas outside of the computational region are clipped and only the inner part is kept. The input raster map is left intact and a new (clipped) output raster map is created in the process.
By default the cell size and the cell alignment of the original raster are preserved. In other words, the output map inherits its resolution and cell positions (grid) from the input raster rather than the computational region.
If resampling into the cells size and cell alignment of the current computational is desired, the module can perform a nearest neighbor resampling when the -r flag is used. If a more advanced resampling is required, the user is advised to use one of the dedicated resampling modules.
If mask (r.mask) is active, it is respected and the output raster map will contain NULL (no data) values according to the mask. Otherwise, values in the input raster map are simply transferred to the output raster map.
The color table of the output raster map is set according to the input raster map, so that the colors in both raster maps will match.
NOTES
- In GRASS GIS, clipping of rasters is usually not needed because modules respect the current computational region and clipping (with possible resampling) is done automatically.
- If the user needs to clip raster map according to another raster map or according to a vector map, the g.region should be used first before running the r.clip module.
- The extent of the resulting map might be slightly different based on how the cells of the input raster align with the cells of the computational region. The mechanism for aligning in the background is the one used in g.region. If an exact match is desired, the user is advised to resolve the cell alignment ahead using g.region and then use r.clip with the -r flag.
EXAMPLES
The following examples are using the full North Carolina sample location.
Clip according to a raster map
First we set the computational region to match the raster map called elev_lid792_1m which we want to use for clipping:
g.region raster=elev_lid792_1m
Now, the following will clip raster map called elevation according to the extent of elev_lid792_1m raster map creating a new raster map called elevation_clipped:
r.clip input=elevation output=elevation_clipped
Clip and then compare the resolutions
The following example clips (crops) raster map called elevation according to the current region resulting in a new raster map called clipped_elevation. The computational region will be set match raster map called elev_lid792_1m since this the extent we want to work with in this example.
First we set the computational region to match a raster map called elev_lid792_1m:
g.region raster=elev_lid792_1m
This is the computational region we want to have. Now we check the new region using:
g.region -g
In the output, we can see extent, resolution in both directions, and number of rows and columns:
...
n=220750
s=220000
w=638300
e=639000
nsres=1
ewres=1
rows=750
cols=700
cells=525000
...
Now we perform the clipping:
r.clip input=elevation output=clipped_elevation
Finally, we check the size of the new raster map using:
r.info map=clipped_elevation -g
In the output, we can see that the extent is the same (exactly the same in this case) as the computational region while the resolution and number of cells are different:
...
north=220750
south=220000
east=639000
west=638300
nsres=10
ewres=10
rows=75
cols=70
cells=5250
...
The reason for this is that the elevation map was not resampled, instead the cell values and positions were preserved. The number of cells depends on the resolution which was derived from the original elevation map. To see it, we can use the following:
r.info map=elevation -g
The output shows the resolution used for the new clipped_elevation as well as much higher number of cells and larger extent of the original map:
...
north=228500
south=215000
east=645000
west=630000
nsres=10
ewres=10
rows=1350
cols=1500
cells=2025000
...
SEE ALSO
g.region, g.copy, r.mask, r.patch, r.proj, r.mapcalc, r.resample, r.resamp.rst, v.clip
AUTHOR
Vaclav Petras, NCSU GeoForAll Lab
SOURCE CODE
Available at: r.clip source code
(history)
Latest change: Thursday Mar 20 21:36:57 2025 in commit 7286ecf