Full text: Remote sensing for resources development and environmental management (Vol. 2)

but has been developed by many others, 
including Klinger and Dyer (1976), Hunter 
and Steiglitz(1979), and Samet 
(1980,1981,1984). Research into the 
theory and applications of quadtrees has 
broadened and expanded during the 1980's. 
They have become a major focus of interest 
in computer science for applications in 
image processing, graphics, robotics and 
GIS. Samet (1984) provides a comprehensive 
review of the quadtree and related 
hierarchical structures. He points out 
that there are now many different types of 
quadtree, such as the point, line, and 
regional quadtrees, that they are all 
based on the principle of recursive 
decomposition of an image but that they do 
not all share the same properties or ease 
of implementation. The efficiency of 
quadtrees for representation of regions 
and for interchangeability with more 
common representations such as vectors, 
chain codes, arrays and rasters has been 
studied intensively by computer 
scientists. 
Quadtree encoding 
A quadtree is constructed from a square 
binary array of pixels which represent an 
image. We refer to the set of black pixels 
in the image as the region. If we assume 
that an image comprises a 2 n x 2 n binary 
array of pixels, then a quadtree encoding 
represents this image by recursively sub 
dividing it into four quadrants until no 
further sub-division is necessary. This 
occurs when we obtain square blocks 
(possibly single pixels) which are 
homogeneous in value (i.e. either all 
black or all white) or when we reach the 
level of resolution that we require. This 
process is represented by a tree with four 
branches or sons in which the root node 
corresponds to the entire binary array of 
pixels or image, the four sons of the root 
node correspond to the four quadrants, 
which in our case are labelled North West, 
North East, South West and South East. The 
terminal or leaf nodes of the quadtree 
correspond to the homogeneous blocks for 
which no further sub-division is 
necessary. The nodes at level n (if any) 
represent square blocks of size 2 n x 2. 
Thus, a node at level 0 corresponds to a 
single pixel in the image, whereas a node 
at level n is the root node of the 
quadtree. An example is given to 
illustrate these concepts in Fig 1. The 
region in Fig la is represented by the 
binary array in Fig lb. The resulting 
square blocks for Fig lb are shown in Fig 
lc and the tree in Fig Id. 
Initial work on regional quadtrees was 
carried out using pointers to represent 
the tree structure. Each node was 
represented by a record which consisted of 
five pointers: four to sons, one to an 
ancestor and a field for the colour of the 
node. This technique was used by Rosenfeld 
et.al.(1982,1983,1984). Although quick 
search times may be achieved using pointer 
based structures, a large amount of 
storage is taken up by the pointers. 
According to Stewart (1986), assuming that 
each pointer uses 16 bits of memory and 
the node descriptor 8 bits, then the 
pointers take up nearly 90% of the memory 
space used. 
Regional representation using linear 
quadtrees 
Gargantini(1982) proposed a data structure 
to represent quadtrees which was more 
economical in its requirements for memory 
space. Known as a linear quadtree, it is 
in the form of a linear list consisting of 
the quadtree nodes in some order of 
traversal of the tree. A number of 
different forms of keys is available to 
map a set of ancestors to a numeric key 
(Gargantini 1982; Abel and Smith 1983). 
In our case, we follow the form proposed 
by Gargantini(1982) but number the 
quadtrants 1, 2, 3 and 4. Thus nodes are 
arranged so that the quadrants are in 
order 1,2,3,4 corresponding to the NW, NE, 
SW, SE quadrants of an image. Only black 
nodes are recorded. Thus a region in an 
image corresponds to a node which has a 
unique key derived from its ordered list 
of ancestors (Fig 2). 
Linear quadtrees offer several advantages 
over quadtrees based on use of pointers. 
Gargantini(1982) demonstrates how 
arithmetic operations on the key of the 
node can be evaluated to determine various 
properties such as determining the 
relative x, y coordinates of a node, 
adjacency of nodes, ancestor or descendent 
relationships and translation and rotation 
of images. Where disk resident quadtrees 
must be considered, the linear quadtree 
can readily be indexed to a B-tree memory 
management system to provide efficient 
access to nodes for such elemental 
operations as examinations of the 
neighbours of a given node (Abel 1984). 
IMPLEMENTATION OF GIS USING LINEAR 
QUADTREES 
As a part of a one year pilot study, we 
are developing a GIS based on linear 
quadtrees to determine its potential for 
geographical research in a range of 
different applications. Programs have been 
written in the C programming language on a 
VAX 11/750 computer running Berkeley UNIX 
4.2. 
Although we are continuing to develop and 
expand the range of functions that are 
available to the user, we have functions 
for input, manipulation, analysis and 
display of images. Input can be from 
binary array images, vector polygons or 
vector segments, the last two being 
converted to binary arrays. We are also 
implementing an algorithm for direct 
vector to quadtree encoding which was 
devised by Mark and Abel (1985). Analysis 
functions include traversing an image, 
finding the colour of a node, finding a 
neighbour to a node, finding the perimeter 
of regions, measuring distances, labelling 
the separate regions or components, 
determining geometric properties of 
regions such as size, shape or 
orientation, forming windows into an image 
at larger scales, generation of statistics 
about number of nodes, areas involved and 
correlations between geographic features 
and set logic operations on quadtrees 
(union, intersection, complement) (Mark 
and Abel, 1985). These functions allow 
users to perform the two basic operations
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.