Recently I had to tweak an EPSG definition in QGIS, because the data I received had a systematic error in the EAST coordinates. Here’s what I did.

In my PhD I work with data from the Heritage Management Brandenburg, which is the Bundesland (state) “around” Berlin. For historic reasons, they have a system where the EAST coordinate has an added “3” in front. So if you use the “normal” EPSG 25388 (ETRS 89, UTM zone 33n) for Brandenburg you end up somewhere near the Caspian Sea with your data.

Point data: Quick and dirty

The first data set I got was a point layer, so I simply created EAST and NORTH columns, exported the data, opened it in LibreOffice, calculated – 3000000 from the EAST column, re-imported everything in QGIS and it was fine. Actually, I might have been able to do that within QGIS with the table calculator? Not sure. Whatever. It worked.

Polygon data: Create your own projection

Now, the dataset I received this time was polygon data. Not quite so easy to deal with. They’ve got this helpful page how to deal with the too high EAST value in a postgreSQL database, but I just wanted to take a quick look using QGIS and not import it into a database. Therefore I had to create a custom projection.

EPSG tweaking

So, I took the EPSG definition from here

PROJCS["ETRS89 / UTM zone 33N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","25833"],AXIS["Easting",EAST],AXIS["Northing",NORTH]]

and used it to create a custom projection in QGIS. I navigated on the top navigation bar of QGIS to Settings opened Custom CRS (Custom Projection) and created a new projection. Here, I copy- and pasted in the one from above and changed just few parameters.

Notably “false_easting”,500000 became “false_easting”, 3500000 — representing the leading 3.

Secondly, I had to delete AUTHORITY[“EPSG”,”25833″] to not confuse the algorithm … this was obviously not EPSG 25833 anymore.

Lastly, I renamed it to “ETRS89/UTM 33N RW+3500000 Brandenburg” (it’s the first information right behind PROJCS[ ).

That’s it. This slightly changed projection code worked like a charm:

PROJCS["ETRS89/UTM 33N RW+3500000 Brandenburg",GEOGCS["GRS 1980(IUGG, 1980)",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS80",6378137,298.257222101],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0],UNIT["Meter",1]]

Tell the relevant layers to use your new custom system “ETRS89/UTM 33N RW+3500000 Brandenburg” and ‘lo and behold they turn up where they’re supposed to be! 🙂

Anyone here who works with data from Brandenburg as well? How do you deal with this problem?

Sophie Schmidt

Founder & Editor

About the Author

My name is Sophie, I am a prehistoric and computational archaeologist and have been research associate at the Universities of Bonn and Cologne, as well as for the NFDI4Objects project at the German Archaeological Institute. I teach statistics for archaeologists, work on new methods in settlement archaeology (GIS, geostatistics in R and stuff) and am interested in archaeogaming. Now I started my PhD-project on the 5th mill. BC in Brandenburg (that's North-East Germany).

View Articles