public interface CoordinateAccess
extends CoordinateSequence
The number of ordinates in each Coordinate is getDimension() + getNumAttributes()
The examples given in this interface are based on a 2-dimensional coordinate system, x and y,
with two attributes: z and t.
In this case z is the third dimension, but is not used for rendering and the coordinate
remains 2-dimensional.
Modifier and Type | Method and Description |
---|---|
Object |
getAttribute(int coordinate,
int attribute)
getAttribute purpose.
|
int |
getDimension()
Retrieve the number of spatial dimensions of Coordinates.
|
int |
getNumAttributes()
Retrieve number of measures associated with a Coordinate
This is the number of non spatially significant ordinates.
|
double |
getOrdinate(int coordinate,
int ordinate)
Retrive a single ordinate
|
void |
setAt(int coordinate,
double[] ordinates,
Object[] attributes)
Allows modification of a single coordinate (including attribute values).
|
void |
setAttribute(int coordinate,
int attribute,
Object value)
setAttribute purpose.
|
void |
setAttributeArray(int attribute,
Object attributeArray)
setAttributeArray purpose.
|
void |
setCoordinateArrays(double[][] ordinateArrays,
Object[] attributeArrays)
Completely replace sequence with the provided information.
|
void |
setOrdinate(int coordinate,
int ordinate,
double value)
Set a single ordinate.
|
void |
setOrdinateArray(int ordinate,
double[] ordinateArray)
Supplies an array of ordinates.
|
Object[] |
toAttributeArray(int attribute)
toAttributeArray purpose.
|
Object[] |
toAttributeArrays()
Retrieve Attribute information (an array of attributes for each coordinate).
|
double[] |
toOrdinateArray(int ordinate)
Retrive ordinates as an array.
|
double[][] |
toOrdinateArrays()
Retrieve ordinate information (an array of ordinates for each coordinate).
|
int getDimension()
This is the number of spatially significant ordinates (usually 2 or 3)
getDimension
in interface CoordinateSequence
int getNumAttributes()
This is the number of non spatially significant ordinates.
double getOrdinate(int coordinate, int ordinate)
getOrdinate
in interface CoordinateSequence
coordinate
- Coordinate to retrieve fromordinate
- Ordinate to retrieve from coordinateObject getAttribute(int coordinate, int attribute)
attribute is between 0 and getNumAttributes()
coordinate
- attribute
- is between 0 and getNumAttributes()void setOrdinate(int coordinate, int ordinate, double value)
setOrdinate
in interface CoordinateSequence
coordinate
- Corrdinate to modifyordinate
- Ordinate to modify in coordinatevalue
- new valuevoid setAttribute(int coordinate, int attribute, Object value)
attribute is between 0 and getNumAttributes()
coordinate
- the coordinate to be modifiedattribute
- between 0 and getNumAttributes()value
- double[] toOrdinateArray(int ordinate)
Example: (x,y) getDimension()==2
This is defined for the number of dimensions. If the other attributes happen to be a double,
they can still be accessed by using an ordinate value greater than getDimension().
ordinate
- Ordinate to retrieve. ordinate is less than Object[] toAttributeArray(int attribute)
Description ...
attribute
- Between 0 and getNumAttrributes()void setOrdinateArray(int ordinate, double[] ordinateArray)
The ordinateArray should be the same length as the CoordinateSequence.
ordinate should be between 0 and getDimension().
If the attributes are doubles as well, then ordinate can be as great as
getDimension() + getNumAttributes().
void setAttributeArray(int attribute, Object attributeArray)
Description ...
attribute
- between 0 and getNumAttributes()attributeArray
- May be an object or primitive arraydouble[][] toOrdinateArrays()
Example: (x,y,m,g) getDimension()==2, getNumAttributes()==2
[ [ x1, x2,...,xN], [ y1, y2,...,yN] ]
Object[] toAttributeArrays()
Example: (x,y,m,g) getDimension()==2, getAttributes()==2
[ [ m1, m2,...,mN], [ g1, g2,..., gN] ]
void setCoordinateArrays(double[][] ordinateArrays, Object[] attributeArrays)
Example: (x,y,m,g) getDimension()==2, getNumAttributes()==2
dimensions:[ [ x1, x2,...,xN], [ y1, y2,...,yN] ]
attributes:[ [ m1, m2,...,mN], [ g1, g2,..., gN] ]
ordinateArrays
- dimensions column major ordinate arrays (these are spatially
significant)attributeArrays
- Individual attribute arrays may be primitive or object arraysvoid setAt(int coordinate, double[] ordinates, Object[] attributes)
Normal Use: where D is getDimensions() and N is getNumAttributes():
dimensions: [ ordX, ordY, ..., ordD ]
attributes: [ atr1, atr2, ...., atrN ]
When dealing with attributes that are all double values the ordinates array may be used to set both ordinates and attribute values.
Optimized Use: where D is getDimensions() and N is getNumAttributes():
dimensions: [ ordX, ordY, ..., ordD, atr1, atr2, ... attrN ]
attributes: null
coordinate
- index of coordinate to be modifiedordinates
- array ordinate values (may be extended with attribute values)attributes
- array of attribute values, or null is ordinates has been extendedCopyright © 1996–2019 Geotools. All rights reserved.