Software comparison/Converting to WGS84

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Converting to WGS84
· English · polski

OpenStreetMap uses the WGS-84 coordinate system, as do most GPS units. However, many other coordinate systems also exist and are in widespread use, depending on the region and application. Every country tends to use its own standard or preferred coordinate system; so that the maps for that region are as undistorted as possible and the coordinates are reasonably simple to use. These coordinates need to be converted to WGS-84 before being used in OSM.

Conversion tools

Potlatch 2 and JOSM

The map editors, Potlatch 2 and JOSM (via the OpenData plugin), are both technically able to convert between coordinate systems, however the number supported is very limited. In Potlatch use Background->Vector File..., and in JOSM File->Open.


Proj is a library and command-line tool for Linux and Unix systems. It is available at , and is included in many Linux distributions.


Geotrans is an open-source GUI and command-line tool which can be used to convert between most coordinate systems. It is available for Windows and Linux, at . It is also included in some Linux distributions as the geotranz package.


QGIS is a free GIS application that can be used to convert between Coordinate Reference Systems (CRS) in two simple steps. First, open the input data making sure to select the correct CRS. Finally, use Layer->Save As... to export the layer with a different CRS (you may choice between the 'Project CRS' or select a CRS from QGIS's extensive list).

Online services

There are several online services for converting coordinates.

Regional systems


Converting to and from BMN using proj.4 on meridian strips

M28: +proj=tmerc +lat_0=0 +lon_0=10d20 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel
M31: +proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel
M34: +proj=tmerc +lat_0=0 +lon_0=16d20 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel

In order to convert between WGS84 and MGI add

+ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232

You cannot use "proj" directly but have to use "cs2cs" instead. Only this "allows translation between any pair of definable coordinate systems, including support for datum translation" (from the man-page of proj).

An example for M28 looks like this:

 cs2cs +proj=tmerc +lat_0=0 +lon_0=10d20 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel \
          +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 \
       +to \
       +proj=longlat +ellps=WGS84 +datum=WGS84


There are several projection systems used in France, depending on the use (just an area/the whole land) and the current standards (yes, it's a mess...). The IGN detailed it

Here are the esri codes :

  • Lambert Zone I = (ESPG:"Lambert Nord") code 27561
  • Lambert Zone II = (ESPG:"Lambert Centre") = code 27562
  • Lambert Zone III = (ESPG:"Lambert Sud") = code 27563
  • Lambert Zone IV = (ESPG:"Lambert Corse") = code 27564
  • Lambert I Carto = (ESPG:"Lambert zone I") = code 27571
  • Lambert II Carto/étendu = (ESPG:"Lambert zone II etendu") code 27572
  • Lambert III Carto = (ESPG:"Lambert zone III") code 27573
  • Lambert IV Carto = (ESPG:"Lambert zone IV") code 27574

Great Britain

Converting to and from OS Grid (OSGB), using the proj tool:


See for the calculations behind this.


Coordinates used in Israel are mostly Israeli Transverse Mercator. The unit of measurement is meters.

 +proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-24.0024,-17.1032,-17.8444,-0.33009,-1.85269,1.66969,5.4248 +units=m +no_defs


Coordinates used in The Netherlands are mostly Rijksdriehoek coordinates (Amersfoort / RD new). The unit of measurement is meters. The EPSG code is 28992.

 +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs


Spanish publications generally use ED50 (Geotrans ref EUR-D), UTM 31 north.


Converting to and from RT90, Using the proj tool.

# from GPS (15.806283 == 15d48.377)
$ proj -r +ellps=WGS84 +proj=tmerc +lat_0=0 +lon_0=015d48.377m +k=1.0000056 +x_0=1500064.1 +y_0=-668.0
# from RT 90
$ invproj -r +ellps=WGS84 +proj=tmerc +lat_0=0 +lon_0=015d48.377m +k=1.0000056 +x_0=1500064.1 +y_0=-668.0