jwo.landserf.process
Class SurfNetwork

java.lang.Object
  extended byjwo.landserf.process.SurfNetwork

public class SurfNetwork
extends Object

Calculates a Wolf-Pfaltz Surface Network based on rasters containing elevation and surface features.

Version:
2.2, 26th February, 2005.
Author:
Jo Wood

Constructor Summary
SurfNetwork(RasterMap elev, RasterMap feat, float easting, float northing, int type)
          Creates a ridge or channel from the given starting position over the given surface with the given slope tolerance.
SurfNetwork(RasterMap elev, RasterMap feat, GISFrame gisFrame)
          Sets up a surface network for storing surface topology.
 
Method Summary
 void addPath(float easting, float northing, int type)
          Adds a given path from the given coordinates to the surface network.
 void findNetwork()
          Creates a surface network by (i) identifying surface specific passes; (ii) tracing ridge lines between passes in peaks and channel lines between passes and pits.
 GraphNetwork getMSN()
          Returns the metric surface network graph.
 RasterMap getThinned()
          Returns the thinned raster representation of the network.
 VectorMap getVectorMap()
          Returns the vector map based on the current surface network.
 void setCallingThread(LSThread lsThread)
          Passes the thread that calls this process to the processor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SurfNetwork

public SurfNetwork(RasterMap elev,
                   RasterMap feat,
                   float easting,
                   float northing,
                   int type)
Creates a ridge or channel from the given starting position over the given surface with the given slope tolerance.

Parameters:
elev - Raster containing surface elevation.
feat - Raster containing feature or blank surface.
easting - Easting of starting position of ridge/channel.
northing - Northing of starting position of ridge/channel.
type - Type of feature to trace. Either SurfParam.RIDGE or SurfParam.CHANNEL.

SurfNetwork

public SurfNetwork(RasterMap elev,
                   RasterMap feat,
                   GISFrame gisFrame)
Sets up a surface network for storing surface topology. It stores pits, passes and peaks as points, and joins them together with channels and ridges (lines). Based on Pfaltz (1976) and Wolf (1992) surface networks.

Parameters:
elev - Raster containing surface elevation.
feat - Raster containing surface features.
gisFrame - GISFrame to report progress.
Method Detail

findNetwork

public void findNetwork()
Creates a surface network by (i) identifying surface specific passes; (ii) tracing ridge lines between passes in peaks and channel lines between passes and pits.


addPath

public void addPath(float easting,
                    float northing,
                    int type)
Adds a given path from the given coordinates to the surface network.

Parameters:
easting - Easting of starting position of ridge/channel.
northing - Northing of starting position of ridge/channel.
type - Type of path to calculate (SurfParam.RIDGE or SurfParam.CHANNEL).

setCallingThread

public void setCallingThread(LSThread lsThread)
Passes the thread that calls this process to the processor. If provided, this allows the processing to be interrupted. Typical use is to allow the user to interrupt the processing of large rasters or large scale kernel sizes. This method does not need to be called if processing is not to be interrupted.

Parameters:
lsThread - Thread that called this process.

getVectorMap

public VectorMap getVectorMap()
Returns the vector map based on the current surface network.

Returns:
Vector map containing surface network.

getThinned

public RasterMap getThinned()
Returns the thinned raster representation of the network.

Returns:
Vector map containing surface network.

getMSN

public GraphNetwork getMSN()
Returns the metric surface network graph.

Returns:
Metric surface network.


Copyright Jo Wood, 1996-2005, last modified, 11th March, 2005