Esempio n. 1
0
        public void Intersect(PrjEnvelope rect)
        {
            PrjEnvelope result = PrjEnvelope.Intersect(rect, this);

            this.MinX = result.MinX;
            this.MinY = result.MinY;
            this.MaxX = result.MaxX;
            this.MaxY = result.MaxY;
        }
Esempio n. 2
0
        /// <summary>
        /// 计算相交百分比
        /// </summary>
        /// <param name="validEnv"></param>
        /// <returns></returns>
        public bool IntersectsRate(PrjEnvelope validEnv, out double validRate)
        {
            PrjEnvelope intEnv = PrjEnvelope.Intersect(this, validEnv);

            if (intEnv.IsEmpty)
            {
                validRate = 0;
                return(false);
            }
            validRate = (this.Height * this.Width * 1.0) / (intEnv.Height * intEnv.Width);
            return(true);
        }