using System.Text.Json.Serialization; using OSMDatastructure.Graph; namespace RenderPath; public class Bounds { [JsonInclude]public float minLat, maxLat, minLon, maxLon; [JsonConstructor] public Bounds(float minLat, float minLon, float maxLat, float maxLon) { this.minLon = minLon; this.maxLat = maxLat; this.maxLon = maxLon; this.minLat = minLat; } public static Bounds FromCoords(float lat1, float lon1, float lat2, float lon2) { float minLat = lat1 < lat2 ? lat1 : lat2; float minLon = lon1 < lon2 ? lon1 : lon2; float maxLat = lat1 > lat2 ? lat1 : lat2; float maxLon = lon1 > lon2 ? lon1 : lon2; return new Bounds(minLat, minLon, maxLat, maxLon); } public static Bounds FromCoords(Coordinates c1, Coordinates c2) { return FromCoords(c1.latitude, c1.longitude, c2.latitude, c2.longitude); } }