GRASS logo


g.proj - Prints and manipulates GRASS projection information files.




g.proj help
g.proj [-pdjwefc] [georef=file] [wkt=file] [proj4=params] [location=name]


Print projection information (in conventional GRASS format)
Verify datum information and print transformation parameters
Print projection information in PROJ.4 format
Print projection information in WKT format
Use ESRI-style format (applies to WKT output only)
Print 'flat' output with no linebreaks (applies to WKT and PROJ.4 output)
Create new projection files (modifies current location unless 'location' option specified)


Georeferenced data file to read projection information from
ASCII file containing a single line WKT projection description (- for stdin)
PROJ.4 projection description (- for stdin)
Name of new location to create


g.proj provides a means of converting a co-ordinate system description (i.e. projection information) between various formats. If compiled without OGR present, the functionality is limited to reporting the projection information for the current location, either in conventional GRASS (-p flag) or PROJ.4 (-j flag) format.

When compiled with OGR, functionality is increased and allows output of the projection information in the Well-Known Text (WKT) format popularised by proprietary GIS. In addition, if one of the parameters georef, wkt or proj4 is specified, rather than the projection information being read from the current location it is imported from an external source as follows:

g.proj attempts to invoke GDAL and OGR in turn to read a georeferenced file filename. The projection information will be read from this file. If the file is not georeferenced or cannot be read, XY (unprojected) will be used.
wkt=filename or -
The file filename should contain a projection description in WKT format with or without line-breaks (e.g. a '.prj' file). If - is given for the filename, the WKT description will be read from stdin rather than a file.
proj4=description or -
description should be a projection description in PROJ.4 format, enclosed in quotation marks if there are any spaces. If - is given for description, the PROJ.4 description will be read from stdin rather than as a directly-supplied command-line parameter.

The -p, -j, -w, etc. flags are all functional when importing projection information from an external source, meaning that g.proj can be used to convert between representations of the information. It is not required that either the input or output be in GRASS format.

In addition however, if the -c flag is specified, g.proj will create new GRASS projection files (PROJ_INFO, PROJ_UNITS, WIND and DEFAULT_WIND) based on the imported information. If the location parameter is specified in addition to -c, then a new location will be created. Otherwise the projection information files in the current location will be overwritten. The program will warn before doing this.

If compiled without OGR, the -c flag and location parameter will still be operational. However, since projection information cannot be read from an external source in this case, their use will be limited to creating a new location with the same co-ordinate system as the current one (or overwriting the projection files in the current location with equivalent copies).


GRASS uses a local copy of the GDAL CSV co-ordinate system and datum information files, stored in the directory $(GISBASE)/etc/ogr_csv . This allows many possible ways of initializing a co-ordinate system, such as EPSG codes etc.

Output is simply based on the input projection information. g.proj does not attempt to verify that the co-ordinate system thus described matches an existing system in use in the world. In particular, this means there are no EPSG Authority codes in the WKT output.

WKT format shows the false eastings and northings in the projected unit (e.g. meters, feet) but in PROJ format it should always be given in meters.


Print the projection information for the current location:
g.proj -p

Create a '.prj' file in ESRI format corresponding to the current location:

g.proj -wef > irish_grid.prj

Read the projection information from a geotiff file and print it in PROJ.4 format:

g.proj -jf georef=ASTER_DEM20020508161837.tif

Convert the PROJ.4 projection description contained in a text file to WKT format:

cat proj4.description | g.proj -w proj4=-

Create a new location with the co-ordinate system referred to by EPSG code 4326 (Latitude-Longitude/WGS84):

g.proj -c proj4='+init=epsg:4326' location=latlong

Create a new location with the co-ordinate system referred to by EPSG code 29900 (Irish Grid):

g.proj -c proj4='+init=epsg:29900' location=irish_grid

Create a new location with the same co-ordinate system as the current location:

g.proj -c location=newloc

Create a new location with the co-ordinate system from a WKT definition stored in a text file:

g.proj -c wkt=irish_grid.prj location=irish_grid

Reproject external raster map to current GRASS projection (does not always make sense!) using the GDAL 'gdalwarp' tool. We recommend to use the ERDAS/Img format and not to use the ESRI style of WKT:

# example for 30x30 pixel resolution (enforce with -tr to avoid odd values)
gdalwarp -of HFA -tr 30 30 -t_srs "`g.proj -wf`" aster.img aster_tmerc.img

Reproject external vector map to current GRASS projection using the OGR 'ogr2ogr' tool:

ogr2ogr -t_srs "`g.proj -wf`" polbnda_italy_GB_ovest.shp polbnda_italy_LL.shp


PROJ 4: Projection/datum support library
GDAL raster library and toolset
OGR vector library and toolset

Further reading




Paul Kelly

Last changed: $Date: 2007/10/16 16:47:39 $

Main index - general index - Full index