public class Orthorectifier extends Object implements GeoCoding
Orthorectifier
is a GeoCoding
which performs an orthorectification algorithm on a base GeoCoding
.
IMPORTANT NOTE: This class is not thread save. In order to use it safely, make sure to create a new instance of this class for each orthorectifying thread.
Modifier and Type | Field and Description |
---|---|
static float |
PIXEL_EPS |
static float |
PIXEL_EPS_SQR |
Constructor and Description |
---|
Orthorectifier(int sceneRasterWidth,
int sceneRasterHeight,
Pointing pointing,
ElevationModel elevationModel,
int maxIterationCount)
Constructs a new
Orthorectifier . |
Modifier and Type | Method and Description |
---|---|
boolean |
canGetGeoPos()
Checks whether or not this geo-coding can determine the geodetic position from a pixel position.
|
boolean |
canGetPixelPos()
Checks whether or not this geo-coding can determine the pixel position from a geodetic position.
|
void |
dispose()
Releases all of the resources used by this object instance and all of its owned children.
|
boolean |
equals(Object o) |
org.esa.snap.core.dataop.maptransf.Datum |
getDatum()
Gets the datum, the reference point or surface against which
GeoPos measurements are made. |
protected double |
getElevation(GeoPos geoPos,
PixelPos pixelPos) |
ElevationModel |
getElevationModel() |
GeoCoding |
getGeoCoding() |
org.opengis.referencing.crs.CoordinateReferenceSystem |
getGeoCRS() |
GeoPos |
getGeoPos(PixelPos pixelPos,
GeoPos geoPos)
Gets the true (corrected) geographical coordinate for a given source pixel coordinate.
|
org.opengis.referencing.crs.CoordinateReferenceSystem |
getImageCRS() |
org.opengis.referencing.operation.MathTransform |
getImageToMapTransform() |
org.opengis.referencing.crs.CoordinateReferenceSystem |
getMapCRS() |
int |
getMaxIterationCount() |
PixelPos |
getPixelPos(GeoPos geoPos,
PixelPos pixelPos)
Returns the source pixel coordinate for a true (corrected) geographical coordinate.
|
Pointing |
getPointing() |
int |
hashCode() |
boolean |
isCrossingMeridianAt180()
Checks whether or not the longitudes of this geo-coding cross the +/- 180 degree meridian.
|
protected boolean |
isPixelPosValid(PixelPos pixelPos) |
public static final float PIXEL_EPS
public static final float PIXEL_EPS_SQR
public Orthorectifier(int sceneRasterWidth, int sceneRasterHeight, Pointing pointing, ElevationModel elevationModel, int maxIterationCount)
Orthorectifier
.sceneRasterWidth
- the scene raster width of the product which uses this orthorectifier as geo coding. Must
be greater than zero.sceneRasterHeight
- the scene raster width of the product which uses this orthorectifier as geo coding. Must
be greater than zero.pointing
- the pointing, provides satellites viewing direction and base geo-coding. Must not be
null
.elevationModel
- the provider for the elevation at a given lat/lonmaxIterationCount
- the maximum number of iterations, 10 is good choice. Must be greater than one.public org.esa.snap.core.dataop.maptransf.Datum getDatum()
GeoPos
measurements are made.public org.opengis.referencing.crs.CoordinateReferenceSystem getImageCRS()
getImageCRS
in interface GeoCoding
public org.opengis.referencing.crs.CoordinateReferenceSystem getMapCRS()
public org.opengis.referencing.crs.CoordinateReferenceSystem getGeoCRS()
public org.opengis.referencing.operation.MathTransform getImageToMapTransform()
getImageToMapTransform
in interface GeoCoding
public Pointing getPointing()
public GeoCoding getGeoCoding()
public ElevationModel getElevationModel()
public int getMaxIterationCount()
public PixelPos getPixelPos(GeoPos geoPos, PixelPos pixelPos)
Implements the prediction/correction algorithm from the MERIS Geometry Handbook, VT-P194-DOC-001-E, iss 1, rev 4, page 29, figure 23.
Scope of the prediction/correction algorithm is to retrieve the pixel x,y that matches the true lat,lon by the direct location model f(x,y) = lat,lon.
getPixelPos
in interface GeoCoding
geoPos
- the true (corrected) geographical coordinate as lat/lon.pixelPos
- an instance of Point
to be used as return value. If this parameter is
null
, the method creates a new instance which it then returns.public GeoPos getGeoPos(PixelPos pixelPos, GeoPos geoPos)
getGeoPos
in interface GeoCoding
pixelPos
- the pixel coordinate given as x,ygeoPos
- an instance of GeoPos
to be used as return value. If this parameter is
null
, the method creates a new instance which it then returns.public boolean canGetGeoPos()
canGetGeoPos
in interface GeoCoding
true
, if sopublic boolean canGetPixelPos()
canGetPixelPos
in interface GeoCoding
true
, if sopublic boolean isCrossingMeridianAt180()
isCrossingMeridianAt180
in interface GeoCoding
true
, if sopublic void dispose()
This method should be called only if it is for sure that this object instance will never be used again. The
results of referencing an instance of this class after a call to dispose()
are undefined.
protected final boolean isPixelPosValid(PixelPos pixelPos)
Copyright © 2014–2017 European Space Agency (ESA). All rights reserved.