Last Modified: August 3, 2003
TOPICS: ArcView 3.x, Nearest Feature, Distance, Bearing, Azimuth, View, Analysis, Tools, Centroid, Closest Edge, Adjacent, Range
AUTHOR: Jeff Jenness
Description: This extension lets you identify features that are within a specified distance of each of a set of Input features. Begin by specifying a theme in the view which contains your INPUT features, then select a single or multiple themes containing your COMPARISON features. This extension will work through each of the Comparison features and check to see if it is within your specified distance of each Input feature. You have the option to draw graphic lines connecting each Input feature to the Comparison feature.
Two Output Tables: You have the option to choose either or both of two different output tables. These tables are permanent tables, saved to the hard drive, and will not be deleted when ArcView shuts down.
Several Measurement Choices: You have the option to identify features based on a variety of distance choices:
Furthermore, for each of these three options, you have more options regarding the relationship the feature has to the distance:
These options are described in more detail in Step 5 of the manual.
Identify Features Within a Single Theme: You can select a single theme to act as both the Input theme AND Comparison theme, in which case this script will identify all other features in that theme that lie within your specified distance. It will NOT measure the distance to itself, so you'll never get a feature identified with itself within your specified distance.
All or Only Selected Records: You can either use all the features in each of the themes for the analysis or only a selected subset of features. If any features in a particular theme (input or comparison themes) are selected, then only those selected features in that theme will be used in the analysis. If no features in a theme are selected, then all features in that theme will be used in the analysis.
Projected vs. Unprojected Views: If your original data are in Lat/Long coordinates (the Geographic Projection) and your View has been projected, then this extension will identify features based on the Map Units of your view projection.
REQUIRES: This extension requires a minimum of one feature theme (Point, Line or Polygon theme) present in a view if you want to identify features within a single theme. Otherwise, a minimum of two feature themes are needed; one to act as the 'Input' theme and at least one 'Comparison' theme.
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 Dialog Designer to run the extension; it only has to be available.
UPDATES: August 30, 2002 - The Version 1a update fixes a bug that produces an “Error in reading shape record length for record 1” error message.
August 3, 2003 - The Version 1b update makes some minor aesthetic changes.
1) Begin by placing the "id_within_dist.avx" file into the ArcView extensions directory (../../Av_gis30/Arcview/ext32/).
2) After starting ArcView, Load the extension by clicking on File --> Extensions… , scrolling down through the list of available extensions, and then clicking on the checkbox next to the extension called "Identify Features Within Distance"
3) Select Input Theme: Begin by clicking on the icon. This brings up the Input Theme dialog box:
The – INPUT THEME – list shows all of the Feature Themes (those themes made of Points, Lines or Polygons) in the view. Once you select the input theme of interest, the –ID FIELD – list becomes active and shows a list of all the fields in the input theme’s Feature Attribute Table. You must select a field that contains a unique identifier for each feature. This identifier allows your RESULTS table to be joined with your input theme Feature Table, and it also necessary for you to know which input feature is being referred to in the RESULTS table.
4) Select Comparison Themes and ID Fields: After you have selected your Input Theme, select either a single or multiple Comparison Themes. This dialog box works the same as the Input Theme dialog box except that you can add multiple Theme/ID Field combinations to the analysis. Notice that you can also include the Input Theme as a comparison theme. In this case, the program will check the distances to all features within that Input Theme EXCEPT itself (the closest feature to any feature will always be itself, but that information is rarely what users are looking for).
5) Select the Distance or Distance Range: After you have selected your comparison themes, you will see the following dialog box prompting you to specify the analysis you would like to conduct.
There are a number of ways you can identify features based on a specified distance, and this extension attempts to provide you with the most likely methods you will need. IMPORTANT: All these methods use either the "<" or the ">" operation, rather than the "<=" or ">=" operations. They will never include the feature if the distance is Equal to your specified distance. Also, all distances should be in Map Units, which are the units of the X/Y Coordinate system you are using, and which are the units of the X/Y Coordinates you see in the top right of your screen, right next to your Scale textbox.
You have three broad options regarding which part of the shape you're interested in (the closest edge, the entire shape, or any part of the shape), and each broad option has three sub-options related to your specified distance.
Identify Features by the location of the Nearest Edge:
Identify Features by the location of Any Part of the shape:
Identify Features by the location of the Entire Shape:
6) Select which Output Tables to Create and which Fields to include: You have the option to calculate two different RESULTS tables, and you have the choice between a number of data fields to include.
RESULT Table #1: Identify each Input Feature: This RESULT table has a record for each Input feature that identifies it and gives a count of the number of Comparison features that were within the distance. You have the option to automatically join this table to your Input Feature Attribute Table if you like. This join can always be removed by hitting the "Remove All Joins" option in the ArcView Table Menu. The two fields are:
RESULT Table #2: Identify each Comparison Feature: This RESULT table has a record for each Comparison feature that was within the specified distance of all the Input features. You have the option to choose among 16 data fields to include in this table:
7) Specify Any Desired Graphic Connection Lines: You have the option to create graphic lines on your view which connect each Input feature to all the Comparison features that were in the specified distance. This option is useful when you want visual confirmation that the extension is identifying the correct features.
8) Specify Hard Drive Location to save the RESULTS tables: You will be prompted to specify a location on the hard drive to save each RESULTS table you have chosen to calculate. These are standard ArcView Dialog Boxes and should be familiar to most users. These tables are permanent tables and will not be deleted when ArcView is shut down.
Enjoy! Please contact the author if you have problems or find bugs.
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.