C#+AE判断空间拓扑关系

一、判断点是否在面内

判断点是否在面内,AE提供了两个方法可以简单实现此功能: TopologicalOperator和RelationalOperator.
pFeature是一个面.
pTmpPt=pTmpFeature.Shape as IPoint

1、利用ITopologicalOperator接口

ITopologicalOperator pRegionTopo = (ITopologicalOperator)pFeature.Shape;
if (pRegionTopo.Intersect(pTmpPt, esriGeometryDimension.esriGeometry0Dimension) != null)
{
     //表示点在面上
}

2、利用 IRelationalOperator接口
                  
IRelationalOperator pRelOpt = pFeature.Shape as IRelationalOperator;
if (pRelOpt.Contains(pTmpPt))
{
    //表示面包含点
}

这里需要注意的就是,要保证点和面的空间参考必须一致,否则会出错.

 

posted @ 2011-09-07 16:08  海平  阅读(4430)  评论(0编辑  收藏  举报