**-l**- List raster files in input location and exit
**-n**- Do not perform region cropping optimization
**--overwrite**- Force overwrite of output files

**input**=*string*- Input raster map
**location**=*string*- Location of input map
**mapset**=*string*- Mapset of input map
**dbase**=*string*- Path to GRASS database of input location
**output**=*name*- Name for output raster map
**method**=*string*- Interpolation method to use
- Options:
*nearest,bilinear,cubic* - Default:
*nearest* **resolution**=*float*- Resolution of output map

The particular projection chosen depends on the purpose of the project, and the size, shape and location of the area of interest. For example, normal cylindrical projections are good for maps which are of greater extent east-west than north-south and in equatorial regions, while conic projections are better in mid-latitudes; transverse cylindrical projections are used for maps which are of greater extent north-south than east-west; azimuthal projections are used for polar regions. Oblique versions of any of these may also be used. Conformal projections preserve angular relationships, and better preserve arc-length, while equal-area projections are more appropriate for statistical studies and work in which the amount of material is important.

Projections are defined by precise mathematical relations, so the method
of projecting coordinates from a geographic reference frame
(latitude-longitude) into a projected cartesian reference frame (eg metres)
is governed by these equations. Inverse projections can also be achieved.
The public-domain Unix software package *proj* [1] has been designed to
perform these transformations, and the user's manual contains a detailed
description of over 100 useful projections. This also includes a
programmers library of the projection methods to support other software
development.

Thus, converting a "vector" map - in which objects are located with arbitrary spatial precision - from one projection into another is usually accomplished by a simple two-step process: first the location of all the points in the map are converted from the source through an inverse projection into latitude-longitude, and then through a forward projection into the target. (Of course the procedure will be one-step if either the source or target is in geographic coordinates.)

Converting a "raster map", or image, between different projections, however, involves additional considerations. A raster may be considered to represent a sampling of a process at a regular, ordered set of locations. The set of locations that lie at the intersections of a cartesian grid in one projection will not, in general, coincide with the sample points in another projection. Thus, the conversion of raster maps involves an interpolation step in which the values of points at intermediate locations relative to the source grid are estimated.

In some cases it is convenient to do the conversion outside the package,
prior to import or after export, using software such as *PROJ4*'s
*cs2cs* [1]. This is an easy
method for converting an ASCII file containing a list of coordinate points,
since there is no topology to be preserved and *cs2cs* can be used to
process simple lists using a one-line command.

The format of vector files describing maps containing **lines** and
**arcs** is generally more complex, as parts of the data stored in the
files will describe topology, and not just coordinates. In GRASS GIS
the *v.proj* module is provided to reproject
"vector" maps, transferring topology and attributes as well as node
coordinates. This program uses the projection definition and
parameters which are stored in the PROJ_INFO and PROJ_UNITS files in the
PERMANENT mapset directory for every GRASS location.

*r.proj* converts a map to a new geographic projection. It reads a
map from a different location, projects it and write it out
to the current location.

The projected data is resampled with one of three different methods:
nearest neighbor, bilinear and cubic convolution.

The nearest option, which performs a nearest neighbor assignment is the fastest of the three resampling methods. It is primarily used for categorical data such as a land use classification, since it will not change the values of the data cells. The bilinear option determines the new value of the cell based on a weighted distance average of the 4 surrounding cells in the input map. The cubic option determines the new value of the cell based on a weighted distance average of the 16 surrounding cells in the input map.

The bilinear and cubic interpolation methods are most appropriate for continuous data and cause some smoothing. Both options should not be used with categorical data, since the cell values will be altered. If nearest neighbor assignment is used, the output map has the same raster format as the input map. If any of the both interpolations is used, the output map is written as floating point.

Note that, following normal GRASS conventions, the coverage and
resolution of the resulting grid is set by the current region settings,
which may be adjusted using *g.region*. The target raster will be
relatively unbiased for all cases if its grid has a similar resolution to
the source, so that the resampling/interpolation step is only a local
operation. If the resolution is changed significantly, then the behaviour
of the generalisation or refinement will depend on the model of the process
being represented. This will be very different for categorical versus
numerical data. Note that three methods for the local interpolation step
are provided.

*r.proj* supports general datum transformations, making use of the
*PROJ.4* co-ordinate system translation library.

When reprojecting whole-world maps the user should disable map-trimming with the
*-n* flag. Trimming is not useful here because the module has the whole
map in memory anyway. Besides that, world "edges" are hard (or impossible)
to find in projections other than latitude-longitude so results may be odd
with trimming.

Richards, John A. (1993), Remote Sensing Digital Image Analysis, Springer-Verlag, Berlin, 2nd edition.

PROJ 4: Projection/datum support library.

**Further reading**

- ASPRS Grids and Datum
- MapRef - The Collection of Map Projections and Reference Systems for Europe
- Projections Transform List (PROJ4)

The 'gdalwarp' and 'gdal_translate' utilities are available from the GDAL project.

Man page text from S.J.D. Cox, AGCRC, CSIRO Exploration & Mining, Nedlands, WA

Updated by Morten Hulden

Datum tranformation support and cleanup by Paul Kelly

*Last changed: $Date: 2006/05/02 14:09:18 $*