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.
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
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:
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:
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