protected void ReadFile(string file) { string rawData = File.ReadAllText(file); _populationData = rawData .Split('\n') .Select(q => q.Split(new[] { "\t" }, StringSplitOptions.RemoveEmptyEntries) .Select(x => { return((double)decimal.Parse(x, NumberStyles.Float)); }) .ToArray() ) .ToArray(); var converter = new MetricToGeographic(new ReferencePointRD()); for (int r = 0; r < _populationData.Length; r++) { double[] row = _populationData[r]; if (row.Length < 3) { continue; } var point = converter.ConvertToLongLat(row[0], row[1]); _populationData[r][0] = point.Longitude; _populationData[r][1] = point.Latitude; } }
/// <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)); }
public void convertToLatLong() { var converter = new MetricToGeographic(new ReferencePointRD()); var metricPoint = converter.ConvertToLongLat(122202, 487250); Assert.AreEqual(52.372, metricPoint.Latitude, 0.001); Assert.AreEqual(4.906, metricPoint.Longitude, 0.001); }
/// <summary> /// Construct a Grid /// </summary> /// <param name="data"></param> public Grid(double[][] data, Point3D lowerLeftCorner, int cellSize, bool calculateContours = true) { LowerLeftCorner = lowerLeftCorner; CellSize = cellSize; Data = data; Converter = new MetricToGeographic(ReferencePoint); ReferencePoint = new ReferencePointRD(); if (calculateContours) { CalculateContours(); } }
public TrajectoryGenerator(Aircraft aircraft, ReferencePoint referencePoint) { _aircraft = aircraft; _referencePoint = referencePoint; _converter = new MetricToGeographic(_referencePoint); _xData = new List <double>(); _yData = new List <double>(); _zData = new List <double>(); _tData = new List <double>(); _speedData = new List <double>(); _thrustData = new List <double>(); _latData = new List <double>(); _longData = new List <double>(); }