public class IlvObliqueMercatorProjection extends IlvProjection
This projection applies both to spherical and non-spherical ellipsoids and implements an inverse function.
This projection is also known as Hotine Oblique Mercator
This projection is Conformal.
CONFORMAL, EQUAL_AREA, NONE
Constructor and Description |
---|
IlvObliqueMercatorProjection()
Creates an instance of
IlvObliqueMercatorProjection . |
IlvObliqueMercatorProjection(IlvCoordinate center,
double azimuth)
Creates an instance of
IlvObliqueMercatorProjection . |
IlvObliqueMercatorProjection(IlvCoordinate p1,
IlvCoordinate p2)
Creates an instance of
IlvObliqueMercatorProjection . |
IlvObliqueMercatorProjection(IlvInputStream stream)
Reads the object from an
IlvInputStream . |
IlvObliqueMercatorProjection(IlvObliqueMercatorProjection source)
Creates a new
IlvObliqueMercatorProjection
by copying an existing one. |
Modifier and Type | Method and Description |
---|---|
IlvProjection |
copy()
Copies the projection.
|
protected void |
eForward(IlvCoordinate ll)
Implements the projection for an ellipsoid.
|
protected void |
eInverse(IlvCoordinate xy)
Implements the inverse projection for an ellipsoid.
|
double |
getAzimuth()
Returns the projection azimuth.
|
double |
getAzimuthalMeridian()
Returns the azimuthal meridian.
|
double |
getScaleFactor()
Returns the scale factor applied to the projected data.
|
boolean |
isCoordinateRotation()
Returns
true if the Cartesian coordinates are rotated
by the opposite of the azimuth of this projection. |
boolean |
isUsingAzimuthalDefinition()
Returns true when the projection is in azimutal definition.
|
void |
setCoordinateRotation(boolean rot)
Sets whether the Cartesian coordinates are rotated
by the opposite of the azimuth of this projection.
|
void |
setEllipsoid(IlvEllipsoid ellipsoid)
Sets the ellipsoid used for the projection.
|
void |
setProjectionCenter(IlvCoordinate center,
double azimuth)
Sets the projection origin an azimuth.
|
void |
setProjectionCylinders(IlvCoordinate p1,
IlvCoordinate p2)
Sets the two points defining this projection.
|
void |
setScaleFactor(double k0)
Sets a scale factor applied to the projected data.
|
protected void |
sForward(IlvCoordinate ll)
Implements the projection for a sphere.
|
protected void |
sInverse(IlvCoordinate xy)
Implements the inverse projection for a sphere.
|
String |
toString()
Converts the projection to a string with Evenden's format.
|
void |
write(IlvOutputStream stream)
Writes the object to an
IlvOutputStream . |
addDescription, adjustLongitude, equals, forward, forward, getCentralMeridian, getCentralParallel, getDatum, getEllipsoid, getFalseEasting, getFalseNorthing, GetProjection, getProperty, getUnit, getXYOffset, inverse, inverse, inverse, isEllipsoidEnabled, isGeocentric, isInverseEnabled, isUsingLongitudeReduction, setCentralMeridian, setCentralParallel, setDatum, setFalseEasting, setFalseNorthing, setGeocentric, setLLCenter, setUnit, setUsingLongitudeReduction, setXYOffset
public IlvObliqueMercatorProjection(IlvCoordinate p1, IlvCoordinate p2) throws IlvBadProjectionParameter
IlvObliqueMercatorProjection
.
p1
- The first point.p2
- The second point.IlvBadProjectionParameter
- If the points lead to a bad
projection.public IlvObliqueMercatorProjection(IlvCoordinate center, double azimuth) throws IlvBadProjectionParameter
IlvObliqueMercatorProjection
.
center
- The projection center.azimuth
- The azimuth, expressed in radians.IlvBadProjectionParameter
- If the parameters lead to a bad
projection.public IlvObliqueMercatorProjection()
IlvObliqueMercatorProjection
.
public IlvObliqueMercatorProjection(IlvInputStream stream) throws IlvReadFileException
IlvInputStream
.stream
- The input stream.IlvReadFileException
- If the format is not correct.public IlvObliqueMercatorProjection(IlvObliqueMercatorProjection source)
IlvObliqueMercatorProjection
by copying an existing one.source
- The projection that is copied.public void write(IlvOutputStream stream) throws IOException
IlvOutputStream
.write
in interface IlvPersistentObject
write
in class IlvProjection
stream
- The output stream.IOException
- thrown when an exception occurs during
the write operation for this object.public IlvProjection copy()
copy
in class IlvProjection
public void setProjectionCylinders(IlvCoordinate p1, IlvCoordinate p2) throws IlvBadProjectionParameter
p1
- The first point.p2
- The second point.IlvBadProjectionParameter
- If the points lead to a bad
projection.public void setProjectionCenter(IlvCoordinate center, double azimuth) throws IlvBadProjectionParameter
center
- The projection center.azimuth
- The azimuth, expressed in radians.IlvBadProjectionParameter
- If the parameters lead to a bad
projection.public boolean isCoordinateRotation()
true
if the Cartesian coordinates are rotated
by the opposite of the azimuth of this projection.public void setCoordinateRotation(boolean rot)
public void setScaleFactor(double k0)
k0
- The scale factor.public double getScaleFactor()
protected void eForward(IlvCoordinate ll) throws IlvToleranceConditionException
eForward
in class IlvProjection
ll
- The longitude/latitude coordinates in radians
(x = longitude, y = latitude).IlvToleranceConditionException
- If the values are not within the
tolerated limits.protected void eInverse(IlvCoordinate xy) throws IlvToleranceConditionException
eInverse
in class IlvProjection
xy
- The Cartesian coordinates.IlvToleranceConditionException
- If the values are not within the
tolerated limits.IlvProjection.inverse(ilog.views.IlvPoint)
,
IlvProjection.isEllipsoidEnabled()
,
IlvProjection.isInverseEnabled()
protected void sForward(IlvCoordinate ll) throws IlvToleranceConditionException
sForward
in class IlvProjection
ll
- The longitude/latitude coordinates in radians
(x = longitude, y = latitude).IlvToleranceConditionException
- If the values are not within the
tolerated limits.protected void sInverse(IlvCoordinate xy) throws IlvToleranceConditionException
sInverse
in class IlvProjection
xy
- The Cartesian coordinates.IlvToleranceConditionException
- If the values are not within the
tolerated limits.IlvProjection.inverse(ilog.views.IlvPoint)
,
IlvProjection.isInverseEnabled()
public void setEllipsoid(IlvEllipsoid ellipsoid)
setEllipsoid
in class IlvProjection
ellipsoid
- The ellipsoid.IlvEllipsoid
public String toString()
public double getAzimuth()
setProjectionCenter(IlvCoordinate, double)
isUsingAzimuthalDefinition()
public double getAzimuthalMeridian()
IlvProjection.getCentralParallel()
setProjectionCenter(IlvCoordinate, double)
isUsingAzimuthalDefinition()
public boolean isUsingAzimuthalDefinition()
setProjectionCenter(IlvCoordinate, double)
.© Copyright Rogue Wave Software, Inc. 1997, 2018. All Rights Reserved.