Where is the Angle Measure Tool in ArcMap 10?
I can't seem to find it.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.
Sign up to join this communityWhere is the Angle Measure Tool in ArcMap 10?
I can't seem to find it.
In ArcGIS 10.1 and later, there is a tool called COGO - located in the Editor Toolbar/More Editing Tools/COGO. On the tool bar there is a button called Reporting COGO descriptions. This reporting tool has a feature called "Angle between two lines" which reports the angle between 3 points on a line.
Do you mean this?
Select, and then tap in angle, as per what u did in 931? Can still do direction/length in combo as well. Let me know if this is not what ur after
This Python script tool will do the trick. To use it, add it as a script tool, set the parameter to Feature Set - and set its schema to a line feature class. This script should work with 10.0 and later.
# calculate an azimuth angle from a interactively entered
# line (feature set)
#
# Curtis Price, [email protected], 9/18/2013 11:51:10 AM
import math
import arcpy
# read line (This parameter should be a line feature set)
line = arcpy.GetParameterAsText(0)
# to see how this is used, see the help:
# http://resources.arcgis.com/en/help/main/10.1/index.html#//001500000028000000
# http://resources.arcgis.com/en/help/main/10.1/index.html#//002w00000023000000
def get_angle(xy1, xy2):
"""Calculate azimuth angle from two points. (Zero is north.)"""
import math
try:
# ArcPy point objects
x1, y1, x2, y2 = xy1.X, xy1.Y, xy2.X, xy2.Y
except:
# xy strings, e.g. "0 0"
x1, y1 = [float(x) for x in xy1.split()]
x2, y2 = [float(x) for x in xy2.split()]
dx, dy = (x2 - x1, y2 - y1)
return 90 - math.degrees(math.atan2(dy, dx))
try:
# get first and last point of a line
SHAPE = arcpy.Describe(line).shapeFieldName
Rows = arcpy.SearchCursor(line,"","",SHAPE)
feat = Rows.next().getValue(SHAPE)
pt1 = feat.firstPoint
pt2 = feat.lastPoint
angle = get_angle(pt1, pt2)
msg1 = " First point: {0:.1f}, {0:.1f}".format(pt1.X, pt1.Y)
msg2 = " Last point: {0:.1f}, {0:.1f}".format(pt2.X, pt2.Y)
msg3 = " Azimuth angle (in degrees): {0:.1f}".format(angle)
arcpy.AddMessage("{0}\n{1}\n{2}".format(msg1, msg2, msg3))
except:
raise Exception, "Invalid line input"
Without even being sarcastic, for most tasks I use a simple set square / triangle and measure directly on the screen. Quick and dirty solution that works just fine.
Clarifies @TvsGIS' answer. In ArcMap 10.3 use COGO toolbar, select COGO Report (7th button from left) then select "COGO description of an existing feature" (2nd from right : arrow pointing to middle of a line). Then click on line feature. This gives the angle and length in Grid (Map) and Ground (survey measurements) co-ordinates. The transform from Grid to ground is the ADD Direction Offset and divide by Distance Factor of Editing Options > Units > dialog.
If you use "Direction and Distance of a line" (1st button on left), then interactively select start and end points of the line. The angle is from your start point to your end-point. However the line segment may be draw in the opposite direction.
To measure an azimuth from a point with just Basic license you can use feature editing tools:
Create a dummy shape file with linear features
Start editing session
Select "Line Tool" to start creating new feature
Left click on point you want to measure your azimuth from
Right click on the point you want to measure azimuth to (the context pop-up menu will pop up)
Select "Direction..." option
The edit box where you are supposed to put in the direction will have the current azimuth.
With Add Geometry Attributes in the Data Management\Features toolbox - you can create a Line Bearing -Adds an attribute to store the start-to-end bearing of each line feature. Values range from 0 to 360, with 0 meaning north, 90 east, 180 south, 270 west, and so on.