/// <summary>
        /// Converts the corodinates of a 3D point in meters
        /// </summary>
        /// <param name="point"></param>
        /// <returns></returns>
        protected Point3D ConvertToMetrics(Point3D point)
        {
            double newX = point.X;
            double newY = point.Y;
            double newZ = point.Z;

            switch (point.CoordinateUnits)
            {
            case CoordinateUnit.imperial:
                newX = point.X * FeetToMeters;
                newY = point.Y * FeetToMeters;
                newZ = point.Z * FeetToMeters;
                break;

            case CoordinateUnit.metric:
                break;

            case CoordinateUnit.geographic:
                var converter   = new GeographicToMetric(new ReferencePointRD());
                var metricPoint = converter.ConvertToXY(point.X, point.Y);
                newX = metricPoint.X;
                newY = metricPoint.Y;
                break;
            }

            return(new Point3D(newX, newY, newZ, CoordinateUnit.metric));
        }
Пример #2
0
        public void convertToXY()
        {
            var converter   = new GeographicToMetric();
            var metricPoint = converter.ConvertToXY(4.7, 53);

            Assert.AreEqual(6982997.9204, metricPoint.Y, 0.001);
            Assert.AreEqual(523201.6067, metricPoint.X, 0.001);
        }