public abstract class AbstractProjection extends Object implements IProjection
| Constructor and Description |
|---|
AbstractProjection(EllipsoidPoint pivotIn)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
List<EllipsoidPoint> |
applyInverseTo(double[] x,
double[] y)
Inversion transformation of arrays of x and y projected coordinates.
|
List<EllipsoidPoint> |
applyInverseTo(List<Vector2D> list)
Inverse projects a list of Vector2D (projected points) with a given projection.
|
List<Vector2D> |
applyTo(List<EllipsoidPoint> list)
Project a list of EllipsoidPoints with a given projection.
|
List<Vector2D> |
applyToAndDiscretize(EllipsoidPoint from,
EllipsoidPoint to,
double maxLength,
boolean lastIncluded)
Project two points, then discretize 2D the line.
|
static List<Vector2D> |
discretize(Vector2D p1,
Vector2D p2,
double maxLenght,
boolean p2Included)
Generate additional vertices between two points.
|
List<Vector2D> |
discretizeAndApplyTo(List<EllipsoidPoint> list,
EnumLineProperty ltype,
double maxLength)
Discretizes a polygon conforming to a line property directive, and a maximum length of discretization.
|
List<Vector2D> |
discretizeCircleAndApplyTo(List<EllipsoidPoint> list,
double maxLength)
Discretize following great circle lines between vertices of polygon and project obtained points.
|
List<Vector2D> |
discretizeRhumbAndApplyTo(List<EllipsoidPoint> list,
double maxLength)
Project a rhumb line polygon, with the given projection.
|
abstract double |
getDistortionFactor(double latitude)
Getter for the scale factor at a specific latitude.
|
EllipsoidPoint |
getPivotPoint()
Getter for the projection pivot point.
|
EllipsoidBodyShape |
getReference()
Getter for the system of reference used.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitapplyInverseTo, applyInverseTo, applyTo, applyTo, canMap, getLineProperty, getMaximumEastingValue, getMaximumLatitude, isConformal, isEquivalentpublic AbstractProjection(EllipsoidPoint pivotIn)
pivotIn - pivot point used for projection.public final EllipsoidBodyShape getReference()
getReference in interface IProjectionpublic final EllipsoidPoint getPivotPoint()
public abstract double getDistortionFactor(double latitude)
latitude - latitudepublic static 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.p2Included - p2 is included only if truepublic final List<Vector2D> discretizeAndApplyTo(List<EllipsoidPoint> list, EnumLineProperty ltype, double maxLength) throws PatriusException
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.PatriusException - if complex polygon discretization failspublic final List<Vector2D> discretizeCircleAndApplyTo(List<EllipsoidPoint> list, double maxLength) throws PatriusException
list - ellipsoid 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.PatriusException - if one projection could not be computedEnumLineProperty.GREAT_CIRCLE,
EnumLineProperty.STRAIGHTpublic final List<Vector2D> discretizeRhumbAndApplyTo(List<EllipsoidPoint> list, double maxLength) throws PatriusException
If the projection type of line is rhumb, points will be directly projected and then discretized.
Else the discretization will be done by using ProjectionEllipsoidUtils methods to compute points along a
loxodrom, and projection will be done afterwards.
list - list of ellipsoid 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.PatriusException - if complex polygon discretization failspublic final List<Vector2D> applyToAndDiscretize(EllipsoidPoint from, EllipsoidPoint to, double maxLength, boolean lastIncluded) throws PatriusException
from - the initial ellipsoid pointto - the final ellipsoid pointmaxLength - maximal length for a leg, after discretization. If maxlength <=0, no discretization is done.lastIncluded - the last point (to) is included if truePatriusException - if projection of start or end point could not be computedpublic final List<Vector2D> applyTo(List<EllipsoidPoint> list) throws PatriusException
list - list of ellipsoid pointsPatriusException - if one projection could not be computedpublic final List<EllipsoidPoint> applyInverseTo(List<Vector2D> list) throws PatriusException
list - list of projected pointsPatriusException - if one inverse projection could not be computedpublic final List<EllipsoidPoint> applyInverseTo(double[] x, double[] y) throws PatriusException
x - x coordinates of projected pointsy - y coordinates of projected pointsPatriusException - if arrays have not the same lengthCopyright © 2025 CNES. All rights reserved.