I'm currently working with street intersections trying to find point(or points) where 2 given streets intersect(!disjoin). Streets are all Polyline features, and I have to work with 2 features at given time. I think this way it can be determined if they intersect(haven't yet tested it),
public List<IPoint> RoadIntersections(IPolyline poly1, IPolyline poly2)
{
IRelationalOperator ro = null;
ro = poly1 as IRelationalOperator;
ISegmentCollection sc = new PolylineClass() as ISegmentCollection;
sc.AddSegment((ISegment)poly2);
if (ro.Disjoint(sc as IGeometry) == false) //if they intersect
{
//TODO: find intersection points
}
...
but what I would like to do is to find point (or points) where those two polylines intersect.