|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.bodies.ExtendedOneAxisEllipsoid fr.cnes.sirius.patrius.projections.ProjectionEllipsoid
public class ProjectionEllipsoid
This class extends the ExtendedOneAxisEllipsoid
class and provides utility methods needed for projections.
ExtendedOneAxisEllipsoid
,
Serialized FormField Summary | |
---|---|
static double |
GEODETIC_PRECISION
Local precision for geodetic problem computation (in meters). |
Constructor Summary | |
---|---|
ProjectionEllipsoid(double ae,
double f,
Frame bodyFrame,
String name)
Constructor for the body ellipsoid. |
Method Summary | |
---|---|
double |
computeBearing(GeodeticPoint gv1,
GeodeticPoint gv2)
Compute the bearing (azimuth) between two geodetic Points. |
double |
computeInverseMeridionalDistance(double distance)
Compute the geodetic latitude, from a distance from the equator. |
double |
computeInverseRectifyingLatitude(double rectifyingLat)
compute geodetic latitude at a given rectifying latitude. |
double |
computeLoxodromicDistance(GeodeticPoint p1,
GeodeticPoint p2)
Loxodromic distance between P1 and P2.This is the distance of constant bearing (or along a line in Mercator). |
double |
computeMercatorLatitude(double geodeticLat)
Compute crescent latitude (Le) at a given geodetic latitude. |
double |
computeMeridionalDistance(double geodeticLat)
Compute the distance from a given geodetic latitude to the equator, along a meridian. |
double |
computeOrthodromicDistance(double lat1,
double lon1,
double lat2,
double lon2)
Compute the orthodromic distance. |
double |
computeOrthodromicDistance(GeodeticPoint p1,
GeodeticPoint p2)
Compute the orthodromic distance between two points. |
GeodeticPoint |
computePointAlongLoxodrome(GeodeticPoint p1,
double distance,
double azimuth)
Compute the point coordinates from an origin point, an azimuth and a distance along the rhumb line (Loxodrome). |
GeodeticPoint |
computePointAlongOrthodrome(GeodeticPoint p1,
double distance,
double azimuthDirection)
Compute a geodetic point along orthodrome, from a point p1 , at a distance d ,
in a direction defined from an azimuth. |
double |
computeRadiusEastWest(double geodeticLat)
Compute radius of curvature section East/West (also called M or Re). |
double |
computeSphericalAzimuth(GeodeticPoint p1,
GeodeticPoint p2)
Compute the spherical azimuth (clock wise) between two points. |
List<GeodeticPoint> |
discretizeGreatCircle(GeodeticPoint from,
GeodeticPoint to,
double maxLength)
Discretize a great circle into N segments, between two points. |
List<GeodeticPoint> |
discretizeRhumbLine(GeodeticPoint from,
GeodeticPoint to,
double maxLength)
Discretize a rhumb line into N segments, between two points. |
double |
getEccentricity()
Get the eccentricity. |
double[] |
getSeries()
Getter for series. |
Methods inherited from class org.orekit.bodies.ExtendedOneAxisEllipsoid |
---|
distanceTo, getBodyFrame, getConjugateRadius, getEquatorialRadius, getFlattening, getIntersectionPoint, getIntersectionPoints, getLocalRadius, getName, getNormal, getPVCoordinates, getTransverseRadius, transform, transform |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final double GEODETIC_PRECISION
Constructor Detail |
---|
public ProjectionEllipsoid(double ae, double f, Frame bodyFrame, String name)
ae
- equatorial radiusf
- the flattening (f = (a-b)/a)bodyFrame
- body frame related to body shapename
- the name of this shapeMethod Detail |
---|
public final double computeBearing(GeodeticPoint gv1, GeodeticPoint gv2) throws OrekitException
gv1
- geodetic point 1gv2
- geodetic point 2
OrekitException
- if points are too close from each otherpublic double computeSphericalAzimuth(GeodeticPoint p1, GeodeticPoint p2)
p1
- first pointp2
- second point
public double computeMercatorLatitude(double geodeticLat)
geodeticLat
- geodetic latitude
public double computeRadiusEastWest(double geodeticLat)
geodeticLat
- geodetic latitude must between : - PI/2 and PI/2
public double computeLoxodromicDistance(GeodeticPoint p1, GeodeticPoint p2) throws OrekitException
p1
- Point 1p2
- Point 2
OrekitException
- if latitude of one point is not between -/+ 89.999 degpublic final double computeMeridionalDistance(double geodeticLat)
geodeticLat
- geodetic latitude must between : - PI/2 and PI/2
public final double computeInverseMeridionalDistance(double distance)
distance
- distance from the equator
public final GeodeticPoint computePointAlongLoxodrome(GeodeticPoint p1, double distance, double azimuth) throws OrekitException
p1
- initial pointdistance
- distance along the rhumb lineazimuth
- Convention used : azimuth is angle from the north direction
to the current direction in CLOCKWISE sense.
OrekitException
- if computed latitudes are out of rangepublic double computeInverseRectifyingLatitude(double rectifyingLat)
rectifyingLat
- rectifying latitude
public final double computeOrthodromicDistance(GeodeticPoint p1, GeodeticPoint p2)
p1
- first pointp2
- second point
public final double computeOrthodromicDistance(double lat1, double lon1, double lat2, double lon2)
lat1
- latitude point 1.lon1
- longitude point 1.lat2
- latitude point 2.lon2
- longitude point 2.
public final GeodeticPoint computePointAlongOrthodrome(GeodeticPoint p1, double distance, double azimuthDirection)
p1
, at a distance d
,
in a direction defined from an azimuth. This is the direct geodetic problem.
This code is issue from Vincenty's works.
p1
- Origin point.distance
- Distance to compute resulting point.azimuthDirection
- azimuth direction, convention used : azimuth is angle from the north direction
to the current direction in CLOCKWISE sense.
public final List<GeodeticPoint> discretizeRhumbLine(GeodeticPoint from, GeodeticPoint to, double maxLength) throws OrekitException
from
- first geodetic pointto
- ending geodetic pointmaxLength
- This distance is used when a discretization occurs : i.e :
when the line property is not coherent with
the projection ( EnumLineProperty
). This parameter represent a distance expressed in
meters. This will be the maximal distance between two points of the projected polygon. If you set the
parameter to a value <=0 no discretization will be done.OrekitException
- if points are too close from each otherpublic final List<GeodeticPoint> discretizeGreatCircle(GeodeticPoint from, GeodeticPoint to, double maxLength)
from
- first geodetic pointto
- ending geodetic pointmaxLength
- This distance is used when a discretization occurs : i.e :
when the line property is not coherent with
the projection ( EnumLineProperty
). This parameter represent a distance expressed in
meters. This will be the maximal distance between two points of the projected polygon. If you set the
parameter to a value <=0, no discretization will be done.public double getEccentricity()
public double[] getSeries()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |