Package com.luciad.reference
Class TLcdTopocentricReference
java.lang.Object
com.luciad.reference.ALcdGeoReference
com.luciad.reference.TLcdTopocentricReference
- All Implemented Interfaces:
ILcdExtendedModelReference
,ILcdModelReference
,ILcdGeoReference
,ILcdTopocentricReference
,ILcdCloneable
,ILcdXYZWorldReference
,Serializable
,Cloneable
public class TLcdTopocentricReference
extends ALcdGeoReference
implements ILcdTopocentricReference, ILcdXYZWorldReference
A TLcdTopocentricReference
is an implementation of an ILcdTopocentricReference
.
A topocentric coordinate system is a right-handed cartesian coordinate system with the following properties:
- Its origin is defined by a lon-lat-height point on the ellipsoid.
- The y-axis is directed northwards and aligned to intersect with the polar rotational axis of the ellipsoid.
- The x-axis if directed eastwards.
- The x-y plane is tangential to the ellipsoid at the origin.
- The z-axis is perpendicular to the ellipsoid at the origin, and points outwards. In other words, the z-axis is perpendicular to the x-y plane.
This reference is also referred as an ENU (East-North-Up) projection.
- See Also:
-
Field Summary
Fields inherited from interface com.luciad.reference.ILcdGeoReference
CARTESIAN, GEODETIC
-
Constructor Summary
ConstructorDescriptionDefault constructor withnull
ILcdGeodeticDatum
andnull
ILcdPoint
.TLcdTopocentricReference
(ILcdGeodeticDatum aGeodeticDatum, ILcdPoint aOrigin) Constructor with anILcdGeodeticDatum
and anILcd3DEditablePoint
as origin. -
Method Summary
Modifier and TypeMethodDescriptionclone()
MakesObject.clone()
public.boolean
int
Returns the type of coordinates used with thisILcdGeoReference
:CARTESIAN
orGEODETIC
.Returns the 3D origin of thisILcdTopocentricReference
.int
hashCode()
void
loadProperties
(String aPrefix, Properties aProperties) This method will, givenaPrefix
, analyze theProperties
objectaProperties
to set the properties of thisTLcdTopocentricReference
.Creates a model point that is compatible with this model reference.void
writePropertiesSFCT
(String aPrefix, Properties aPropertiesSFCT) Stores the properties that define this model reference into the specifiedProperties
object as a side effect.Methods inherited from class com.luciad.reference.ALcdGeoReference
getGeodeticDatum, getModelReferenceMetadata, getName, setGeodeticDatum, setModelReferenceMetadata, setName
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.reference.ILcdGeoReference
getGeodeticDatum
-
Constructor Details
-
TLcdTopocentricReference
public TLcdTopocentricReference()Default constructor withnull
ILcdGeodeticDatum
andnull
ILcdPoint
. -
TLcdTopocentricReference
Constructor with anILcdGeodeticDatum
and anILcd3DEditablePoint
as origin.- Parameters:
aGeodeticDatum
- the geodetic datum of this reference.aOrigin
- a 3D point (lonLatHeight) w.r.t. the geodetic datum that is the origin of the topocentric reference.
-
-
Method Details
-
getOrigin
Description copied from interface:ILcdTopocentricReference
Returns the 3D origin of thisILcdTopocentricReference
.- Specified by:
getOrigin
in interfaceILcdTopocentricReference
- Returns:
- the 3D origin of this
ILcdTopocentricReference
. - See Also:
-
getCoordinateType
public int getCoordinateType()Description copied from interface:ILcdGeoReference
Returns the type of coordinates used with thisILcdGeoReference
:CARTESIAN
orGEODETIC
.- Specified by:
getCoordinateType
in interfaceILcdGeoReference
- Returns:
- the type of coordinates used with this
ILcdGeoReference
:CARTESIAN
orGEODETIC
.
-
makeModelPoint
Description copied from interface:ILcdModelReference
Creates a model point that is compatible with this model reference. It is unspecified how (which coordinates) the point is initialized. Users should initialize the point correctly before inserting it into a model.- Specified by:
makeModelPoint
in interfaceILcdModelReference
- Returns:
- a point that is compatible with this model reference.
-
loadProperties
This method will, givenaPrefix
, analyze theProperties
objectaProperties
to set the properties of thisTLcdTopocentricReference
. The values of following keys are retrieved for setting the property origin:- <aPrefix>TLcdTopocentricReference.origin.lon
- <aPrefix>TLcdTopocentricReference.origin.lat
- <aPrefix>TLcdTopocentricReference.origin.height
- <aPrefix>TLcdTopocentricReference.<TLcdModelReferenceMetadata>
aProperties
should contain entries which will be analyzed by theTLcdGeodeticDatumFactory
. The keys of those entries should begin with '<aPrefix>TLcdGridReference.geodeticDatum.'. The decoding of the model meta-data is delegated toTLcdModelReferenceMetadata
class.- Specified by:
loadProperties
in interfaceILcdModelReference
- Parameters:
aPrefix
- a common prefix for all property names that are read.aProperties
- the properties to be parsed.- Throws:
IllegalArgumentException
- if the model reference cannot be constructed from the properties.- See Also:
-
writePropertiesSFCT
public void writePropertiesSFCT(String aPrefix, Properties aPropertiesSFCT) throws IllegalArgumentException Description copied from interface:ILcdModelReference
Stores the properties that define this model reference into the specifiedProperties
object as a side effect. Each particular implementation of this interface can define which properties it stores.- Specified by:
writePropertiesSFCT
in interfaceILcdModelReference
- Parameters:
aPrefix
- a common prefix for all property names written.aPropertiesSFCT
- the properties that will contain the serialized properties for this model reference, as a side effect.- Throws:
IllegalArgumentException
- if the model reference cannot be serialized into properties.- See Also:
-
hashCode
public int hashCode()- Overrides:
hashCode
in classALcdGeoReference
-
clone
Description copied from interface:ILcdCloneable
Makes
When for example extending fromObject.clone()
public.java.lang.Object
, it can be implemented like this:public Object clone() { try { return super.clone(); } catch ( CloneNotSupportedException e ) { // Cannot happen: extends from Object and implements Cloneable (see also Object.clone) throw new RuntimeException( e ); } }
- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classALcdGeoReference
- See Also:
-
equals
- Overrides:
equals
in classALcdGeoReference
-