public void BatchTransformWithParameters() { GeoExtent extent = new GeoExtent(4590706, 4556298, 8561889, 8519105); extent.Expand(20000); Transformations tr = new Transformations(); double[] parameters = tr.CalculateAffineTransformationParameters(extent, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); int count = 100000; GeoPoint[] input = new GeoPoint[count]; GeoPoint[] expected = new GeoPoint[count]; for (int i = 0; i < count; i++) { input[i] = new GeoPoint(4573488, 8539465); expected[i] = new GeoPoint(4700322.190, 361795.526); } // check results for (int i = 0; i < count; i++) { GeoPoint result = tr.TransformBGSCoordinates(input[i], parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected[i], result, Common.DELTA_BGS_EXTENT); } }
public void CalculateParametersForExtent() { GeoExtent extent = new GeoExtent(4590706, 4556298, 8561889, 8519105); extent.Expand(20000); Transformations tr = new Transformations(); double[] parameters = tr.CalculateAffineTransformationParameters(extent, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); // K9 GeoPoint input = new GeoPoint(4573488, 8539465); GeoPoint expected = new GeoPoint(4700322.190, 361795.526); GeoPoint result = tr.TransformBGSCoordinates(input, parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected, result, Common.DELTA_BGS_EXTENT); input = new GeoPoint(4557529, 8530750); expected = new GeoPoint(4684583.019, 352691.179); result = tr.TransformBGSCoordinates(input, parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected, result, Common.DELTA_BGS_EXTENT); input = new GeoPoint(4589108, 8551915); expected = new GeoPoint(4715630.512, 374624.861); result = tr.TransformBGSCoordinates(input, parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected, result, Common.DELTA_BGS_EXTENT); input = new GeoPoint(4573488, 8517394); expected = new GeoPoint(4700865.033, 339732.391); result = tr.TransformBGSCoordinates(input, parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected, result, Common.DELTA_BGS_EXTENT); input = new GeoPoint(4574394, 8583155); expected = new GeoPoint(4700154.937, 405492.239); result = tr.TransformBGSCoordinates(input, parameters, enumProjection.BGS_1970_K9, enumProjection.BGS_2005_KK); Common.CheckResults(expected, result, Common.DELTA_BGS_EXTENT); }