5

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.

  • Have you tried using the "Locate Features Along Routes" tool in ArcGIS 10? – Aaron Aug 13 '12 at 15:19
7

You can use ITopologicalOperator Interface for finding intersections. esriGeometry0Dimension gets you the result in points/multipoints.

        List<IPoint> resultPoints = new List<IPoint>();
        ITopologicalOperator topOperator = (ITopologicalOperator)poly1;
        IGeometry resultGeom = (IGeometry)topOperator.Intersect(poly2, esriGeometryDimension.esriGeometry0Dimension);

        IGeometryCollection pointCollection = (IGeometryCollection)resultGeom;

        for (int i = 0; i < pointCollection.GeometryCount; i++)
        {
            resultPoints.Add((IPoint)pointCollection.get_Geometry(i));
        }
  • Thanks, implemented in my code and it works. And I were actually starting to calcualte that point mathematically. :D – Sunder Aug 13 '12 at 11:45
  • @vinayan , it does not give me points after which two polyline are overlaping each other (have same end point) any idea how to get these points – Haider Dec 27 '16 at 18:00
2

Use ITopologicalOperator instead. See ITopologicalOperator.Intersect method.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.