|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectPropertySourceImpl
AbstractCoverage
public abstract class AbstractCoverage
Base class of all coverage type. The essential property of coverage is to be able to generate a value for any point within its domain. How coverage is represented internally is not a concern. For example consider the following different internal representations of coverage:
| coverage/geotk-coverage (download) | View source code for this class |
| Nested Class Summary | |
|---|---|
protected class |
AbstractCoverage.Renderable
A view of a coverage as a renderable image. |
| Field Summary | |
|---|---|
protected CoordinateReferenceSystem |
crs
The coordinate reference system, or null if there is none. |
| Fields inherited from class PropertySourceImpl |
|---|
cachedPropertyNames, properties, propertySources |
| Constructor Summary | |
|---|---|
protected |
AbstractCoverage(CharSequence name,
CoordinateReferenceSystem crs,
PropertySource propertySource,
Map<?,?> properties)
Constructs a coverage using the specified coordinate reference system. |
protected |
AbstractCoverage(CharSequence name,
Coverage coverage)
Constructs a new coverage with the same parameters than the specified coverage. |
| Method Summary | |
|---|---|
boolean |
dispose(boolean force)
Provides a hint that a coverage will no longer be accessed from a reference in user space. |
boolean[] |
evaluate(DirectPosition coord,
boolean[] dest)
Returns a sequence of boolean values for a given point in the coverage. |
byte[] |
evaluate(DirectPosition coord,
byte[] dest)
Returns a sequence of byte values for a given point in the coverage. |
Set<Record> |
evaluate(DirectPosition p,
Collection<String> list)
Returns a set of records of feature attribute values for the specified direct position. |
double[] |
evaluate(DirectPosition coord,
double[] dest)
Returns a sequence of double values for a given point in the coverage. |
float[] |
evaluate(DirectPosition coord,
float[] dest)
Returns a sequence of float values for a given point in the coverage. |
int[] |
evaluate(DirectPosition coord,
int[] dest)
Returns a sequence of integer values for a given point in the coverage. |
Set<? extends DomainObject<?>> |
evaluateInverse(Record v)
Returns a set of domain objects for the specified record of feature attribute values. |
GeometryValuePair |
find(DirectPosition p)
Returns the nearest geometry-value pair from the specified direct position. |
List<? extends GeometryValuePair> |
find(DirectPosition p,
int limit)
Returns the sequence of geometry-value pairs that include the domain objects nearest to the direct position and their distances from the direction position. |
CommonPointRule |
getCommonPointRule()
Identifies the procedure to be used for evaluating the coverage at a position that falls either on a boundary between geometric objects or within the boundaries of two or more overlapping geometric objects. |
CoordinateReferenceSystem |
getCoordinateReferenceSystem()
Returns the coordinate reference system to which the objects in its domain are referenced. |
int |
getDimension()
Returns the dimension of this coverage. |
Set<? extends DomainObject<?>> |
getDomainElements()
Returns the set of domain objects in the domain. |
Set<Extent> |
getDomainExtents()
Returns the extent of the domain of the coverage. |
Envelope |
getEnvelope()
Returns the bounding box for the coverage domain in coordinate reference system coordinates. |
Locale |
getLocale()
Returns the default locale for logging, error messages, etc. |
InternationalString |
getName()
Returns the coverage name, or null if none. |
Set<AttributeValues> |
getRangeElements()
Returns the set of attribute values in the range. |
RecordType |
getRangeType()
Describes the range of the coverage. |
RenderableImage |
getRenderableImage(int xAxis,
int yAxis)
Returns 2D view of this grid coverage as a renderable image. |
List<? extends Coverage> |
getSources()
Returns the source data for a coverage. |
Set<? extends GeometryValuePair> |
list()
Returns the dictionary of geometry-value pairs that contain the objects in the domain of the coverage each paired with its record of feature attribute values. |
Set<? extends GeometryValuePair> |
select(Geometry s,
Period t)
Returns the set of geometry-value pairs that contain domain objects that lie within the specified geometry and period. |
void |
show()
Displays this coverage in a windows. |
void |
show(String title)
Display this coverage in a windows. |
void |
show(String title,
int xAxis,
int yAxis)
Display this coverage in a windows. |
String |
toString()
Returns a string representation of this coverage. |
| Methods inherited from class PropertySourceImpl |
|---|
getProperties, getProperty, getPropertyClass, getPropertyNames, getPropertyNames |
| Methods inherited from class Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface Coverage |
|---|
evaluate, getNumSampleDimensions, getSampleDimension |
| Field Detail |
|---|
protected final CoordinateReferenceSystem crs
null if there is none.
| Constructor Detail |
|---|
protected AbstractCoverage(CharSequence name,
CoordinateReferenceSystem crs,
PropertySource propertySource,
Map<?,?> properties)
null, then the subclasses must override getDimension().
name - The coverage name, or null if none.crs - The coordinate reference system. This specifies the CRS used when accessing
a coverage or grid coverage with the evaluate(...) methods.propertySource - The source for this coverage, or null if none. Source may be (but is not
limited to) a PlanarImage or an other AbstractCoverage object.properties - The set of properties for this coverage, or null if there is none.
Keys are String objects (CaselessStringKey
are accepted as well), while values may be any Object.
protected AbstractCoverage(CharSequence name,
Coverage coverage)
Note:
This constructor keeps a strong reference to the source
coverage through the PropertySourceImpl super class.
name - The name for this coverage, or null for the same than coverage.coverage - The source coverage.| Method Detail |
|---|
public InternationalString getName()
null if none. The default
implementation returns the name specified at construction time.
null.public final int getDimension()
crs.getCoordinateSystem().getDimension().
public CoordinateReferenceSystem getCoordinateReferenceSystem()
evaluate(...) methods. This coordinate reference system is usually
different than coordinate system of the grid. It is the target coordinate reference
system of the gridToCRS
math transform.
Grid coverage can be accessed (re-projected) with new coordinate reference system
with the GridCoverageProcessor component.
In this case, a new instance of a grid coverage is created.
getCoordinateReferenceSystem in interface Coverageevaluate(...) methods.GeneralGridGeometry.getGridToCRS()public Envelope getEnvelope()
null if this coverage has no associated coordinate reference system. For grid
coverages, the grid cells are centered on each grid coordinate. The envelope for a 2-D
grid coverage includes the following corner positions.
The default implementation returns the domain of validity of the CRS, if there is one.(Minimum row - 0.5, Minimum column - 0.5) for the minimum coordinates (Maximum row - 0.5, Maximum column - 0.5) for the maximum coordinates
getEnvelope in interface Coveragepublic Set<Extent> getDomainExtents()
This method is not yet implemented.
getDomainExtents in interface CoveragegetEnvelope(), extract
the spatial and temporal parts and put them in a Extent object.public Set<? extends DomainObject<?>> getDomainElements()
This method is not yet implemented.
getDomainElements in interface CoveragegetEnvelope(), extract the
spatial and temporal parts, get the grid geometry and create on-the-fly a
DomainObject for each cell.public Set<AttributeValues> getRangeElements()
In the case of a discrete coverage, the size of the range
collection equals that of the domains collection. In other
words, there is one instance of AttributeValues for each instance of
DomainObject. Usually, these are stored values that are accessed by the
evaluate operation.
In the case of a continuous coverage, there is a transfinite
number of instances of AttributeValues for each DomainObject. A few instances
may be stored as input for the evaluate
operation, but most are generated as needed by that operation.
NOTE: ISO 19123 does not specify how the domain and range associations are to be implemented. The relevant data may be generated in real time, it may be held in persistent local storage, or it may be electronically accessible from remote locations.
This method is not yet implemented.
getRangeElements in interface Coveragepublic RecordType getRangeType()
RecordType can be used
recursively to describe more complex structures. The range type for a specific coverage
shall be specified in an application schema.
This method is not yet implemented.
getRangeType in interface Coveragepublic CommonPointRule getCommonPointRule()
This method is not yet implemented.
getCommonPointRule in interface Coveragepublic Set<? extends GeometryValuePair> list()
This method is not yet implemented.
list in interface Coverage
public Set<? extends GeometryValuePair> select(Geometry s,
Period t)
s is null, the operation shall return all geometry-value
pairs that contain domain objects within t. If the value
of t is null, the operation shall return all geometry-value
pair that contain domain objects within s. In the case
of an analytical coverage, the operation shall return the empty set.
This method is not yet implemented.
select in interface Coverage
public List<? extends GeometryValuePair> find(DirectPosition p,
int limit)
limit. The default shall be to return a single
geometry-value pair. The operation shall return a warning if the
last domain object in the sequence is at a distance from the
direct position equal to the distance of other domain objects
that are not included in the sequence. In the case of an analytical coverage, the operation
shall return the empty set.
NOTE: This operation is useful when the domain of a coverage does not exhaustively partition the extent of the coverage. Even in that case, the first element of the sequence returned may be the geometry-value pair that contains the input direct position.
This method is not yet implemented.
find in interface Coveragepublic GeometryValuePair find(DirectPosition p)
find(p,1).
find in interface Coverage
public Set<Record> evaluate(DirectPosition p,
Collection<String> list)
list is a sequence of feature attribute names each of which identifies a
field of the range type. If list is null, the operation shall return a value for
every field of the range type. Otherwise, it shall return a value for each field included in
list. If the direct position passed is not in the domain of the coverage, then an
exception is thrown. If the input direct position falls within two or more geometric objects
within the domain, the operation shall return records of feature attribute values computed
according to the common point rule.
NOTE: Normally, the operation will return a single record of feature attribute values.
This method is not yet implemented.
evaluate in interface Coverage
public boolean[] evaluate(DirectPosition coord,
boolean[] dest)
throws PointOutsideCoverageException,
CannotEvaluateException
evaluate in interface Coveragecoord - The coordinate point where to evaluate.dest - An array in which to store values, or null to create a new array.
dest array, or a newly created array if dest was null.
PointOutsideCoverageException - if the evaluation failed because the input point
has invalid coordinates.
CannotEvaluateException - if the values can't be computed at the specified coordinate
for an other reason. It may be thrown if the coverage data type can't be converted
to boolean by an identity or widening conversion. Subclasses may relax this
constraint if appropriate.
public byte[] evaluate(DirectPosition coord,
byte[] dest)
throws PointOutsideCoverageException,
CannotEvaluateException
evaluate in interface Coveragecoord - The coordinate point where to evaluate.dest - An array in which to store values, or null to create a new array.
dest array, or a newly created array if dest was null.
PointOutsideCoverageException - if the evaluation failed because the input point
has invalid coordinates.
CannotEvaluateException - if the values can't be computed at the specified coordinate
for an other reason. It may be thrown if the coverage data type can't be converted
to byte by an identity or widening conversion. Subclasses may relax this
constraint if appropriate.
public int[] evaluate(DirectPosition coord,
int[] dest)
throws PointOutsideCoverageException,
CannotEvaluateException
evaluate in interface Coveragecoord - The coordinate point where to evaluate.dest - An array in which to store values, or null to create a new array.
dest array, or a newly created array if dest was null.
PointOutsideCoverageException - if the evaluation failed because the input point
has invalid coordinates.
CannotEvaluateException - if the values can't be computed at the specified coordinate
for an other reason. It may be thrown if the coverage data type can't be converted
to int by an identity or widening conversion. Subclasses may relax this
constraint if appropriate.
public float[] evaluate(DirectPosition coord,
float[] dest)
throws PointOutsideCoverageException,
CannotEvaluateException
evaluate in interface Coveragecoord - The coordinate point where to evaluate.dest - An array in which to store values, or null to create a new array.
dest array, or a newly created array if dest was null.
PointOutsideCoverageException - if the evaluation failed because the input point
has invalid coordinates.
CannotEvaluateException - if the values can't be computed at the specified coordinate
for an other reason. It may be thrown if the coverage data type can't be converted
to float by an identity or widening conversion. Subclasses may relax this
constraint if appropriate.
public double[] evaluate(DirectPosition coord,
double[] dest)
throws PointOutsideCoverageException,
CannotEvaluateException
evaluate in interface Coveragecoord - The coordinate point where to evaluate.dest - An array in which to store values, or null to create a new array.
dest array, or a newly created array if dest was null.
PointOutsideCoverageException - if the evaluation failed because the input point
has invalid coordinates.
CannotEvaluateException - if the values can't be computed at the specified coordinate
for an other reason. It may be thrown if the coverage data type can't be converted
to double by an identity or widening conversion. Subclasses may relax this
constraint if appropriate.public Set<? extends DomainObject<?>> evaluateInverse(Record v)
Example: The evaluateInverse operation could return a set
of contours derived from the feature attribute values associated with the
grid points of a grid coverage.
This method is not yet implemented.
evaluateInverse in interface Coverage
public RenderableImage getRenderableImage(int xAxis,
int yAxis)
getRenderableImage in interface CoveragexAxis - Dimension to use for the x display axis.yAxis - Dimension to use for the y display axis.
@Debug
public void show(String title,
int xAxis,
int yAxis)
title - The window title, or null for default value.xAxis - Dimension to use for the x display axis.yAxis - Dimension to use for the y display axis.@Debug public void show(String title)
title - The window title, or null for default value.@Debug public void show()
public List<? extends Coverage> getSources()
getSources in interface Coveragepublic Locale getLocale()
getLocale in interface Localizedpublic String toString()
toString in class Objectpublic boolean dispose(boolean force)
dispose
are undefined, except if this method returned false.
This method can work in a conservative mode or a forced mode,
determined by the force argument:
If force is false (the recommended value), this method may process
only under some conditions. For example a grid coverage may dispose its planar image only
if it has no sinks. This method returns true if
it disposed all resources, or false if this method vetoed against the disposal.
In the later case, this coverage can still be used.
If force is true, then this method processes inconditionnally and
returns always true. This is a more risky behavior.
The conservative mode (force = false) performs its safety checks on a
best-effort basis, with no guarantees. Therefore, it would be wrong to write
a program that depended on the safety checks for its correctness. In case of doubt about
whatever this coverage still in use or not, it is safer to rely on the garbage collector.
force - true for forcing an inconditionnal disposal, or false for
performing a conservative disposal. The recommended value is false.
true if this method disposed at least some resources, or false
if this method vetoed against the disposal.PlanarImage.dispose()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||