Coordinate System Conversion

Lat/Lon to UTM, BNG, Swiss

An easy way to convert between different coordinate systems is the program gpsbabel. Apart from the usual file formats, one input/output filter is unicsv. On the input side, the header line defines the meaning of the columns of the following lines (see http://www.gpsbabel.org/htmldoc-development/fmt_unicsv.html), and on the output side different coordinate systems can be chosen, see http://www.gpsbabel.org/htmldoc-development/fmt_garmin_txt.html#garmin_grid. Thus, a conversion from lat/lon to UTM would look like this:

echo -e "lat,lon\n48,12" | gpsbabel -w -i unicsv -f - -o unicsv,grid=4 -F -

Also the different map datums can be chosen, see http://www.gpsbabel.org/htmldoc-development/Datums.html.

Map Projection Conversion

The PROJ library provides the tool cs2cs that can convert between many coordinate systems. For example in order to convert from lon/lat (WGS84) to the Gauss–Krüger coordinate system (transverse mercator, Potsdam datum), the following command can be used:

echo "12 48" | cs2cs +proj=latlon +to +proj=tmerc +datum=potsdam +lon_0=12d0E +lat_0=0 +x_0=500000