★★★ArcEngine线段相交查询

2025-03-13 06:31:36
推荐回答(1个)
回答1:

把spatialFilter.Geometry = pFeature.Extent;改成
spatialFilter.Geometry = pFeature.Shape;

FID值可以直接通过pFeature.OID或者tFeature.OID获得,不需要访问属性字段

RoadRelationArr.Add(nRoadFID);这句代码没有区分哪些线段是跟当前相交的字段,就是说不知道跟线段A相交的有哪些,跟线段B相交的又是哪些,没区分,全部存在一个数组里面。

需要排除跟自身相交的,
if(tFeature.OID != pFeature.OID)
RoadRelationArr.Add(tFeature.OID);

你先按照上面的先改改看看,祝你成功!