AV Bugs


Data processing and analysis
Development tools
Legends and visualization
Shape analysis, datums, and projections
Shape creation and manipulation

Limitations and reported problems

Additional software is available from our catalog.  Write us at 'software(at)' and tell us what you think of this software or provide suggestions: your thoughts are always welcome.

We provide consulting and custom programming on a fixed price or time and materials basis.  Services range from system design to specifying algorithms and processes to coding and documentation.  E-mail us for more information.

Many of our ArcView extensions and scripts are also available at ESRI's ArcScripts pages.  Search on the keyword "QD".

Other sites with many good ArcView tools and extensions include:

Jenness Enterprises  Highly polished extensions.

Ianko's GIS Page  Check out the versatile EditTools extension.

Mark Cederholm's ArcView page  Original and creative work, well programmed.

Our scripts were featured in the November 2000 issue of "ArcView Tips and Tricks."  Check it out and browse the other issues of this (almost) monthly on-line newsletter.

Soon to be released

These extensions and scripts exist and are undergoing testing.  They will appear eventually!:

  • Theme conversion toolkit: now up to 20 handy functions.  Convert among measured and 3D shapes.  Change dimensionality.  Extend polylines, patch holes in polygons, and many more.

  • Capture text labels.  A significant extension to our popular script now captures all information about text in a view, including font, size, color, orientation, and even how labels are grouped.

  • Compute grid convolutions (generalized focal functions).  (In beta.)

  • Change grid datums, including NAD conversion.  (In beta.)

Recent updates

We have been posting solutions to many problems on ESRI's ArcView and ArcGIS forums.  Here is a selection, in reverse chronological order:

22 September  2004

  • Find furthest distance.  One script quickly and efficiently finds the furthest distance between a point and any other complex shape (a multipoint, polyline, or polygon).  The other script uses the first one to find the furthest distance within any angular sector.  A separate posting in this thread gives step-by-step directions for putting these scripts to use.

12 January 2004

28 January 2002

  • SaveWin is an ArcView 3.x extension that automatically remembers positions and sizes of view windows.  It provides a button to back up through the last 20 configurations.  The scripts can be added to buttons in any other document--Table, Chart, Layout, Script, Project--for the same functionality.

25 January 2002

  • We have posted a command-line utility for "pretty printing" and marking up Avenue source code in HTML.  Download it at Avenue to HTML (ArcScripts) and read more about it at Ave2HTML.

21 December 2001

  • Query First selects the first occurrence of each instance of a selected field in a table.

11 December 2001

24 October 2001

  • Cartogram! creates non-contiguous cartograms.  This technique approximately fills areas on a map in proportion to values of an attribute, providing a unique and interesting data visualization method.

16 August 2001

  • Tissot graphically displays projection properties on any map.  This is a unique tool, fun to use, that can give you an intuition for how projections work, how to choose a good one for your purposes, and how to evaluate the ones you are currently using.  (There is a small charge for downloading this software.)
  • interpretations of arbitrary transformations.

Overview of free ArcView scripts, extensions, and utilities

Except where noted, these are delivered as Avenue scripts (.ave) or ArcView extensions (.avx).  The entries indicate when the software was last updated.  Software is organized alphabetically by functional groups and alphabetically by name within each group.

General purpose

August 2001
Interactively display graphics ("Tissot indicatrices") on a view to show what the projection is doing: how it changes scales, areas, angles, and orientation.  Excellent learning and analytical tool.
Save Windows
January 2002
Simply click a button to restore previous view window sizes and positions.  The functionality can easily be expanded to include any kind of window.

Data processing and analysis

Append tables
May 2000
Merge an arbitrary number of user-selected tables into a single table. A new table is created that combines the attributes of all the tables. The tables to be merged need NOT have the same set of attributes (fields).
Memorized Calculations
Feb 2000
Reproduce the selections and calculations you have performed on tables.  Redo them at the click of a button.  Another button click turns it all into a working script!
Query First
Dec 2001
Query first is a script that selects the first occurrence of each instance of a selected field in a table.  One nice application is the detection and removal of duplicate records.

Development tools

Avenue to HTML 
Jan 2002
Format a script nicely and highlight its comments in HTML.  Very useful when publishing scripts on the Web or for reformatting existing scripts for readability.
Class checker 
May 1999
Verify that a script does not use any variable names that could conflict with unloaded extensions.
Data source report
October 2000
Produces a text report of data sources underlying all active themes in a view, all selected documents in a project, or any open chart, table, or layout.  Very useful to identify what files are involved in joins and "event themes."
Import dialog
June 2000
Grab anybody's dialog and turn it into an editable Dialog Designer document.  Useful for recovering detached dialogs and for learning how to create your own dialogs.
Move docs
July 2000
Organize project documents.   With one button press you move selected documents to a new or existing doc GUI (graphical user interface).  If you want, a new GUI is automatically created for you.
Record actions 
Record user actions into a "log file" or "watch file". The output is the full text of the unencrypted Avenue scripts that are run from every menu item, button, and tool.  Useful learning and diagnostic tool.
Reload extensions 
May 2000
Reload an extension with one simple dialog.  A convenience when developing and testing your own extensions.
Report joins and links
December 2001
Obtain a report of all tables in an ArcView project, including details of all joins and links among them.  Very useful for documenting projects and recreating them in ArcView 8.x.
Tab order 
December 2000
Control the sequence with which the tab key navigates a dialog that you are developing.  This corrects a design limitation in ArcView's Dialog Designer extension.
Feb 2000
(DOS utility)
Protect your Avenue source code from copying.  Makes Avenue source code very obscure.  Automatically removes comments and unnecessary white space.  Changes all variable names (except public variables).


Cell IO
July 2000
Access and modify grid datasets cell-by-cell.  Includes the DLL, the DLL source (in Fortran), a Fortran header to interface to the gridio library, and sample Avenue code for interfacing to the DLL and using its procedures.
Compute grid statistics
Jan 2000
Compute and display a statistical summary of values for every selected grid in a view.  This script accounts for the "NoData" values in a grid.
Aug 2000
Play the game of Life.  More importantly, see how easy it is to program a cellular automaton (CA) using "map algebra" statements.
Reproject grids 
Reproject (or project or unproject) active grid themes.  Neither ArcView nor its Spatial Analyst extension, which is required for this extension, will project grids.  This one works very simply: just choose another view for the new grid and the correct change of projection will be applied.

Legends and visualization

Feb 2000
Create flexible, infinitely continuous, multiple color ramps for ArcView legends.  Even ramp graduated symbol and unique symbol themes for greater effect.
Desaturate colors 
Desaturate all colors in the legends of all active themes. "Desaturation" mixes the colors with white to make them appear brighter and paler (and, usually, less obtrusive).
Display class counts
For each active legend capable of computing class counts, display those counts within parentheses after each label.  Nice way to summarize what is shown in a map.
Limit legends
Feb 2000
Hide unnecessary classes in all active legends. An unnecessary class is one that symbolizes a feature outside the view's extent.  Useful for final map preparation.  Uses an efficient method.
Name TIGER themes
Automatically create meaningful names for all TIGER line themes downloaded from the ESRI site.  These free, high-quality, data are an amazing resource for every kind of analysis in the U.S.  However, it's a pain to use them because they come as a large archive of files with cryptic names.  This script is what you need to use these data right out of the box.
Sort and Promote 
Feb 2000
Change the order of features in a theme or records in a table.  This is the only way to ensure that critical features really are visible in a theme where features overlap.

Shape analysis

Compute convergence
Aug 2000
Compute the relationship between grid north and true north at points throughout a map.
Compute diameters
Jan 2000
Compute and display, in new themes, the diameters of all selected features in all active feature themes.  This is a useful analytical tool but is a hard to find feature in most GISes.
Dissect overlaps 
Feb 2000
Identify and resolve feature overlaps.
Select overlaps
Feb 2000
Select all overlapping polygons in a theme in seconds using this speedy algorithm.

Shape creation and manipulation

Oct 2001
Create non-contiguous cartograms from polygon themes. This software improves on the fine "Cartogram!" extension, available on ArcScripts, by taking advantage of the Transform2D class in ArcView 3.2 and later. This greatly increases its speed, making it practical for large or complex maps.

For nice examples of cartograms for visualizing data, see The Shrinking Student Pool and Higher Education: An Example from Pennsylvania, by Robert N. Martin.

Capture text labels 
Jan 2000
Convert selected text in a view into a polyline shapefile which, when labeled, effectively reproduces the selected text, including its position and orientation.
Change lines to points
Jan 2000
Convert polyline and polygon boundaries to points in several ways: points are created at regular intervals or the original node points may be used.  There are many publicly available scripts with similar functionality, but  this one has two special features: (1) you are provided a random starting location, which is useful for designing systematic sampling programs on transects, and (2) the number of points is guaranteed proportional to the total lengths of all features, so the points can be used for subsequent spatial density calculations or other analyses.
Connect the dots
Create a polygon defined by the selected points in a point theme (or all points if none are selected). The polygon will have no (transverse) self intersections.
Create shapefiles
Create any desired number of records in a new theme.  This script replaces the View|New Theme script and works exactly the same way.  This is useful for certain kinds of data conversions where you will directly calculate shapes based on attribute data.
Eliminate slivers
Jan 2000
Remove sliver polygons from all selected editable polygon themes in a view, automatically.
Flip lines
Sep 2000
Change the direction of—“flip”—any line in a theme. Just point near the desired end of the line.  It takes effect immediately.
Simple random sample
July 2000
Create uniform random samples of polygon features.  (This extension complements our Sample extension available elsewhere on these pages.)
Rotate graphics
Jan 2000
Interactively rotate text and graphics in a view. This incidentally fixes a problem with boxed text and boxed callouts in ArcView: this tool will rotate the boxes along with the text.
Transform shapes
May 2000
Move, rescale, rotate, skew, and reflect selected shapes in active themes.  Available only for ArcView 3.2 and later.  See our article on the theory and use of this extension.

Limitations and reported problems


If, upon attempting to load an ArcView extension (ours or anyone else's), you get a command window with a message like this (details vary, but they all include "unrecognized object:"), it means your version of ArcView is older than required by the extension.  The only cure is to upgrade ArcView.

Change lines to points

Change lines to points requires ArcView 3.2 or later.  It uses "GeoCurves" for distance and bearing calculations.  It can be made to work in earlier versions of ArcView by commenting out the block (eight lines) of script referencing the GeoCurve object in the Theme.PolyToPointByInterval script.

Flip lines

Versions of Flip lines through v 1.2 may exit with a "polyMin not initialized" error.  We fixed this bug in version 1.3.

Memorized calculations

The Memorized calculations "compile" option may produce some erroneous (but harmless) code when you are calculating the value of the [shape] field.  This code checks for the existence of this field and attempts to create it if it does not exist.

Memorized calculations does not update the formula selection whenever the mouse is clicked within the existing selection.  This is an ArcView bug.  Work-arounds, built into the Memorized Calculations interface, include an alternative representation of the selected formulas (by row number) and an audible confirmation of change of selection.

Transform shapes

Transform shapes requires ArcView 3.2 or later.  It relies on the new "Transform2D" object to transform the shapes.  Without this object, transformation could be performed, but it would take roughly 100 times longer.  Therefore we have not provided alternative code for earlier versions of ArcView.

Click Here to Pay Learn More Amazon Honor System

ColorRamp, Memorized Calculations, Rotate, Sample, XSect, and Tissot  are  trademarks of Quantitative Decisions.  All other products mentioned are registered trademarks or trademarks of their respective companies.
Questions or problems regarding this web site should be directed to information (
Copyright © 2000-2005 Quantitative Decisions.  All rights reserved.
Last modified: Wednesday September 22, 2004.