Mexican Spotted Owl, stretching...

ArcGIS Tools
ArcView 3.x Extensions
GIS Consultation
Unit Converter
Jenness Enterprises



NAME:  Distance/Azimuth Tools v. 1.6   (Click Name to Download)

Aka:  Make Shapes from Distances and Bearings

Last modified:  February 21, 2005

View Online PDF Manual:

TOPICS:  ArcView 3.x, Distance, Bearing, Azimuth, Angle, Point, Line, Polyline, Polygon, Shape, View, Analysis, Tools, Vertices, Shift Shapes, Move Shapes, shift

AUTHOR: Jeff Jenness
     GIS Analysis and Application Design
     Jenness Enterprises
     3020 N. Schevene Blvd.
     Flagstaff, AZ 86004

DESCRIPTION: This extension lets you create a new shapefile based on distances and azimuths (or bearings) from either an existing shapefile or from an input table.

New Shapes from Existing Shapes:   You can create a new shapefile using distances and azimuths from an existing shapefile.  You have the option to create your new shapes based on either a constant distance and azimuth which applies to all features in the shapefile, or to use unique distances and azimuths from each shape based on "Distance" and "Azimuth" fields in the Feature Attribute Table.  In either case, the extension copies each shape (they can be points, lines or polygons) to new locations according to the specified distance and azimuth.

New Shapes from Input Table:  You can also create a new shapefile using data from an input table.  You have three options in this case:

  1. Your input table records can reflect a series of points, where the distance and azimuth indicate the change in position from one point to the next.  Accordingly, the table needs to contain fields for the "TO" and "FROM" ID values and the "DISTANCE" and "AZIMUTH" from one point to the next. You must specify the X- and Y-coordinates of the origin point.  The extension then offers the you the option to calculate a Point shapefile containing all those coordinates as individual points, a Polyline shapefile containing a series of individual line segments that connect the points, a Polyline shapefile containing a single record reflecting all those line segments strung together, and/or a Polygon shapefile connecting the last point back to the first point.
  2. You can also use an input table like the one above, but containing multiple shapes.  In this case, the table must also contain a field specifying the SHAPE ID value, and you must enter in coordinates for the origin points of each shape in the table.
  3. Your input table records can reflect a set of points that are all some specified distance and bearing from a central Origin point.  This case would apply if, for example, a person stood at a central point and measured the distance and azimuth to several features around them, then wanted to map the positions of those features.  In this case, the table must contain fields reflecting the "ORIGIN ID", the "TO" ID, the "DISTANCE" and the "AZIMUTH" for each record.  The extension will give you the option to create a Point shapefile for each of the surrounding features, a Point shapefile for the Origin points, and/or a Line shapefile for the line segments connecting the points to their respective Origin points.

Average Azimuths of Polylines in Polyline Theme: This extension will calculate the average bearing of all polylines in a polyline theme, determined as the bearing between the starting point of a polyline and the ending point of that line. These values will be added to either an existing field or a new field in the attribute table.

Please see the detailed operating instructions for a more thorough explanation of how to use this extension.

This extension also offers three tools in the View ToolBar relating to distances and bearings.

  1. Line Length and Azimuth:  This tool allows you to draw a graphic line on the display. After you click on the end point of the line, you will see the length, azimuth, starting coordinates and ending coordinates of your line at the bottom of the screen.
  2. Graphic Point from Distance and Azimuth:  This tool allows you to click anywhere on the screen, enter in a distance and azimuth, and then create a new graphic point at the new coordinates. The new coordinates will be displayed at the bottom of the screen.
  3. Graphic Point from Point Theme:  This tool allows you to click on a point in an active point theme, enter in a distance and azimuth, and then create a new graphic point at the new coordinates.  The new coordinates of the graphic point will be displayed at the bottom of the screen.

REQUIRES:  This extension requires either a feature theme (of Points, Lines or Polygons) to be present in the view, or alternatively a table to be present in the project which contains fields reflecting the FROM and TO point ID values, and the Distance and Bearing from point to point. 

Also, this extension uses new dialogs and therefore requires that the file "avdlog.dll" be present in the ArcView/BIN32 directory (or $AVBIN/avdlog.dll) and that the Dialog Designer extension be available in the ArcView/ext32 directory, which they almost certainly are if you're running AV3.1 or higher. You don't have to load the Dialog Designer; it just has to be available.  If you are running ArcView 3.0a, you can download the appropriate files for free from ESRI, at: 

Recommended Citation Format: For those who wish to cite this extension, the author recommends something similar to:

Jenness, J. 2005. Distance/Azimuth Tools (dist_az_tools.avx) extension for ArcView 3.x, v. 1.6. Jenness Enterprises. Available at:

Please let me know if you cite this extension in a publication ( I will update the citation list to include any publications that I am told about.

UPDATES:  Version 1.2 corrects a bug that occurs when the input bearing is exactly 90 degrees. Previously the extension would treat that instance as if the bearing was 45 degrees.

Version 1.3 fixes a "Variable TheEdgeBearing has not been initialized" error that occurs when using the Line Length and Azimuth tool. This version also saves the line length and azimuth to the clipboard, and reports the azimuth in both azimuthal degrees and compass quadrant bearings.

Version 1.4 adds the option to link to a table containing origin coordinates rather than entering them individually.  This release also corrects a bug in which a feature with no bearing/azimuth value would receive the value from the previous feature, and such cases are now summarized in a report at the end of calculation rather than with an alert message each time.  Version 1.4e lets you use input themes that have Z- and M-attributes, and lets you use String fields for Distance / Azimuth / Origin values.

Version 1.5 adds the option to calculate the average azimuth of polylines in a polyline theme.

Version 1.6 (Feb. 21, 2005) fixes some bugs related to projections and makes some general changes.

bulletIt was not positioning shapes correctly when the view was projected and the user built the shapes from an input table.
bulletThe “Graphic Shape from Distance and Azimuth” tool would calculate values based on the geographic projection even if the view was projected.
bulletThis version also modifies the “Line Length and Azimuth” so it erases previous graphics as you draw them. It will not delete previous graphics if you hold down the shift key as you draw lines.
bulletI cleaned up the initial Analysis Type dialog so that it does not have nearly as much text on it. I also added Help buttons to explain the different options.

For detailed instructions, view the on-line PDF version of Distance and Azimuth Tools Manual         

Enjoy! Please contact the author if you have problems or find bugs.

            Jeff Jenness                            

            Jenness Enterprises                

            3020 N. Schevene Blvd.                     (928) 607-4638

            Flagstaff, AZ  86004


Please visit Jenness Enterprises ArcView Extensions site for more ArcView Extensions and other software by the author.  We also offer customized ArcView-based GIS consultation services to help you meet your specific data analysis and application development needs.