public Point3D(double x, double y, double z = 0, CoordinateUnit coordinateUnits = CoordinateUnit.metric) { X = x; Y = y; Z = z; CoordinateUnits = coordinateUnits; }
/// <summary> /// Converts the coordinates of a 3D point from meters to required unit /// </summary> /// <param name="point"></param> /// <param name="newUnits"></param> /// <returns></returns> protected Point3D ConvertMetricsTo(Point3D point, CoordinateUnit newUnits) { double newX = point.X; double newY = point.Y; double newZ = point.Z; switch (newUnits) { 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 MetricToGeographic(new ReferencePointRD()); var geoPoint = converter.ConvertToLongLat(point.X, point.Y); newX = geoPoint.Longitude; newY = geoPoint.Latitude; break; } return(new Point3D(newX, newY, newZ, newUnits)); }
private void GetDirection(CoordinateUnit coordinateUnit) { if (_coordinate == null) { return; } if (_coordinate > 0) { _direction = coordinateUnit == CoordinateUnit.Latitude ? Direction.North : Direction.East; } else { _direction = coordinateUnit == CoordinateUnit.Latitude ? Direction.South : Direction.West; } }
/// <summary> /// Construct a TrajectoryFileReader /// </summary> /// <param name="units"></param> public TrajectoryFileReader(CoordinateUnit units, TrajectoryGenerator trajectoryGenerator) { CoordinateUnits = units; _trajectoryGenerator = trajectoryGenerator; }
/// <summary> /// Converts the coordinates of a 3D Point into the chosen unit /// </summary> /// <param name="targetUnit"></param> /// <returns></returns> public Point3D ConvertTo(CoordinateUnit targetUnit) { CoordinateConversion converter = new CoordinateConversion(); return(converter.ConvertCoordinates(this, targetUnit)); }
public GeoLocation(decimal?coordinate, CoordinateUnit coordinateUnit) { Coordinate = coordinate; GetDirection(coordinateUnit); }
/// <summary> /// Converts the coordinates of a 3D point into requred unit /// </summary> /// <param name="point"></param> /// <param name="newUnits"></param> /// <returns></returns> public Point3D ConvertCoordinates(Point3D point, CoordinateUnit newUnits) { Point3D metricPoint = ConvertToMetrics(point); return(ConvertMetricsTo(metricPoint, newUnits)); }