Sunday, 27 December 2015

arcgis desktop - Points along one or more lines at a time, with rotation


I'm using ArcMap 10.3, and I have several lines, that I would like to add arrows along at a defined interval, with that lines rotation, so the arrows point correct way along the line.



When I use the construct point (while having a line marked) I can get points at a defined interval for one line at a time, but it does not rotate according to the line direction. The funny thing is, it pretty much shows a preview, when you use this tool, with exactly the type of points I want (maybe a different arrow type), question is, how do I get it as shown on the picture below?


So to sum up, I would like to add points (in the shape of arrows) along a line, with the arrows pointing in the line direction.


What I want


Tried what is suggested at: Unable to rotate Marker Line Symbols


However this gives the difference, that smaller lines will have perhaps 5 markers on a line of 100 meters, but a line of 10000 meters will also have 5, so the interval is not ~ close to each other.



Answer



The line shown below drawn using @Richard Fairhurst solution for my question


Line symbology


Alternatively use workflow below, to assign correct bearing to your points, called “chainage”.


arcpy.AddField_management("chainage","IDFIELD","LONG")

arcpy.CalculateField_management("chainage", "IDFIELD", "[FID]")
arcpy.Buffer_analysis("chainage", "D:/Scratch/buffers.shp","5 Meters")
arcpy.Intersect_analysis("LINE #;buffers #", "D:/Scratch/directions.shp", "ALL")

Note that my line(s) layer called LINE. At this stage you can use “directions” with arrow-right symbol:


Segments


If you insist on points, calculate “directions” bearing:


arcpy.AddGeometryAttributes_management("directions", Geometry_Properties="LINE_BEARING")

Transfer bearing to chainage points using common “IDFIELD” and apply rotation to point symbol:



Symbol Point Symbol


Solution assumes you know how to place points at regular interval.


You might experiment with distance between points and buffer size and smoothed version of your line. In above example I placed points at 100m interval and used 5m buffer.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...