Example #1
0
        /// <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 }
            };
        }
Example #2
0
        /// <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)
                }
            });
        }