Ejemplo n.º 1
0
    public static AronsLocation ClosestCellToCurrentLocation(AronsLocation currentLocation, List <AronsLocation> locationsToCheck)
    {
        //Debug.Log("locations to check length: " + locationsToCheck.Count);
        var shortestDistans       = double.MaxValue;
        var currentlyClosestPoint = new AronsLocation();
        int debugCounter          = 0;

        foreach (var point in locationsToCheck)
        {
            var distanceToCurrentPoint = AronsLocation.Distance(currentLocation.longitude, point.longitude,
                                                                currentLocation.latitude, point.latitude);
            //Debug.Log("dist to current point: " + distanceToCurrentPoint);

            if (distanceToCurrentPoint < shortestDistans)
            {
                debugCounter++;
                shortestDistans = distanceToCurrentPoint;
                //Debug.Log("dist to current point: " + shortestDistans);
                currentlyClosestPoint = point;
            }
        }
        //Debug.Log("closest alt: " + currentLocation.altitude);
        //Debug.Log("Debug counter: " + debugCounter);
        return(currentlyClosestPoint);
    }
Ejemplo n.º 2
0
 public AronsLocation CalculateElevationAtLocation()
 {
     if (Input.location.status == LocationServiceStatus.Running)
     {
         currentLocation.longitude = Input.location.lastData.longitude;
         currentLocation.latitude  = Input.location.lastData.latitude;
         var currentlyClosestPoint = AronsLocation.ClosestCellToCurrentLocation(currentLocation, listOfPositions);
         Debug.Log("Currently closest point altitude: " + currentlyClosestPoint.altitude);
         return(currentlyClosestPoint);
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 3
0
    void CalculateStuff()
    {
        if (Input.location.status == LocationServiceStatus.Running)
        {
            currentLocation.longitude = Input.location.lastData.longitude;
            currentLocation.latitude  = Input.location.lastData.latitude;

            currentlyClosestPoint = AronsLocation.ClosestCellToCurrentLocation(currentLocation, listOfPositions);

            // Debug information of Elevation, Longitude & Latitude
            //Debug.Log("Elevation: " + currentlyClosestPoint.altitude);
            //Debug.Log("Current long: " + currentLocation.longitude);
            //Debug.Log("Current lat:  " + currentLocation.latitude);

            var shortestDistans = AronsLocation.Distance(currentLocation, currentlyClosestPoint);
            //Debug.Log("Distance to cell:  " + shortestDistans);
        }
        else
        {
            //Debug.Log("LocationServiceStatus != Running");
        }
    }
Ejemplo n.º 4
0
    public List <AronsLocation> ReadAndParseCSV()
    {
        var       locations = new List <AronsLocation>();
        TextAsset entireCSV = Resources.Load("csv_altitude") as TextAsset;
        var       lines     = entireCSV.text.Split('\n');

        foreach (var line in lines)
        {
            var locationString = line.Split(',');

            // If parse from string to double did not succeed set the value to zero
            var    longitudeString = locationString[0].Trim();
            double longitude;

            if (double.TryParse(longitudeString, out longitude) == false)
            {
                longitude = 0;
            }

            var    latitudeString = locationString[1].Trim();
            double latitude;
            if (double.TryParse(latitudeString, out latitude) == false)
            {
                latitude = 0;
            }

            var    altitudeString = locationString[2].Trim();
            double altitude;
            if (double.TryParse(altitudeString, out altitude) == false)
            {
                altitude = 0;
            }

            var locationToAdd = new AronsLocation(longitude, latitude, altitude);
            locations.Add(locationToAdd);
        }
        return(locations);
    }
Ejemplo n.º 5
0
 public static double Distance(AronsLocation location1, AronsLocation location2)
 {
     return(Distance(location1.longitude, location2.longitude, location1.latitude, location2.latitude));
 }