/// <summary>
        /// 判断点是否选中多点
        /// </summary>
        /// <param name="point"></param>
        /// <param name="multiPoint"></param>
        /// <returns></returns>
        public static bool IsPointOnMultiPoint(WEPoint point, WEMultiPoint multiPoint)
        {
            int sPointCount = multiPoint.PointCount;

            for (int i = 0; i < sPointCount; i++)
            {
                if (IsPointOnPoint(point, (WEPoint)multiPoint.GetPoint(i)))
                {
                    return(true);
                }
            }
            return(false);
        }
        /// <summary>
        /// 判断多点是否部分或完全位于矩形盒内
        /// </summary>
        /// <param name="multiPoint"></param>
        /// <param name="box"></param>
        /// <returns></returns>
        public static bool IsMultiPointPartiallyWithinBox(WEMultiPoint multiPoint, WERectangle box)
        {
            WERectangle pointsBox = multiPoint.MBR;

            if (!IsTwoBoxesIntersect(pointsBox, box))
            {
                return(false);
            }
            int sPointCount = multiPoint.PointCount;

            for (int i = 0; i < sPointCount; i++)
            {
                if (IsPointInBox((WEPoint)multiPoint.GetPoint(i), box))     //某一个点位于矩形盒内即可
                {
                    return(true);
                }
            }
            return(false);
        }
Exemple #3
0
        /// <summary>
        /// 复制多点
        /// </summary>
        /// <returns></returns>
        public override WEGeometry Clone()
        {
            WEMultiPoint newWEMultiPoint = new WEMultiPoint(_Points.ToArray());

            return(newWEMultiPoint);
        }
 public WEEntityPoint()
 {
     _FeatureType = FeatureType.WEEntityPoint;
     _Geometries  = new WEMultiPoint();
 }