org.geotools.gce.grassraster
Class JGrassRegion

Object
  extended by JGrassRegion

public class JGrassRegion
extends Object

Represents the geographic region used in the jGrass engines.

JGrass calculations always work against a particular geographic region, which contains the boundaries of the region as well as the information of the region's resolution and the number of rows and cols of the region.

Warning: since the rows and cols have to be integers, the resolution is may be recalculated to fulfill this constraint. Users should not wonder if the asked resolution is not available in the supplied boundaries.

Since:
3.0
Author:
Andrea Antonello - www.hydrologis.com
See Also:
JGrassMapEnvironment}

Field Summary
static String BLACKBOARD_KEY
          The identifier string for the JGrassRegion.
static String BLANK_REGION
          The representation of a dummy region.
 
Constructor Summary
JGrassRegion(double west, double east, double south, double north, double weres, double nsres)
          Creates a new instance of JGrassRegion.
JGrassRegion(double west, double east, double south, double north, int rows, int cols)
          Creates a new instance of JGrassRegion.
JGrassRegion(Envelope2D envelope2D)
          Creates a new instance of JGrassRegion from an Envelope2D .
JGrassRegion(JGrassRegion region)
          Creates a new instance of JGrassRegion by duplicating an existing region.
JGrassRegion(String regionFilePath)
          Creates a new instance of JGrassRegion.
JGrassRegion(String west, String east, String south, String north, int rows, int cols)
          Creates a new instance of JGrassRegion from given strings.
JGrassRegion(String west, String east, String south, String north, String ewres, String nsres)
          Creates a new instance of JGrassRegion from given strings.
 
Method Summary
static JGrassRegion adaptActiveRegionToEnvelope(Envelope sourceEnvelope, JGrassRegion sourceRegion)
          Creates a region from envelope bounds snapped to a region grid.
static JGrassRegion getActiveRegionFromMapset(String mapsetPath)
          Computes the active region from the supplied mapset path.
 LinkedHashMap<String,String> getAdditionalGrassEntries()
          Getter for additionalGrassEntries.
 int getCols()
          Getter for cols.
 double getEast()
          Getter for east
 Envelope getEnvelope()
          Creates JTS envelope from the current region.
 double getNorth()
          Getter for north
 double getNSResolution()
          Getter for ns_res
 int getProj()
          Getter for proj
 Rectangle2D.Double getRectangle()
          Creates a rectangle from the current region.
 int getRows()
          Getter for rows
 double getSouth()
          Getter for south
 double getWEResolution()
          Getter for we_res
 double getWest()
          Getter for west
 int getZone()
          Getter for zone
 JGrassRegion reproject(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, boolean lenient)
          Reprojects a region.
 void setAdditionalGrassEntries(LinkedHashMap<String,String> additionalGrassEntries)
          Setter for additionalGrassEntries.
 void setCols(int cols)
          Setter for cols.
 void setEast(double east)
          Setter for east
 void setExtent(JGrassRegion region)
          Sets the extent of this window using another window.
 void setNorth(double north)
          Setter for north
 void setNSResolution(double ns_res)
          Setter for ns_res
 void setProj(int proj)
          Setter for proj
 void setRows(int rows)
          Setter for rows
 void setSouth(double south)
          Setter for south
 void setWEResolution(double we_res)
          Setter for we_res
 void setWest(double west)
          Setter for west
 void setZone(int zone)
          Setter for zone
static Coordinate snapToNextHigherInRegionResolution(double x, double y, JGrassRegion region)
          Snaps a geographic point to be on the region grid.
 String toString()
           
 List<JGrassRegion> toSubRegions(int subregionsNum)
           
static void writeDEFAULTWINDToLocation(String locationPath, JGrassRegion region)
          Write default region to the PERMANENT mapset.
static void writeWINDToMapset(String mapsetPath, JGrassRegion activeRegion)
          Writes active region window to the supplied mapset.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BLACKBOARD_KEY

public static final String BLACKBOARD_KEY
The identifier string for the JGrassRegion.

Useful for environments that work with blackboards. For example the Udig layers support blackboards.

See Also:
Constant Field Values

BLANK_REGION

public static final String BLANK_REGION
The representation of a dummy region.

See Also:
Constant Field Values
Constructor Detail

JGrassRegion

public JGrassRegion(String regionFilePath)
             throws IOException
Creates a new instance of JGrassRegion.

The supplied path has to be of the format of a GRASS WIND file.

Parameters:
regionFilePath - a GRASS region file path.
Throws:
IOException

JGrassRegion

public JGrassRegion(double west,
                    double east,
                    double south,
                    double north,
                    int rows,
                    int cols)
Creates a new instance of JGrassRegion.

This constructor may be used when boundaries and number of rows and columns are available.

Parameters:
west - the western boundary.
east - the eastern boundary.
south - the southern boundary.
north - the nothern boundary.
rows - the number of rows.
cols - the number of cols.

JGrassRegion

public JGrassRegion(double west,
                    double east,
                    double south,
                    double north,
                    double weres,
                    double nsres)
Creates a new instance of JGrassRegion.

This constructor may be used when boundaries and the resolution is available.

Parameters:
west - the western boundary.
east - the eastern boundary.
south - the southern boundary.
north - the northern boundary.
weres - the east-west resolution.
nsres - the north -south resolution.

JGrassRegion

public JGrassRegion(JGrassRegion region)
Creates a new instance of JGrassRegion by duplicating an existing region.

Parameters:
region - a region from which to take the setting from.

JGrassRegion

public JGrassRegion(Envelope2D envelope2D)
Creates a new instance of JGrassRegion from an Envelope2D .

Parameters:
envelope2D - the envelope2D from which to take the setting from.

JGrassRegion

public JGrassRegion(String west,
                    String east,
                    String south,
                    String north,
                    String ewres,
                    String nsres)
Creates a new instance of JGrassRegion from given strings.

Parameters:
west - the western boundary string.
east - the eastern boundary string.
south - the southern boundary string.
north - the nothern boundary string.
ewres - the x resolution string.
nsres - the y resolution string.

JGrassRegion

public JGrassRegion(String west,
                    String east,
                    String south,
                    String north,
                    int rows,
                    int cols)
Creates a new instance of JGrassRegion from given strings.

Parameters:
west - the western boundary string.
east - the eastern boundary string.
south - the southern boundary string.
north - the nothern boundary string.
rows - the string of rows.
cols - the string of cols.
Method Detail

setExtent

public void setExtent(JGrassRegion region)
Sets the extent of this window using another window.

Parameters:
win - another window object

getEnvelope

public Envelope getEnvelope()
Creates JTS envelope from the current region.

Returns:
the JTS envelope wrapping the current region.

getRectangle

public Rectangle2D.Double getRectangle()
Creates a rectangle from the current region.

Note that the rectangle width and height are world coordinates.

Returns:
the rectangle wrapping the current region.

toString

public String toString()
Overrides:
toString in class Object

reproject

public JGrassRegion reproject(CoordinateReferenceSystem sourceCRS,
                              CoordinateReferenceSystem targetCRS,
                              boolean lenient)
                       throws Exception
Reprojects a region.

Parameters:
sourceCRS - the original crs of the region.
targetCRS - the target crs of the region.
lenient - defines whether to apply a lenient transformation or not.
Returns:
a new region.
Throws:
Exception - exception that may be thrown when applying the transformation.

snapToNextHigherInRegionResolution

public static Coordinate snapToNextHigherInRegionResolution(double x,
                                                            double y,
                                                            JGrassRegion region)
Snaps a geographic point to be on the region grid.

Moves the point given by X and Y to be on the grid of the supplied region.

Parameters:
x - the easting of the arbitrary point.
y - the northing of the arbitrary point.
region - the active window from which to take the grid.
Returns:
the snapped coordinate.

getActiveRegionFromMapset

public static JGrassRegion getActiveRegionFromMapset(String mapsetPath)
                                              throws IOException
Computes the active region from the supplied mapset path.

Parameters:
mapsetPath - the path to the mapset folder.
Returns:
the active region.
Throws:
IOException

writeWINDToMapset

public static void writeWINDToMapset(String mapsetPath,
                                     JGrassRegion activeRegion)
                              throws IOException
Writes active region window to the supplied mapset.

Parameters:
mapsetPath - the path to the mapset folder.
activeRegion - the active region.
Throws:
IOException

writeDEFAULTWINDToLocation

public static void writeDEFAULTWINDToLocation(String locationPath,
                                              JGrassRegion region)
                                       throws IOException
Write default region to the PERMANENT mapset.

Parameters:
locationPath - the path to the location folder.
region - a region.
Throws:
IOException

adaptActiveRegionToEnvelope

public static JGrassRegion adaptActiveRegionToEnvelope(Envelope sourceEnvelope,
                                                       JGrassRegion sourceRegion)
Creates a region from envelope bounds snapped to a region grid.

This takes an envelope and a JGrass region and creates a new region to match the bounds of the envelope, but the grid of the region. This is important if the region has to match some feature layer.

The bounds of the new region contain completely the envelope.

Parameters:
sourceEnvelope - the envelope to adapt.
sourceRegion - the region from which to take the grid to be snapped.
Returns:
a new region, created from the envelope bounds snapped to the region grid.

toSubRegions

public List<JGrassRegion> toSubRegions(int subregionsNum)
Parameters:
subregionsNum -
Returns:

getProj

public int getProj()
Getter for proj

Returns:
the proj

setProj

public void setProj(int proj)
Setter for proj

Parameters:
proj - the proj to set

getZone

public int getZone()
Getter for zone

Returns:
the zone

setZone

public void setZone(int zone)
Setter for zone

Parameters:
zone - the zone to set

getNorth

public double getNorth()
Getter for north

Returns:
the north

setNorth

public void setNorth(double north)
Setter for north

Parameters:
north - the north to set

getSouth

public double getSouth()
Getter for south

Returns:
the south

setSouth

public void setSouth(double south)
Setter for south

Parameters:
south - the south to set

getWest

public double getWest()
Getter for west

Returns:
the west

setWest

public void setWest(double west)
Setter for west

Parameters:
west - the west to set

getEast

public double getEast()
Getter for east

Returns:
the east

setEast

public void setEast(double east)
Setter for east

Parameters:
east - the east to set

getNSResolution

public double getNSResolution()
Getter for ns_res

Returns:
the ns_res

setNSResolution

public void setNSResolution(double ns_res)
Setter for ns_res

Parameters:
ns_res - the ns_res to set

getWEResolution

public double getWEResolution()
Getter for we_res

Returns:
the we_res

setWEResolution

public void setWEResolution(double we_res)
Setter for we_res

Parameters:
we_res - the we_res to set

getRows

public int getRows()
Getter for rows

Returns:
the rows

setRows

public void setRows(int rows)
Setter for rows

Parameters:
rows - the rows to set

getCols

public int getCols()
Getter for cols.

Returns:
the cols.

setCols

public void setCols(int cols)
Setter for cols.

Parameters:
cols - the cols to set.

getAdditionalGrassEntries

public LinkedHashMap<String,String> getAdditionalGrassEntries()
Getter for additionalGrassEntries.

Returns:
the additionalGrassEntries.

setAdditionalGrassEntries

public void setAdditionalGrassEntries(LinkedHashMap<String,String> additionalGrassEntries)
Setter for additionalGrassEntries.

Parameters:
additionalGrassEntries - the additionalGrassEntries to set.


Copyright © 1996-2014 Geotools. All Rights Reserved.