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
ConstructorsConstructorDescriptionDefault constructor withnullILcdGeodeticDatumandnullILcdPoint.TLcdTopocentricReference(ILcdGeodeticDatum aGeodeticDatum, ILcdPoint aOrigin) Constructor with anILcdGeodeticDatumand anILcd3DEditablePointas origin. -
Method Summary
Modifier and TypeMethodDescriptionclone()MakesObject.clone()public.booleanintReturns the type of coordinates used with thisILcdGeoReference:CARTESIANorGEODETIC.Returns the 3D origin of thisILcdTopocentricReference.inthashCode()voidloadProperties(String aPrefix, Properties aProperties) This method will, givenaPrefix, analyze thePropertiesobjectaPropertiesto set the properties of thisTLcdTopocentricReference.Creates a model point that is compatible with this model reference.voidwritePropertiesSFCT(String aPrefix, Properties aPropertiesSFCT) Stores the properties that define this model reference into the specifiedPropertiesobject as a side effect.Methods inherited from class com.luciad.reference.ALcdGeoReference
getGeodeticDatum, getModelReferenceMetadata, getName, setGeodeticDatum, setModelReferenceMetadata, setNameMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.luciad.reference.ILcdGeoReference
getGeodeticDatum
-
Constructor Details
-
TLcdTopocentricReference
public TLcdTopocentricReference()Default constructor withnullILcdGeodeticDatumandnullILcdPoint. -
TLcdTopocentricReference
Constructor with anILcdGeodeticDatumand anILcd3DEditablePointas 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:ILcdTopocentricReferenceReturns the 3D origin of thisILcdTopocentricReference.- Specified by:
getOriginin interfaceILcdTopocentricReference- Returns:
- the 3D origin of this
ILcdTopocentricReference. - See Also:
-
getCoordinateType
public int getCoordinateType()Description copied from interface:ILcdGeoReferenceReturns the type of coordinates used with thisILcdGeoReference:CARTESIANorGEODETIC.- Specified by:
getCoordinateTypein interfaceILcdGeoReference- Returns:
- the type of coordinates used with this
ILcdGeoReference:CARTESIANorGEODETIC.
-
makeModelPoint
Description copied from interface:ILcdModelReferenceCreates 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:
makeModelPointin interfaceILcdModelReference- Returns:
- a point that is compatible with this model reference.
-
loadProperties
This method will, givenaPrefix, analyze thePropertiesobjectaPropertiesto 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>
aPropertiesshould 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 toTLcdModelReferenceMetadataclass.- Specified by:
loadPropertiesin 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:ILcdModelReferenceStores the properties that define this model reference into the specifiedPropertiesobject as a side effect. Each particular implementation of this interface can define which properties it stores.- Specified by:
writePropertiesSFCTin 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:
hashCodein classALcdGeoReference
-
clone
Description copied from interface:ILcdCloneableMakes
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:
clonein interfaceILcdCloneable- Overrides:
clonein classALcdGeoReference- See Also:
-
equals
- Overrides:
equalsin classALcdGeoReference
-