예제 #1
0
    public GeoPoint(float lat, float lon, float alt, GeoCalculator.DistanceUnits altUnit = GeoCalculator.DistanceUnits.Kilofeet)
    {
        _lat = lat;
        _lon = lon;

        switch (altUnit)
        {
        case GeoCalculator.DistanceUnits.Feet:
            this._alt = (float)GeoCalculator.ConvertDistanceUnit(alt, GeoCalculator.DistanceUnits.Feet, GeoCalculator.DistanceUnits.Degrees);
            break;

        case GeoCalculator.DistanceUnits.Kilofeet:
            this._alt = (float)GeoCalculator.ConvertDistanceUnit(alt, GeoCalculator.DistanceUnits.Kilofeet, GeoCalculator.DistanceUnits.Degrees);
            break;

        case GeoCalculator.DistanceUnits.NauticalMiles:
            this._alt = (float)GeoCalculator.ConvertDistanceUnit(alt, GeoCalculator.DistanceUnits.NauticalMiles, GeoCalculator.DistanceUnits.Degrees);
            break;

        case GeoCalculator.DistanceUnits.Degrees:
            this._alt = alt;
            break;

        case GeoCalculator.DistanceUnits.Meters:
            this._alt = (float)GeoCalculator.ConvertDistanceUnit(alt, GeoCalculator.DistanceUnits.Meters, GeoCalculator.DistanceUnits.Degrees);
            break;

        default:
            throw new FormatException("Geopoint could not be constructed with the given Distance Units input");
        }
    }
예제 #2
0
 public GeoPoint(GeoPoint point, GeoCalculator.DistanceUnits altUnit = GeoCalculator.DistanceUnits.Kilofeet) : this(point.Lat, point.Lon, point.Alt, altUnit)
 {
 }