|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object fr.cnes.sirius.patrius.projections.AbstractProjection
public abstract class AbstractProjection
Abstract class for projections. This class is the generic class to handle implemented projections methods. This class was retrieved from the LibKernel and every calculation formula are extracted from the "Map Projection, A working manual" written by John P. Snyder.
Constructor Summary | |
---|---|
AbstractProjection(GeodeticPoint pivotIn,
ProjectionEllipsoid shape)
Constructor. |
Method Summary | |
---|---|
List<GeodeticPoint> |
applyInverseTo(double[] x,
double[] y)
Inversion transformation of arrays of x and y projected coordinates. |
List<GeodeticPoint> |
applyInverseTo(List<Vector2D> list)
Inverse Projects a list of Vector2D (projected points) with a given projection. |
List<Vector2D> |
applyTo(List<GeodeticPoint> list)
Project a list of GeodeticPoints with a given projection. |
List<Vector2D> |
applyToAndDiscretize(GeodeticPoint from,
GeodeticPoint to,
double maxLength,
boolean lastIncluded)
Project two points, then discretize 2D the line. |
List<Vector2D> |
discretize(Vector2D p1,
Vector2D p2,
double maxLenght,
boolean p2Included)
Generate additional vertices between two points. |
List<Vector2D> |
discretizeAndApplyTo(List<GeodeticPoint> list,
EnumLineProperty ltype,
double maxLength)
Discretizes a polygon conforming to a line property directive, and a maximum length of discretization. |
List<Vector2D> |
discretizeCircleAndApplyTo(List<GeodeticPoint> list,
double maxLength)
Discretize following great circle lines between vertices of polygon and project obtained points. |
List<Vector2D> |
discretizeRhumbAndApplyTo(List<GeodeticPoint> list,
double maxLength)
Project a rhumb line polygon, with the given projection. |
abstract double |
getDistortionFactor(double latitude)
Returns the scale factor at a specific latitude. |
GeodeticPoint |
getPivotPoint()
Get the projection pivot point. |
ProjectionEllipsoid |
getReference()
Get the system of reference used. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface fr.cnes.sirius.patrius.projections.IProjection |
---|
applyInverseTo, applyInverseTo, applyTo, applyTo, canMap, getLineProperty, getMaximumEastingValue, getMaximumLatitude, isConformal, isEquivalent |
Constructor Detail |
---|
public AbstractProjection(GeodeticPoint pivotIn, ProjectionEllipsoid shape)
pivotIn
- pivot point used for projection.shape
- reference shape used for projection.Method Detail |
---|
public final ProjectionEllipsoid getReference()
getReference
in interface IProjection
public final GeodeticPoint getPivotPoint()
public abstract double getDistortionFactor(double latitude)
latitude
- latitude
public final List<Vector2D> discretize(Vector2D p1, Vector2D p2, double maxLenght, boolean p2Included)
p1
- Projected point 1p2
- Projected point 2maxLenght
- distance consistent with the projection scale.
For a projection, this distance is correct only around pivot pointp2Included
- p2 is included only if true
public final List<Vector2D> discretizeAndApplyTo(List<GeodeticPoint> list, EnumLineProperty ltype, double maxLength) throws OrekitException
list
- of points defining the polygonltype
- line typemaxLength
- 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 complex polygon discretization failspublic final List<Vector2D> discretizeCircleAndApplyTo(List<GeodeticPoint> list, double maxLength) throws OrekitException
list
- geodetic points listmaxLength
- 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
- thrown if one projection could not be computedEnumLineProperty.GREAT_CIRCLE
,
EnumLineProperty.STRAIGHT
public final List<Vector2D> discretizeRhumbAndApplyTo(List<GeodeticPoint> list, double maxLength) throws OrekitException
If the projection type of line is rhumb, points will be directly projected and then discretized.
Else the discretization will be done by using ProjectionEllipsoid
methods to compute points
along a loxodrom, and projection will be done afterwards.
list
- list of geodetic vectorsmaxLength
- 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 dicretization will be done.OrekitException
- thrown if complex polygon discretization failspublic final List<Vector2D> applyToAndDiscretize(GeodeticPoint from, GeodeticPoint to, double maxLength, boolean lastIncluded) throws OrekitException
from
- the initial geodetic pointto
- the final geodetic pointmaxLength
- maximal length for a leg, after discretization. If maxlength <=0, no discretization is done.lastIncluded
- the last point (to) is included if true
OrekitException
- thrown if projection of start or end point could not be computedpublic final List<Vector2D> applyTo(List<GeodeticPoint> list) throws OrekitException
list
- list of geodetic points
OrekitException
- thrown if one projection could not be computedpublic final List<GeodeticPoint> applyInverseTo(List<Vector2D> list) throws OrekitException
list
- list of projected points
OrekitException
- thrown if one inverse projection could not be computedpublic final List<GeodeticPoint> applyInverseTo(double[] x, double[] y) throws OrekitException
x
- x coordinates of projected pointsy
- y coordinates of projected points
OrekitException
- thrown if arrays have not the same length
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |