コード例 #1
0
        public double RectangeDistance(GeomCoordinate coordinate)
        {
            if (PointContains(coordinate) != IntersectResult.None)
            {
                return(0);
            }

            var min = EarthUtilities.GetDistance(new CoordinateRectangle(Left, Top, Right, Top), coordinate);
            var res = EarthUtilities.GetDistance(new CoordinateRectangle(Right, Top, Right, Bottom), coordinate);

            if (res < min)
            {
                min = res;
            }
            res = EarthUtilities.GetDistance(new CoordinateRectangle(Right, Bottom, Left, Bottom), coordinate);
            if (res < min)
            {
                min = res;
            }
            res = EarthUtilities.GetDistance(new CoordinateRectangle(Left, Bottom, Left, Top), coordinate);
            if (res < min)
            {
                min = res;
            }

            return(min);
        }
コード例 #2
0
 public GeomCoordinate GetNearestPoint(GeomCoordinate pt)
 {
     return(EarthUtilities.GetNearestPoint(this, pt));
 }
コード例 #3
0
 public double LineDistance(GeomCoordinate coordinate)
 {
     return(EarthUtilities.GetDistance(this, coordinate));
 }