/// <summary> /// Creates a new <see cref="RegionBoundary"/> from a provided <see cref="Region"/> /// </summary> /// <param name="region">Source <see cref="Region"/></param> public static RegionBoundary GetRegionBoundary(Region region) { if (region == null) { throw new ArgumentNullException(nameof(region)); } Tuple<double, double> latRange = PrecisionHelper.GetRange(region.LatitudePrefix, region.Precision); Tuple<double, double> lonRange = PrecisionHelper.GetRange(region.LongitudePrefix, region.Precision); return new RegionBoundary { Min = new Coordinates { Latitude = latRange.Item1, Longitude = lonRange.Item1 }, Max = new Coordinates { Latitude = latRange.Item2, Longitude = lonRange.Item2 } }; }
/// <summary> /// Creates a new <see cref="RegionBoundary"/> from a provided <see cref="Region"/> /// </summary> /// <param name="region">Source <see cref="Region"/></param> public static RegionBoundary GetRegionBoundary(Region region) { if (region == null) { throw new ArgumentNullException(nameof(region)); } Tuple <int, int> latRange = PrecisionHelper.GetRange(region.LatitudePrefix, region.Precision); Tuple <int, int> lonRange = PrecisionHelper.GetRange(region.LongitudePrefix, region.Precision); return(new RegionBoundary { Min = new Coordinates { Latitude = Math.Max(latRange.Item1, Coordinates.MIN_LATITUDE), Longitude = Math.Max(lonRange.Item1, Coordinates.MIN_LONGITUDE) }, Max = new Coordinates { Latitude = Math.Min(latRange.Item2, Coordinates.MAX_LATITUDE), Longitude = Math.Min(lonRange.Item2, Coordinates.MAX_LONGITUDE) } }); }