org.squigle.layers
Class PointLayer

java.lang.Object
  |
  +--org.squigle.layers.Layer
        |
        +--org.squigle.layers.PointLayer

public class PointLayer
extends Layer


Field Summary
 
Fields inherited from class org.squigle.layers.Layer
height, max_threshold, min_threshold, screenDiag, vp_lat_1, vp_lat_2, vp_lon_1, vp_lon_2, width
 
Constructor Summary
PointLayer(float lon_1, float lat_1, float lon_2, float lat_2, java.awt.Color renderColor, int renderWidth, java.lang.String[] metaDataHeaders, org.squigle.layers.MetaDataHandler metaDataHandler)
          Constructor for writable PointLayer
 
Method Summary
 void addPoint(float[] point, java.lang.String[] metaData)
          Add a point element to a writable PointLayer
 void free()
           
 java.awt.Color gradiant(java.awt.Color a, java.awt.Color b, double balance)
           
 void paint(java.awt.Graphics g)
          A PointLayer specific rendering function
 java.lang.String[][] query(float lon_1, float lat_1, float lon_2, float lat_2)
          Search a layer for metaData within the bounding coordinates
 int sort(int maxWeight, int maxDepth)
          The sort function processes the point elements from a writable layer, sorting them into a BSP tree with a depth no greater than maxDepth, and no more than maxWeight elements per node.
 int write(java.io.RandomAccessFile raf)
          Writes a readable PointLayer to a random access file handle
 
Methods inherited from class org.squigle.layers.Layer
boundsCollision
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PointLayer

public PointLayer(float lon_1,
                  float lat_1,
                  float lon_2,
                  float lat_2,
                  java.awt.Color renderColor,
                  int renderWidth,
                  java.lang.String[] metaDataHeaders,
                  org.squigle.layers.MetaDataHandler metaDataHandler)
Constructor for writable PointLayer

Parameters:
lon_1 - the upper left longitude of layer
lat_1 - the upper left latitude of layer
lon_2 - the lower right longitude of layer
lat_2 - the lower right latitude of layer
renderColor - the color to render the layer as
renderWidth - the thickness of the elements rendered
metaDataHeaders - the column headers for the layers metadata
Method Detail

addPoint

public void addPoint(float[] point,
                     java.lang.String[] metaData)
Add a point element to a writable PointLayer

Parameters:
point - the lat, lon, height values for the point being added
metaData - the point's metaData table record

sort

public int sort(int maxWeight,
                int maxDepth)
The sort function processes the point elements from a writable layer, sorting them into a BSP tree with a depth no greater than maxDepth, and no more than maxWeight elements per node. Depth overrides weight in cases where the max depth is reached but the node has more elements than maxWeight. On completion, sort sets readable = true.

Specified by:
sort in class Layer
Parameters:
maxWeight - the maximum elements a node should hold before splitting
maxDepth - the maximum depth nodes are allowed to split
Returns:
the number of elements processed

gradiant

public java.awt.Color gradiant(java.awt.Color a,
                               java.awt.Color b,
                               double balance)

free

public void free()
Overrides:
free in class Layer

paint

public void paint(java.awt.Graphics g)
A PointLayer specific rendering function

Specified by:
paint in class Layer
Parameters:
g - the Graphics object the layer is rendered to

query

public java.lang.String[][] query(float lon_1,
                                  float lat_1,
                                  float lon_2,
                                  float lat_2)
Search a layer for metaData within the bounding coordinates

Specified by:
query in class Layer
Parameters:
lon_1 - the upper left longitude to search from
lat_1 - the upper left latitude to search from
lon_2 - the lower right longitude to search to
lat_2 - the lower right latitude to search to
Returns:
an array of metaData String[]'s

write

public int write(java.io.RandomAccessFile raf)
          throws java.io.IOException
Writes a readable PointLayer to a random access file handle

Specified by:
write in class Layer
Parameters:
raf - the random access file to write the layer to
Returns:
the filepointer to the root of the layer
java.io.IOException