r.in.wms handles all of downloading and importing raster data
from an OGC
WMS web mapping server. It need only be told the desired data to
collect (bounds and resolution) via a region, the server to get the
data from, and the layer or layers to get. It downloads the data in
tiles, reprojects it, imports it, and patches it back together.
By default data is downloaded to $GISDBASE/wms_download. This can be changed
by setting the folder option when using r.in.wms.
To understand the data you are getting it is necessary to look at the
capabilities of the WMS server. This should be available via a capabilities
request. This is an
capabilities request to NASA's OnEarth server.
Other brain-dead servers will not accept queries in the form of POST data.
If you get an error try using the -g flag to force r.in.wms
to send an atomic GET request instead.
General Get Capabilities Request
A capabilities request like
is where you should start. It tells you what data is offered, the projections
it is in, where to find meta data, resolutions, scales, and bounds for
E.g. lists the layers available from the NASA OnEarth server.
r.in.wms mapserver=http://wms.jpl.nasa.gov/wms.cgi -l
US NED Elevation from OnEarth server download (metric units)
Set the resolution to 30 (assuming you're in metric units):
Downloads real number meter elevation from OnEarth to cover the current
region. Uses -o for opaque to get smaller download.
g.region res=30 -ap
r.in.wms -o output=elevation_meters mapserver=http://wms.jpl.nasa.gov/wms.cgi \
US NED Elevation from OnEarth server download (feet units)
Set the resolution to 90 (assuming you're in feet units) a save this
region with a name; this makes resuming downloads possible or rather
Downloads real number feet elevation from OnEarth to cover the current
region. Uses -o for opaque to get smaller download. Using a named
region lets us resume later easily.
g.region res=90 -ap
r.in.wms -o output=elevation_feet mapserver=http://wms.jpl.nasa.gov/wms.cgi \
layers=us_ned styles=feet_real region=panhandle-90ft
Use flag -d to skip ahead to downloading. This could be used to try
downloading again (if some files failed last time) or to import the data
differently. Since downloaded files are remembered those already received
successfully are not re-requested. In this case we are reimporting the
data using the cubic interpolation method instead of nearest neighbor.
r.in.wms -d output=elevation_feet mapserver=http://wms.jpl.nasa.gov/wms.cgi \
layers=us_ned styles=feet_real -o region=panhandle-90ft method=cubic
LANDSAT from OnEarth server download
Set the resolution to 30 meters for LANDSAT:
Downloads LANDSAT color scene.
g.region res=30 -ap
r.in.wms layers=global_mosaic mapserver=http://wms.jpl.nasa.gov/wms.cgi \
DRG from Terraserver server download
Set the resolution to 1.2 meters for DRGs. Their native resolution is
2.4 meters, so this is some pretty hefty oversampling:
Downloads digital raster graphics from Microsoft TerraServer. Note that
srs will need to be changed to a projection that is appropriate for your
g.region res=1.2 -ap
r.in.wms output=terraserver-drg mapserver=http://terraserver.microsoft.com/ogcmap6.ashx \
layers=DRG region=drg-resolution format=jpeg srs=EPSG:26910
r.in.wms requires the following programs to work:
- wget: An http download program, or
- curl: Alternate http download program
- bc: A calculator program
- sed, grep: Unix string processing and search programs
- gdalwarp: A reprojection tool,
needed only if data is projected into this location.
- xml2: An xml parser.
Enables more accurate listing of layers on the server.
Soeren Gebbert, Jachym Cepicky, and Cedric Shock
Last changed: $Date$