Elsewhere on DAFF
4. software
The major components of the software developed to derive the measures of spatial configuration (described in Sections 2 and 3) are illustrated in Figure 4 (pre-existing components are shaded).

Figure 4. Major components of the software developed to derive measures of spatial configuration
The main challenge in developing this software was to achieve a computational efficiency that enabled ‘real-time’ calculation of the configuration measures during CRA/RFA negotiations. In other words, the indices need to be calculated in seconds rather than minutes or hours. This efficiency is achieved by performing much of the required spatial computation in a data pre-processing phase prior to negotiations. In this pre-processing phase an ArcView Avenue script is used to derive a ‘spatial data matrix’ from the planning unit polygons. The spatial data matrix contains information on the distances (edge-to edge) between all possible pairs of planning units in the region of interest, and the areas of those units. This information is stored in a very compact binary form and is indexed and linked in a way that optimises the speed with which software can query the distance between any two planning units, or query which other planning units are closest to a given unit, or fall within a specified radius of a given unit. For a large region, the computation time required to derive the spatial data matrix can be several hours or even days. However, the operation need only be performed once for a given region.
Functions for calculating the various spatial configuration indices are contained within a Dynamic Link Library (DLL) coded using the C++ programming language. These functions are called directly by C-Plan, which passes the data (e.g. feature areas, reservation status of planning units) required for calculating a specific index or set of indices. The DLL functions extract all required spatial information directly from the spatial data matrix. Computational efficiency is further optimised through use of a number of innovative data structures and algorithms within the DLL functions. For example the building, storage and traversal of the minimum spanning trees used to calculate configuration indices of patch size/connectivity is performed using a sophisticated algorithm based on fibonacci heaps.
User-control of the spatial configuration functionality is provided through modifications and extensions to the existing C-Plan user interface (i.e. coded in C-Plan rather than in the spatial configuration DLL). All coding relating to the user interface was performed as part of a separate CRA C-Plan Development Project. Further information on this component of the software can be obtained from the C-Plan Development Team in NSW NPWS.
19 Feb 2010
