C#ArcGis如何判断某点是不是在线中
展开全部
使用IRelationalOperator接口Contains方法,参考代码
private bool CheckGeometryContain(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Contains(pGeometryB))
{
return true;
}
else
{
return false;
}
}
private bool CheckGeometryContain(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Contains(pGeometryB))
{
return true;
}
else
{
return false;
}
}
追问
我的是判断点击的点是不是在要素上怎么总是判断不了呢
2014-09-17
展开全部
应该是调用IRelationalOperator接口来判断。
追问
用了啊,但是始终是得到的false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IRelationalOperator
方法名称 描述
Contains 检查两个几何图形几何图形1是否包含几何图形2
Crosses 用于检测两个几何图形是否相交
Equal 用于检测两个几何图形是否相等
Touches 用于检测两个几何图形是否相连
Disjoint 用于检测两个几何图形是否不相交
Overlaps 用于检测两个几何图形是否有重叠
Relation 用于检测是否存在定义relationship
Within 检查两个几何图形几何图形1是否被包含于几何图形2
返回false 可能是单点本来就不容易点到一条线上。contains 不好判断,你可以先用面什么的测一下Overlaps ,或者 在代码里看一下这条线上的点,取出来一个先测一下Contains 。
方法名称 描述
Contains 检查两个几何图形几何图形1是否包含几何图形2
Crosses 用于检测两个几何图形是否相交
Equal 用于检测两个几何图形是否相等
Touches 用于检测两个几何图形是否相连
Disjoint 用于检测两个几何图形是否不相交
Overlaps 用于检测两个几何图形是否有重叠
Relation 用于检测是否存在定义relationship
Within 检查两个几何图形几何图形1是否被包含于几何图形2
返回false 可能是单点本来就不容易点到一条线上。contains 不好判断,你可以先用面什么的测一下Overlaps ,或者 在代码里看一下这条线上的点,取出来一个先测一下Contains 。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询