我有Envelope[][] extents = new Envelope[][];
建設。每個信封都有MinX
,MaxX
,MinY
和MaxY
屬性,並表示網格的一個圖塊(左下角和右上角的點)。現在我有另一個Envelope bounds;
,其中包含X-
和Y-axis
的最小值和最大值。我想從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你試過代碼 –