/// <summary> /// Compares two geo coordinates for equality. /// </summary> /// <param name="GeoCoordinate1">A geo coordinate.</param> /// <param name="GeoCoordinate2">Another geo coordinate.</param> /// <returns>True if both match; False otherwise.</returns> public static Boolean operator ==(GeoCoordinate GeoCoordinate1, GeoCoordinate GeoCoordinate2) { // If both are null, or both are same instance, return true. if (Object.ReferenceEquals(GeoCoordinate1, GeoCoordinate2)) { return(true); } // If one is null, but not both, return false. if (((Object)GeoCoordinate1 == null) || ((Object)GeoCoordinate2 == null)) { return(false); } return(GeoCoordinate1.Equals(GeoCoordinate2)); }
public GeoBoundingBox(Latitude Latitude, Longitude Longitude, Altitude Altitude, Latitude Latitude2, Longitude Longitude2, Altitude Altitude2) { this.GeoCoordinate1 = new GeoCoordinate(Latitude, Longitude, Altitude); this.Latitude = Latitude; this.Longitude = Longitude; this.Altitude = Altitude; this.GeoCoordinate2 = new GeoCoordinate(Latitude2, Longitude2, Altitude2); this.Latitude2 = Latitude2; this.Longitude2 = Longitude2; this.Altitude2 = Altitude2; this.GeoWidth = GeoCoordinate1.DistanceKM(new GeoCoordinate(GeoCoordinate1.Latitude, GeoCoordinate2.Longitude)); // Longitude West <-> East this.GeoHeight = GeoCoordinate1.DistanceKM(new GeoCoordinate(GeoCoordinate2.Latitude, GeoCoordinate1.Longitude)); // Latitude North <-> South this.GeoAlitude = Altitude2.Value - Altitude.Value; }