public void epsg29871() { var crs = EpsgMicroDatabase.Default.GetCrs(29871); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("omerc", prj.Transform.Proj4Name); Assert.AreEqual(4, prj.LatitudeOfOrigin); Assert.AreEqual(115, prj.LongitudeOfCenter); Assert.AreEqual(53.31, prj.alpha, 0.1); Assert.AreEqual(0.99984, prj.ScaleFactor); Assert.AreEqual(590476, prj.FalseEasting, 1); Assert.AreEqual(442857, prj.FalseNorthing, 1); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var posWgs = new GeographicCoordinate(4.26, 114.46); var pos29871 = new Point2(26368.683206333983, 23434.55243084071); var tx = new Proj4Transform(wgs, crs); var forwardResult = (Point2)tx.TransformValue(posWgs); Assert.AreEqual(pos29871.X, forwardResult.X, 10); Assert.AreEqual(pos29871.Y, forwardResult.Y, 10); var inv = tx.GetInverse(); var reverseResult = (GeographicCoordinate)inv.TransformValue(pos29871); Assert.AreEqual(posWgs.Longitude, reverseResult.Longitude, 0.002); Assert.AreEqual(posWgs.Latitude, reverseResult.Latitude, 0.002); }
public void epsg3832() { var crs = EpsgMicroDatabase.Default.GetCrs(3832); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("merc", prj.Transform.Proj4Name); Assert.AreEqual(150, prj.CentralMeridian); Assert.AreEqual(1, prj.ScaleFactor); Assert.AreEqual(0, prj.FalseEasting); Assert.AreEqual(0, prj.FalseNorthing); Assert.AreEqual(6378137, prj.GeographicInfo.Datum.Spheroid.EquatorialRadius, 0.001); Assert.AreEqual(298.257223563, prj.GeographicInfo.Datum.Spheroid.InverseFlattening, 0.001); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate(7, -160); var pt3832 = new Point2(5565974, 775978); var tx = new Proj4Transform(wgs, crs); var actual3832 = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3832.X, actual3832.X, 1); Assert.AreEqual(pt3832.Y, actual3832.Y, 1); var inv = tx.GetInverse(); var actual4326 = (GeographicCoordinate)inv.TransformValue(pt3832); Assert.AreEqual(ptWgs.Longitude, actual4326.Longitude, 0.001); Assert.AreEqual(ptWgs.Latitude, actual4326.Latitude, 0.001); }
public void epsg3395() { var crs = EpsgMicroDatabase.Default.GetCrs(3395); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("merc", prj.Transform.Proj4Name); Assert.AreEqual(0, prj.CentralMeridian); Assert.AreEqual(0, prj.FalseEasting); Assert.AreEqual(0, prj.FalseNorthing); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate(40, -105); var pt3395 = new Point2(-11688546, 4838471); var tx = new Proj4Transform(wgs, crs); var actual3395 = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3395.X, actual3395.X, 1); Assert.AreEqual(pt3395.Y, actual3395.Y, 1); var inv = tx.GetInverse(); var actual4326 = (GeographicCoordinate)inv.TransformValue(pt3395); Assert.AreEqual(ptWgs.Longitude, actual4326.Longitude, 0.001); Assert.AreEqual(ptWgs.Latitude, actual4326.Latitude, 0.001); }
public void epsg3140() { var crs = EpsgMicroDatabase.Default.GetCrs(3140); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("cass", prj.Transform.Proj4Name); Assert.AreEqual(-18, prj.LatitudeOfOrigin); Assert.AreEqual(178, prj.CentralMeridian); Assert.AreEqual(109435, prj.FalseEasting, 1); Assert.AreEqual(141622, prj.FalseNorthing, 1); Assert.AreEqual(6378306, prj.GeographicInfo.Datum.Spheroid.EquatorialRadius, 1); Assert.AreEqual(6356571.996, prj.GeographicInfo.Datum.Spheroid.PolarRadius, 1); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate((-17.25 + -18.32) / 2.0, (178.74 + 177.2) / 2.0); var pt3140 = new Point2(530138.52663372, 821498.68898981); // units in links Assert.IsNotNull(prj.GeographicInfo.Datum.ToWGS84); Assert.AreEqual(3, prj.GeographicInfo.Datum.ToWGS84.Length); Assert.AreEqual(51, prj.GeographicInfo.Datum.ToWGS84[0]); Assert.AreEqual(391, prj.GeographicInfo.Datum.ToWGS84[1]); Assert.AreEqual(-36, prj.GeographicInfo.Datum.ToWGS84[2]); var tx = new Proj4Transform(wgs, crs); var actualForward = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3140.X, actualForward.X, 1); Assert.AreEqual(pt3140.Y, actualForward.Y, 1); var inv = tx.GetInverse(); var actualReverse = (GeographicCoordinate)inv.TransformValue(pt3140); Assert.AreEqual(ptWgs.Longitude, actualReverse.Longitude, 0.01); Assert.AreEqual(ptWgs.Latitude, actualReverse.Latitude, 0.01); }
public void epsg3832() { var crs = EpsgMicroDatabase.Default.GetCrs(3832); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("merc", prj.Transform.Proj4Name); Assert.AreEqual(150, prj.CentralMeridian); Assert.AreEqual(1, prj.ScaleFactor); Assert.AreEqual(0, prj.FalseEasting); Assert.AreEqual(0, prj.FalseNorthing); Assert.AreEqual(6378137, prj.GeographicInfo.Datum.Spheroid.EquatorialRadius, 0.001); Assert.AreEqual(298.257223563, prj.GeographicInfo.Datum.Spheroid.InverseFlattening, 0.001); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate(7, -160); var pt3832 = new Point2(5565974, 775978); var tx = new Proj4Transform(wgs, crs); var actual3832 = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3832.X, actual3832.X, 1); Assert.AreEqual(pt3832.Y, actual3832.Y, 1); var inv = tx.GetInverse(); var actual4326 = (GeographicCoordinate)inv.TransformValue(pt3832); Assert.AreEqual(ptWgs.Longitude, actual4326.Longitude, 0.001); Assert.AreEqual(ptWgs.Latitude, actual4326.Latitude, 0.001); }
public void epsg3395() { var crs = EpsgMicroDatabase.Default.GetCrs(3395); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("merc", prj.Transform.Proj4Name); Assert.AreEqual(0, prj.CentralMeridian); Assert.AreEqual(0, prj.FalseEasting); Assert.AreEqual(0, prj.FalseNorthing); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate(40, -105); var pt3395 = new Point2(-11688546, 4838471); var tx = new Proj4Transform(wgs, crs); var actual3395 = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3395.X, actual3395.X, 1); Assert.AreEqual(pt3395.Y, actual3395.Y, 1); var inv = tx.GetInverse(); var actual4326 = (GeographicCoordinate)inv.TransformValue(pt3395); Assert.AreEqual(ptWgs.Longitude, actual4326.Longitude, 0.001); Assert.AreEqual(ptWgs.Latitude, actual4326.Latitude, 0.001); }
public void epsg3140() { var crs = EpsgMicroDatabase.Default.GetCrs(3140); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("cass", prj.Transform.Proj4Name); Assert.AreEqual(-18, prj.LatitudeOfOrigin); Assert.AreEqual(178, prj.CentralMeridian); Assert.AreEqual(109435, prj.FalseEasting, 1); Assert.AreEqual(141622, prj.FalseNorthing, 1); Assert.AreEqual(6378306, prj.GeographicInfo.Datum.Spheroid.EquatorialRadius, 1); Assert.AreEqual(6356571.996, prj.GeographicInfo.Datum.Spheroid.PolarRadius, 1); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var ptWgs = new GeographicCoordinate((-17.25 + -18.32)/2.0, (178.74+177.2)/2.0); var pt3140 = new Point2(530138.52663372, 821498.68898981); // units in links Assert.IsNotNull(prj.GeographicInfo.Datum.ToWGS84); Assert.AreEqual(3, prj.GeographicInfo.Datum.ToWGS84.Length); Assert.AreEqual(51, prj.GeographicInfo.Datum.ToWGS84[0]); Assert.AreEqual(391, prj.GeographicInfo.Datum.ToWGS84[1]); Assert.AreEqual(-36, prj.GeographicInfo.Datum.ToWGS84[2]); var tx = new Proj4Transform(wgs, crs); var actualForward = (Point2)tx.TransformValue(ptWgs); Assert.AreEqual(pt3140.X, actualForward.X, 1); Assert.AreEqual(pt3140.Y, actualForward.Y, 1); var inv = tx.GetInverse(); var actualReverse = (GeographicCoordinate)inv.TransformValue(pt3140); Assert.AreEqual(ptWgs.Longitude, actualReverse.Longitude, 0.01); Assert.AreEqual(ptWgs.Latitude, actualReverse.Latitude, 0.01); }
public void epsg29871() { var crs = EpsgMicroDatabase.Default.GetCrs(29871); Assert.IsNotNull(crs); var prj = Proj4Crs.CreateProjection(crs); Assert.IsNotNull(prj); Assert.AreEqual("omerc", prj.Transform.Proj4Name); Assert.AreEqual(4, prj.LatitudeOfOrigin); Assert.AreEqual(115, prj.LongitudeOfCenter); Assert.AreEqual(53.31, prj.alpha, 0.1); Assert.AreEqual(0.99984, prj.ScaleFactor); Assert.AreEqual(590476, prj.FalseEasting, 1); Assert.AreEqual(442857, prj.FalseNorthing, 1); var wgs = EpsgMicroDatabase.Default.GetCrs(4326); var posWgs = new GeographicCoordinate(4.26, 114.46); var pos29871 = new Point2(26368.683206333983, 23434.55243084071); var tx = new Proj4Transform(wgs, crs); var forwardResult = (Point2)tx.TransformValue(posWgs); Assert.AreEqual(pos29871.X, forwardResult.X, 10); Assert.AreEqual(pos29871.Y, forwardResult.Y, 10); var inv = tx.GetInverse(); var reverseResult = (GeographicCoordinate)inv.TransformValue(pos29871); Assert.AreEqual(posWgs.Longitude, reverseResult.Longitude, 0.002); Assert.AreEqual(posWgs.Latitude, reverseResult.Latitude, 0.002); }