I have GIS data in EPSG:4326 consisting of 2D points, linestrings and polygons that are all close (i.e. less then a couple of hundred of meters) to a certain WGS84 coordinate point.

I would like to convert/reproject the geometry from a WGS84 to a 2D system in which the coordinates are north/south and east/west distance from the reference point in meters. In other words, the reference point should become the origin of a new euclidic SRS and the axis unit should be meters.

How I would I do that in QGIS?

I assumed I would be able to generate a custom SRS with my reference point as a center but I have no idea how to express this in QGIS.

Was I right to assume that I would need to dig into PROJ.4 expressions for that?

Or should I some other tool?

I have the whole osgeo4w toolbox at my disposal.

  • Hi, more than one of the answers below is correct, but I can only select one as the accepted answer, I'm afraid. I would have accepted the answer by Luis de Sousa as well.
    – fawick
    Commented Feb 20, 2014 at 19:53

3 Answers 3


You can use proj.4 (which is working in the background for qgis), the transverse mercator projection and set the origin to your reference point (..here latitude 52 degree and longitude 11 degree).

  proj  +ellps=WGS84  +proj=tmerc +lat_0=52 +lon_0=11 +k=1 +x_0=0 +y_0=0
  11 52
  0.00  0.00
  11.0001 52.0001
  6.87  11.13

If you define a new coordinate system via the menu settings -> custom crs and apply an adapted proj.4 string for your task (modify the longitude and latitude), you can use it in qgis.

Example dialog

  • The answer by @Luís de Sousasuggests using proj=laea -- would I expect to get different metric coordinates when using tmerc or are they the same?
    – fawick
    Commented Feb 20, 2014 at 18:27
  • If you set the center of the tmerc projection using the same as the laea, the values will be close (differing more farther from the center), but not too much because your data's in a small area. laea is preserves area; tmerc preserves angles. You might want to use azimuthal equidistant (accurate distances from the center point) instead--but you'll have to look up the parameters.
    – mkennedy
    Commented Feb 20, 2014 at 18:31
  • You can set up both laea and tmerc, create vector grids for them and measure the distance between them. You wrote "close to the reference point", so I assume the divergence will be very small.
    – AndreJ
    Commented Feb 20, 2014 at 19:04

Yes you'll need to define your custom CRS with a Proj4 string, but that is fairly easy. Go to: Settings -> Custom CRS... and click Add new CRS. In the Name: box type a name for your new CRS and in the Parameters: box type in a Proj4 string like:

+proj=laea +lat_0=<LAT> +lon_0=<LON> +ellps=WGS84 +units=m +no_defs

Replace <LAT> and <LON> with the coordinates of your reference point. Click OK. You should now be able to set this as the project CRS by going to Project -> Project Properties... -> CRS and scrolling all the way down in the CRS list to find your new CRS under User Defined Coordinate Systems.

The laea in the Proj4 string is the cartographic projection, Lambert's Azimutal Equal Area, in this case. You can find a list of common projections and their usage over at the GeoTIFF site.

  • The answer by @huckfinn suggests using proj=tmerc -- would I expect to get different metric coordinates when using laea or are they the same?
    – fawick
    Commented Feb 20, 2014 at 18:26
  • They will be different because it is a different projection. But if it is a small area these differences will be small. You should choose the projection according to your goals. The Gauss-Krueger projection is not that useful for processing. Commented Feb 20, 2014 at 19:07

You can try using "Custom CRS" under settings menu.

For example you can use as a base for your custom CRS, WGS84/UTM zone 21N (choose the correct zone); press "Copy existing CRS" and select the system you want to copy.

This will complete the "parameters" field with;

+proj=utm +zone=21 +datum=WGS84 +units=m +no_defs

And then to change the center point, to your reference point you can add some more parameters:

+x_0=-x_referencepoint +y_0=-y_referencepoint

Where -x_referencepoint it the X coordinate of your reference point, in negative (to susbtract) from actual utm coordinates. for example, if your reference point its at X_UTM21N: 512345 and Y_UTM21N: 6123456, the parameters field should be:

+proj=utm +zone=21 +datum=WGS84 +units=m +no_defs +x_0=-512345 +y_0=-6123456
  • So, I do have to convert my reference point to the UTM zone first instead of using its WGS84 coordinates?
    – fawick
    Commented Feb 20, 2014 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.