Envelope[][] extents = new Envelope[][];施工しております。各エンベロープにはMinX、MaxX、MinYおよびMaxYプロパティがあり、グリッドの 1 つのタイル (左下と右上のポイント) を表します。今、私はと の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]);
}
}
}