나는 Envelope[][] extents = new Envelope[][];
구조를 가지고 있습니다. 각 봉투는 MinX
, MaxX
, MinY
및 MaxY
속성을 가지며 격자의 한 타일 (왼쪽 하단 및 오른쪽 상단 지점)을 나타냅니다. 이제 X-
및 Y-axis
에 대한 최소 및 최대 값을 포함하는 또 다른 Envelope bounds;
이 있습니다. 타일이 extents
에서 bounds
과 교차하고 싶습니다.교차로 - 봉투
Envelope.Intersect
을 사용하여이를 수행 할 수있는 간단한 방법이 있습니까?
[편집] 지금은이 방법 (무차별의 xD)에 해냈어를 들어
:
List<Envelope> intersectedTiles = new List<Envelope>();
for (int i = 0; i < extents.LongLength; i++)
{
for (int j = 0; j < extents.Length; j++)
{
if (extents[i][j].MinX >= bounds.MinX && extents[i][j].MaxX <= bounds.MaxX &&
extents[i][j].MinY >= bounds.MinY && extents[i][j].MaxY <= bounds.MaxY)
{
intersectedTiles.Add(extents[i][j]);
}
}
}
당신이 Where' clausule'에 노력 코드 –