/// <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的空间查询功能
最新推荐文章于 2022-05-08 09:00:00 发布