[GIS] How to edit “Self Intersecting” polyline in ArcGIS for Desktop

arcgis-10.3arcgis-desktopediting

Trying to figure out how to edit a self intersecting polyline (Interstate Ramp) such that I end up with a from node, self intersection loop, then end node.

enter image description here

I'm using ArcGIS Version 10.3 and the data is stored in a Feature Class of a File Geodatabase

Richard. Great and insightful comments, but I think I found a solution from which we both might find useful. I found that if, as you stated, I create two features, then retrace the features (ramp), then delete the underlying features I was left with one self-intersecting line that appears to work fine in network analyst (See Figure). The only issue I have now is when I trace the new feature I lose all attribution so I suspect some sort of join to repopulate the attributes.

enter image description here

To copy attributes from one feature to another feather I used the following procedure ….

1.Click the Editor menu and click Start Editing.

2.Click the Edit tool Edit tool on the Editor toolbar.

3.Select the features whose attributes you want to edit.

4.Click the Attributes button Attributes button on the Editor toolbar.

5.In the Attributes dialog box, right-click the feature you want to copy from and click Copy.

6.Right-click the feature you want to paste into and click Paste.

Best Answer

If you create a single polyline feature from the lines shown, a multipart feature will always be created. This rule concerning self-intersecting features is built-in to the Esri specifications for a polyline and cannot be overridden. Polygons are made from closed polylines and polygons must force a multi-part polyline feature at self-intersections to draw properly. Permitting unbroken self-intersections of a single part line would result in both sides of the line forming the interior and exterior of the polygon simultaneously (somewhat akin to a mobius strip), and that is not allowed. Esri decided to enforce that rule for all polylines.

I have simply accepted that I have to create two features always for loop ramp lines to ensure they are oriented correctly. I always split such lines somewhere within the loop. I use an attribute specific to that line pair to allow my python code or geoprocessing tools to understand that analytically I want the line pair treated as a single line for the purposes of finding the end points that begin and end the transition from one highway to the other. For a direction attribute I assign both segments with the final line end direction (SW in your example) even though one of the lines may have its end pointing in a different direction (although in your example you can create the line break just prior to the self intersection so that both lines have their ends pointing SW).

Additionally, there is no way to use the Create Route tool with such loops to form a single route without creating completely unusable routes. The Create Routes algorithm converts all self-intersecting lines into multipart lines for each vertice pair segment and scrambles the segment part sequence. Since I see no value in maintaining my routes using manual editing and rely on an automated process to completely regenerate my routes each week, I create two separate routes with a similar route name from the two lines I have broken in the loop. Of course if you do not rely on automated maintenance you can manually edit the lines to get mostly useable measures, but it is time consuming to do such edits and they will still report complex measures at the point of intersection.

Jeff: Interesting behavior with the trace tool. I was not aware that it behaved differently from the normal drawing tools. In my case, I currently don't use Network Analyst and primarily use LR. I tested a single part line ramp loop shape created using the trace tool with the Create Route tool to assign measures. The Create Route output was also a single part line and the measures were assigned correctly through the self-intersection in the same way it would for any normal line without self-intersections. That additional step during editing to create features is not too difficult or time consuming. I will most likely recreate my ramps using this technique.

As far as attributes from the original lines, I would use the Attribute Transfer tool on the Spatial Adjustment toolbar. That method will add just a few more clicks during your editing of the feature to transfer the attributes. It is easier than managing a separate feature class created using a join attribute or a spatial join.

Related Question