This is the command r.patchgrass that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
r.patch - Creates a composite raster map layer by using known category values from one
(or more) map layer(s) to fill in areas of "no data" in another map layer.
KEYWORDS
raster, geometry, mosaicking, merge, patching
SYNOPSIS
r.patch
r.patch --help
r.patch [-z] input=name[,name,...] output=name [--overwrite] [--help] [--verbose]
[--quiet] [--ui]
Flags:
-z
Use zero (0) for transparency instead of NULL
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
input=name[,name,...] [required]
Name of raster maps to be patched together
output=name [required]
Name for resultant raster map
DESCRIPTION
The GRASS program r.patch allows the user to build a new raster map the size and
resolution of the current region by assigning known data values from input raster maps to
the cells in this region. This is done by filling in "no data" cells, those that do not
yet contain data, contain NULL data, or, optionally contain 0 data, with the data from the
first input map. Once this is done the remaining holes are filled in by the next input
map, and so on. This program is useful for making a composite raster map layer from two
or more adjacent map layers, for filling in "holes" in a raster map layer’s data (e.g., in
digital elevation data), or for updating an older map layer with more recent data. The
current geographic region definition and mask settings are respected.
The first name listed in the string input=name,name,name, ... is the name of the first map
whose data values will be used to fill in "no data" cells in the current region. The
second through last input name maps will be used, in order, to supply data values for for
the remaining "no data" cells.
Example of filling areas
Below, the raster map layer on the far left is patched with the middle (patching) raster
map layer, to produce the composite raster map layer on the right. The example assumes
zero values to be treated as NULLs (-z flag).
1 1 1 0 2 2 0 0 0 0 1 1 0 0 0 0 1 1 1 1 2 2 0 0
1 1 0 2 2 2 0 0 0 0 1 1 0 0 0 0 1 1 1 2 2 2 0 0
3 3 3 3 2 2 0 0 0 0 0 0 0 0 0 0 3 3 3 3 2 2 0 0
3 3 3 3 0 0 0 0 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 4
3 3 3 0 0 0 0 0 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4
0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Switching the patched and the patching raster map layers produces the following results:
0 0 1 1 0 0 0 0 1 1 1 0 2 2 0 0 1 1 1 1 2 2 0 0
0 0 1 1 0 0 0 0 1 1 0 2 2 2 0 0 1 1 1 1 2 2 0 0
0 0 0 0 0 0 0 0 3 3 3 3 2 2 0 0 3 3 3 3 2 2 0 0
4 4 4 4 4 4 4 4 3 3 3 3 0 0 0 0 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4
NOTES
Frequently, this program is used to patch together adjacent map layers which have been
digitized separately. The program v.mkgrid can be used to make adjacent maps align
neatly.
The user should check the current geographic region settings before running r.patch, to
ensure that the region boundaries encompass all of the data desired to be included in the
composite map and to ensure that the region resolution is the resolution of the desired
data. To set the geographic region settings to one or several raster maps, the g.region
program can be used:
g.region raster=map1[,map2[,...]]
Use of r.patch is generally followed by use of the GRASS programs g.remove and g.rename;
g.remove is used to remove the original (un-patched) raster map layers, while g.rename is
used to then assign to the newly-created composite (patched) raster map layer the name of
the original raster map layer.
r.patch creates support files for the patched, composite output map.
Number of raster maps to be processed is given by the limit of the operating system. For
example, both the hard and soft limits are typically 1024. The soft limit can be changed
with e.g. ulimit -n 1500 (UNIX-based operating systems) but not higher than the hard
limit. If it is too low, you can as superuser add an entry in
/etc/security/limits.conf
# <domain> <type> <item> <value>
your_username hard nofile 1500
This would raise the hard limit to 1500 file. Be warned that more files open need more
RAM. See also the Wiki page Hints for large raster data processing.
EXAMPLE
Create a list of maps matching a pattern, extend the region to include them all, and patch
them together to create a mosaic. Overlapping maps will be used in the order listed.
MAPS=`g.list type=raster sep=, pat="map_*"`
g.region raster=$MAPS
r.patch in=$MAPS out=mosaic
Use r.patchgrass online using onworks.net services