Last active
January 14, 2020 08:42
-
-
Save bertt/04a3329b8b1241168db51998de2e7a6e to your computer and use it in GitHub Desktop.
4326 -> 28992 coordinate transform using proj.net
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Transforms a coordinate from WGS84 (epsg:4326) to Dutch RD New (epsg:28992) using ProjNET | |
Dependency : https://www.nuget.org/packages/ProjNET/2.0.0 | |
``` | |
var csFact = new CoordinateSystemFactory(); | |
var ctFact = new CoordinateTransformationFactory(); | |
var wgs84 = GeographicCoordinateSystem.WGS84; | |
var rdm = csFact.CreateFromWkt("PROJCS[\"Amersfoort / RD New\",GEOGCS[\"Amersfoort\",DATUM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.4171,50.3319,465.5524,-0.398957,0.343988,-1.87740,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4289\"]],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],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28992\"]]"); | |
var trans = ctFact.CreateFromCoordinateSystems(wgs84, rdm); | |
var wgsCoord = new double[] { 4.3593204, 52.0088095 }; | |
var rdmCoord = trans.MathTransform.Transform(wgsCoord); | |
Console.WriteLine("wgs ({0:#.####}, {1:#.####}) => rdm ({2:#}, {3:#})", wgsCoord[0], wgsCoord[1], rdmCoord[0], rdmCoord[1]); | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment