|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@Draft
@UML(identifier="DirectPosition",
specification=ISO_19107)
public interface HomogeneousDirectPositionA direct position adding another element to the coordinate array which carries a non-zero “weight”, and multiplies all other columns in the coordinate array by that weight. “Homogeneous coordinates” equates, for every w≠0, the coordinate (wx, wy, wz, w) in four-dimensional Euclidean space with the point (x, y, z) in three-dimensional Euclidean space. This mapping is used heavily in projective geometry which aids implementers in creating realistic perspective views of higher dimensional geometry, and will also be used here in the definition of rational splines.
Departure from OGC/ISO specification:
The ISO 19107 draft document defines a single interface,DirectPosition, with aisHomgeneousattribute. In GeoAPI, we keep the historical direct position interface mostly unchanged, defines the new properties in a separated type, and replace theisHomgeneousattribute by ainstanceofcheck.
| Method Summary | |
|---|---|
CoordinateSystem |
getCoordinateSystem()
The coordinate system in which the coordinate is given. |
int |
getDimension()
The dimension of the associated coordinate system. |
double |
getWeight()
Returns the weight value, which is the last value in the coordinate array. |
void |
setWeight(double weight)
Sets the weight value, which is the last value in the coordinate array. |
| Methods inherited from interface DirectPosition |
|---|
equals, getCoordinate, getCoordinateReferenceSystem, getOrdinate, hashCode, setOrdinate |
| Methods inherited from interface Position |
|---|
getDirectPosition |
| Method Detail |
|---|
@UML(identifier="dimension",
obligation=MANDATORY,
specification=ISO_19107)
int getDimension()
DirectPosition is not homogeneous,
dimension is equal to the length of the coordinate array.
If the DirectPosition is in
homogeneous format,
this is one less than the length of the array.
getDimension in interface DirectPosition
@Draft
@UML(identifier="weight",
obligation=MANDATORY,
specification=ISO_19107)
double getWeight()
void setWeight(double weight)
weight - The new weight value.
@Draft
@UML(identifier="coordinateSystem",
obligation=MANDATORY,
specification=ISO_19107)
CoordinateSystem getCoordinateSystem()
null if this particular DirectPosition is included in a larger
object with such a reference to a coordinate system. In this case, the coordinate system
is implicitly assumed to take on the value of the containing object's coordinate system.
And the first in the sequence of coordinate systems must be the spatial CRS from 19111.
null.DirectPosition.getCoordinateReferenceSystem()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||