De projectiestring van het Rijksdriehoekscoördinaten stelsel

21 januari 2012 door Stefan de Konink

Veel mensen in Nederland die wat met projecties doen hebben wel eens te maken met onze Nederlandse Projectie, ook wel RD genoemd. Helaas is een van de bronnen die iedereen gebruikt voor deze data, uit de petrochemische industrie hopeloos onbruikbaar. Dit resulteert in kaarten die verschoven zijn. Allemaal niet handig. Via een niet nader te noemen bron, die deze informatie heeft geaggregeerd uit een blog van Martijn van Exel en commentaar van Milo van der Linden willen wij deze graag met jullie delen als geheugensteuntje voor later.

Voor in PostGIS:
update spatial_ref_sys set srtext='PROJCS["Amersfoort / RD New",GEOGCS["Amersfoort", DATUM["Amersfoort", SPHEROID["Bessel 1841", 6377397.155,299.1528128, AUTHORITY["EPSG","7004"]], AUTHORITY["EPSG","6289"]], PRIMEM["Greenwich", 0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.01745329251994328, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4289"]], UNIT["metre",1,AUTHORITY["EPSG","9001"]], PROJECTION["Oblique_Stereographic"], PARAMETER["latitude_of_origin",52.15616055555555], PARAMETER["central_meridian",5.38763888888889], PARAMETER["scale_factor",0.9999079], PARAMETER["false_easting",155000], PARAMETER["false_northing",463000], AUTHORITY["EPSG","28992"], AXIS["X",EAST], AXIS["Y",NORTH]]', proj4text='+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812 +no_defs no_defs' where srid=28992;

Voor in /usr/share/proj/epsg:
# Amersfoort / RD New
<28992> +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812 +no_defs no_defs <>

Tags: , , ,

3 Responses to “De projectiestring van het Rijksdriehoekscoördinaten stelsel”

  1. Paul Meems zegt:

    Duidelijke post!
    Zijn deze wijzigingen al doorgegeven aan http://spatialreference.org/ref/epsg/28992/, EPSG zelf, GDAL/Proj4, PostGIS?

    Binnen MapWindow gebruiken we GDAL/Proj4 voor de projecties. Uiteraard kan ik het in hun code wijzigen (moet ik wel eerst even uitzoeken hoe en waar ;)), maar als er dan een update komt van hun libraries, moet ik het weer doen.
    Grote kans dat ik dat een keertje vergeet en dan gebruiken we weer de oude.

  2. miblon zegt:

    Omdat de originele blog van Martijn en mijn antwoord al uit 2008 stammen, is het belangrijk even goed te controleren óf de projectie aanpassing nog wel noodzakelijk is. Ook zal ik de vragen van Paul Meems proberen te beantwoorden:

    EPSG (http://www.epsg.org/) is de instantie die deze zaken als eerste dient te accepteren. Vervolgens dienen aanpalende systemen de wijzigingen door te voeren. De naam “European Petroleum Survey Group” bestaat niet meer maar is tegenwoordig “OGP Geomatics Committee”. De EPSG was vooral bezig met het actueel houden van grotere projecties. De primaire doelgroep waren namelijk de olie/gas exploitanten die ver over de landsgrenzen van Nederland acteren. Het correct ondersteunen van de Nederlandse projectie is dus nooit een prioriteit geweest, vandaar dat invoering ondanks herhaaldelijk proberen relatief traag is doorgevoerd.

    Sinds EPSG 6.11.1 is de volgende nederlandse projectie onderdeel van proj4:

    http://trac.osgeo.org/proj/changeset/1357/trunk/proj/nad/epsg (5 jaar geleden)

    +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.237,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +units=m +no_defs

    565.237, 50.0087, 465.658, -0.406857,0.350733, -1.87035,4.0812
    565.2369, 50.0087, 465.658,-0.406857330322398, 0.350732676542563, -1.8703473836068,4.0812
    565.2369, 50.0087, 465.658, -0.40685733032239757, -0.3507326765425626, 1.8703473836067959, 4.0812

    Er zitten kleine afrondingsverschillen in. Het lijkt mij dus beter om eerst te controleren of je de officiële epsg hebt alvorens hem te overschrijven.

    Als het epsg bestand van proj4 correct is, dan is GDAL (en dus OGR) ook correct.

    Voor PostGIS is de wijziging ook al geruime tijd standaard aanwezig. Hier wordt wel de in dit artikel genoemde definitie gebruikt.

    http://trac.osgeo.org/postgis/changeset/2295/trunk/spatial_ref_sys.sql (6 jaar geleden)

    Er zijn dus miniscule verschillen tussen de implementatie in proj4 en postgis.

    Voor geoserver geldt dat de projectie ook correct aanwezig is, volgens mij sinds versie 2.1.0

    Ik zal alle strings even ter vergelijking onder elkaar zetten resp. [E] EPSG/Proj4, [G] Geoserver/Geotools [P] Postgis
    [E]565.237, 50.0087, 465.658, -0.406857,0.350733, -1.87035,4.0812
    [G]565.2369, 50.0087, 465.658,-0.406857330322398, 0.350732676542563, -1.8703473836068,4.0812
    [P]565.2369, 50.0087, 465.658, -0.40685733032239757, -0.3507326765425626, 1.8703473836067959, 4.0812

    Het verschil is minimaal. Zeker voor een kaart in een browser is het verschil zo klein dat dit geen invloed heeft op de gebruikerservaring, maar dat er verschillen zijn is wel een klein beetje jammer.

  3. Ik heb hierover weleens contact gehad met het OGP Geomatics Commitee (EPSG). De conclusie daaruit was echter niet zo eenvoudig als in deze post genoemd wordt. Ik zal in het Nederlands proberen te verwoorden wat de reactie was van het EPSG.

    Ik had aangegeven dat EPSG code 28992 incompleet was, omdat het de towgs84 parameters miste. Dit blijkt echter met opzet te zijn gedaan. EPSG maakt namelijk een onderscheid in co-ordinate reference systems (CRS) en de transformatie van de coördinaten in een bepaald CRS naar een ander CRS (transformations). Sommige libraries (zoals proj4) bundelen de CRS en de transformatie in 1 projectiestring waar mogelijk (dit wordt early binding genoemd).

    Er kunnen echter meerdere transformaties mogelijk zijn van een lokaal CRS (zoals RD) naar WGS84. Dit is ook in Nederland het geval. Proj4 (maar waarschijnlijk ook andere libraries als ik het hierboven lees) is zo opgezet dat het GEEN transformatie opneemt in de projectiestring indien er meerdere transformaties mogelijk zijn. Vandaar dat de “towgs84″ parameter ook mist in de definitie van EPSG 28992 in Proj4.

    De Nederlandse commissie voor Geodesie (NCG) heeft in de loop van de jaren de transformatie een aantal keren aangepast, deze transformatie zijn ook terug te vinden in de EPSG database:
    1993: EPSG 1112
    2000: EPSG 1672
    2004: EPSG 15934
    2008: EPSG 4833

    De conclusie is dus eigenlijk dat er niets mis is met EPSG 28992, je moet alleen voor de transformatie de juiste towgs84 parameters gebruiken. De transformatie die in deze post gegeven wordt is de transformatie uit 2004 (EPSG 15934), in de EPSG database staat echter dat EPSG 4833 EPSG 15934 vervangt. De towgs84 parameters hierboven zijn dus niet de laatste transformatie parameters, maar wellicht wel de meest gebruikte.

    Ondertussen zie ik dat de transformatie uit EPSG 4833 (2008) gebruikt wordt in de laatste versie van Proj4 (4.8). Let dus op, want deze is anders dan de transformatie die op deze pagina gegeven wordt. In mijn epsg database /usr/share/proj/epsg is echter nog geen transformatie opgenomen voor EPSG 28992. Ik draai Ubuntu 12.04 met versie 4.7.1 van proj.

    De definitie in de EPSG database kun je opzoeken via de volgende website: http://www.epsg-registry.org/

    Voor meer informatie over de dataset van het EPSG:
    http://www.epsg.org/
    http://www.epsg.org/Geodetic.html

    Nederlandse Commissie voor Geodesie: http://www.ncg.knaw.nl/Ncg/organisatie.html

Leave a Reply