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; }
/// <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); }