/// <summary>
/// 空间分析,查询与传入要素相交的所有要素(比如说查询一个与线状要素相交的图斑)
/// </summary>
/// <param name="Fea">要素</param>
/// <param name="FeaClass">查询的要素集</param>
public List<IFeature> SpatialQuery(IFeature Fea, IFeatureClass FeaClass)
{
//// 地理要素
IGeometry pGeo = null;
//// 空间查询器
ISpatialFilter pSpatialFilter = null;
//// 要素游标
IFeatureCursor pFeaCursor = null;
IFeature pFeaQuery = null;
List<IFeature> listFea = null;
try
{
pGeo = Fea.ShapeCopy;
pSpatialFilter = new SpatialFilterClass();
//// 设置空间查询器的图形
pSpatialFilter.Geometry = pGeo;
//// 设置空间查询器的空间关系为相交
pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
//// 设置支持的地理字段
pSpatialFilter.GeometryField = FeaClass.ShapeFieldName;
pFeaCursor = FeaClass.Search(pSpatialFilter, false);
pFeaQuery = pFeaCursor.NextFeature();
listFea = new List<IFeature> { };
//// 遍历查询到的要素
while (pFeaQuery != null)
{
//// 空间查询 查找到的要素存入List
listFea.Add(pFeaQuery);
pFeaQuery = pFeaCursor.NextFeature();
}
}
catch (Exception ex)
{
listFea = null;
}
return listFea;
}
AE的空间查询功能
最新推荐文章于 2024-06-24 21:27:53 发布