AV3.x Esoterica

The items presented here are of mostly theoretical interest. They may not be genuinely practical, but they were fun to develop!

2DCH.ZIP (2.3K) -- 2D Convex Hull Script

4/20/99: Uses improved QSort

This is an implementation of Ken Clarkson's algorithm. Zip file includes an example script that calls it.

BITMAP.ZIP (3.2 K) -- Bit manipulation scripts.


These utilities allow users to convert numbers to binary representations and vice versa to facilitate bit manipulation. Includes an example of toggling file attributes.

CENTROID.AVE (1.0K) -- Finds true centroid of polygon.


Despite what ArcView's online help says, Polygon.ReturnCenter does NOT return the true centroid. This routine is adapted from O'Rourke, Computational Geometry in C. Click HERE for an example script that calls it. For a more comprehensive version that creates a centroid shapefile from an active polygon theme and supports multipart polygons, see the EDTOOLS extension, under "Views".

CLOCKWISE.AVE (1.0K) -- Clockwise Test Script


The vertices of an external ring are clockwise; those of an internal (island) ring are counter-clockwise. In general, it is not necessary to know in ArcView whether a ring is clockwise or not, because the Polygon.Make request automatically processes the input rings as needed. Nonetheless, it may be useful to employ this script as a test of whether a ring is internal or external. Click HERE for an example script that calls it.

IDRAV.ZIP (3.3K) -- Idrisi API Scripts


This bundle of scripts enables the execution of most of Idrisi's commands through ArcView. Functions include launching Idrisi, setting the working directory, executing a macro command, and closing Idrisi. Includes a sample session script. For more information on Idrisi's API and how to install it, click HERE. Not compatible with Idrisi32. Click HERE for more info.

QSORT.AVE (1.6K) -- Object Sort

4/20/99: Improved/faster code

An implementation of the quick sort algorithm, QSort can sort a list of ANY objects for which a comparison routine may be devised. Click HERE for an example of sorting the polygons of an FTab. This version is based on the algorithm at Larry Ogren's web site: of several tested (including one from Microsoft!), it was by far the best.

RANDOMIZER.ZIP (135 K) -- Random Number Generator Library


Randomizer.dll implements seven pseudo random number generation algorithms. Includes source code, example scripts, and an Avenue implementation of the Mother of All algorithm. For documentation, click HERE.

TRIANG.ZIP (58.8K) -- Polygon Triangulation Extension

10/2/00: Implemented as DLL

This is an adaptation of Seidel's polygon triangulation algorithm. Includes an example script and icon. Now implemented as a DLL for FAST run time. Does not work for polygons with redundant vertices (i.e. whose rings touch).

Return to ArcView page