Mexican Spotted Owl, stretching...

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


Path of Features

NAME: Path, with Distances and Bearings v. 3.2b   (Click Name to Download)

Aka: pathfind.avx

Last modified: March 14, 2007

View Online PDF Manual:

TOPICS: ArcView 3.x, Distance, Bearing, View, Analysis, Tools, Centroid, Closest Edge, Path, Route, Series, Angle, Deviation, Polyline, Direction, Statistics

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


Build Paths from a Series of Features: This extension enables you to calculate distance, bearing and angular measurements between a series of features (points, lines or polygons). This is useful if the features represent places along a path or route and you want to calculate indices for each step of the route. The extension creates a results table (described below) and/or polyline shapefiles containing various user-selected fields such as distance and bearing between features, X/Y coordinates, centroids vs. closest edges, angular measurements, etc. Optionally, you can request graphic lines to be drawn connecting each feature with the next feature in the series.

Generate Statistics on Existing Paths: This extension generates several statistics describing the geometry of existing polyline features, and allows you to decompose them into a series of segments or vertices.

Additional Features:

bulletInput Data can be either a Table or Point/Line/Polygon Theme: This extension can use either a Table for the input data, in which case the table will need to have fields for the X- and Y-coordinates, or a Feature Theme (point, line or polygon theme).
bulletCentroids vs. Closest Edges: If desired, you can use this extension can calculate the distance and bearing between the centroids of the series of features as well as the distance and bearing between the closest edges of those features. For example, if a polygon theme is used in the analysis, then this extension will determine what points on the edges of the respective polygons (not necessarily vertices) are closest to each other, and calculate the distance and bearing based on these closest points. If the features intersect or if one lies within the other, the distance between edges will be zero but there will still be a calculated value for the distance between centroids. You can have graphics drawn connecting the centroids and/or the closest edges of each feature in the series.
bulletAll or only selected records: You can either use all the features or only a selected subset of features for the analysis. If any features in the input theme are selected, then only those selected features in that theme will be used when calculating the path. If no features in a theme are selected, then all features in that theme will be used in the analysis.
bulletProjected vs. Unprojected Views: If your original data are in Lat/Long coordinates (the Geographic Projection) and your View has been projected, then you have the option of calculating RESULTS data based on either the Geographic Projection or your View Projection. The choice of projections can dramatically affect distances, bearings and coordinates of nearest edge points.
bulletGeodesic Curves: If your data are in geographic coordinates (i.e. Latitude/Longitude or “Unprojected”), then you have to option to calculate distances and bearings using geodesic curves in order to get the most accurate measures possible. If you are building routes from a series of features, then these features must be either points or table records in order to use the Geodesic Curve option.
bulletOutput Options: If you are building a path from a series of features, you can generate your path as either a Results table, a Polyline shapefile representing the entire route, or a Polyline shapefile representing each separate segment along the route, or any combination of these. Each of these options offers a variety of data fields to calculate, reflecting segment ID values, series values, segment lengths, bearings, coordinates and internal angles. See Data for Results Table on p. 7 for a discussion of the various data fields.  If you are generating statistics on existing polyline paths, then you can produce either a Results table, a Polyline shapefile of path segments, or a Point shapefile of path vertices.
bulletAdd a Record Number Field: This extension provides a simple way to generate a field of unique ID values by adding a field of record numbers to the attribute table.

REQUIRES:  This extension requires either a single feature theme (Point, Line or Polygon theme) present in a view, or a table with X/Y Coordinates available. This theme must have a field with unique values for each feature. This extension also 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. 2007. Path, with distances and bearings (pathfind.avx) extension for ArcView 3.x, v. 3.2b. 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: The 1.1 update fixes a bug involving distances and bearings to complex polygons (multipart polygons and/or those containing holes) and complex polylines. It also includes options to conduct calculations in Geographic vs. View Projections.

The 2.0 update adds the option to save output in shapefile format, adds some internal angle measures, and adds the option to use a table as input data.

The 3.0 update adds the option to calculate the distance and azimuth values using geodesic curves, provided that the path objects are points. The 3.0 update also:

bulletRepairs a bug in which the internal angle and the deviation angle were reversed.
bulletRemoves all internal code references to global variables in order to prevent any potential conflicts with other extensions.
bulletIncludes modifications to generate any new segment and route shapefiles in the same coordinate system as the current view, ensuring that these shapefiles will be visible in the view regardless of the coordinate system of the view.

The 3.1 update again repairs the bug in which internal angles and deviation angles were reversed.  Sorry about that!

Version 3.2 (February 23, 2005) adds the option to generate statistics on currently existing polyline paths. This version also corrects a bug in which Date fields could not be used as ID fields.

Version 3.2b (March 14, 2007) corrects an issue in which bearings generated using geodesic curves might be reported as negative numbers, such that Due West might be reported as -90º instead of 270º.

For detailed instructions, view the on-line PDF version of Path with Distances and Bearings 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.