Where is the Angle Measure Tool in ArcMap 10?

I can't seem to find it.

  • 1
    – whuber
    Commented Oct 22, 2010 at 17:05
  • There was a Measure/Angle tool written by Trent Hare of the USGS and modified by the Maine DEP. It was a simple dll and was stated as usable in 8 and 9x. I still use it in 10.4.1. I could not locate a downloadable version in a few minutes of searching the Internet; perhaps others can. I still have the one I got from the old Arcscripts site many years ago.
    – John
    Commented Nov 15, 2016 at 21:34

7 Answers 7


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.


alt text

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
    # ArcPy point objects
    x1, y1, x2, y2 = xy1.X, xy1.Y, xy2.X, xy2.Y
    # 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))

  # 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))
  raise Exception, "Invalid line input"
  • This answer gives negative values on the fourth quadrant (X and Y are both negative).
    – fatih_dur
    Commented Jun 22, 2020 at 9:26

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:

  1. Create a dummy shape file with linear features

  2. Start editing session

  3. Select "Line Tool" to start creating new feature

  4. Left click on point you want to measure your azimuth from

  5. Right click on the point you want to measure azimuth to (the context pop-up menu will pop up)

  6. Select "Direction..." option

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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