//得到所有交点 private static IPointCollection GetAllIntersect(IFeature pFeat, List <IFeature> listFeats) { IPointCollection pItersectCol = new MultipointClass(); IPointCollection pPntColTemp = pFeat.Shape as IPointCollection; IPolyline pPolyline = pPntColTemp as IPolyline; foreach (IFeature pFeatTemp in listFeats) { IGeometry pGeometry = pFeat.Shape; if (!pFeat.Equals(pFeatTemp)) { IPointCollection pItersectColTemp = GetIntersection(pFeatTemp.Shape, pPolyline); if (pItersectColTemp != null) { pItersectCol.AddPointCollection(pItersectColTemp); } } } return(pItersectCol); }