public class MeteosatSG extends MapProjection
Conversion of image coordinates (pixel column and row) into the corresponding geographical coordinates (Latitude and Longitude) of all MSG Satellites (Meteosat-8, Meteosat-9 and Meteosat-10) Level 1.5 VIS/IR data.
Code based on reference software provided by EUMETSAT "MSG_navigation" v1.02 (see link below).
Please be aware, that the program assumes the MSG image is ordered in the operational scanning direction which means from south to north and from east to west. With that the VIS/IR channels contains of 3712 x 3712 pixels, start to count on the most southern line and the most eastern column with pixel number 1,1.
Conversion from native MSG files (delivered by EumetCAST) to geotiff format could be done with Meteosatlib package.
To extract the European area using "products" utility: examples/products -a
1572,1024,90,560 -t 201505080600 --products=Vis006
Coordinates above are calculated from the
upper left corner. Therefore, it is necessary to change it according to the EUMETCAST
specification. gdal_translate -a_ullr 2140.5 3622.5 1116.5 3062.5 file_in.tif
file_out.tif
Additional examples could be find in the "MeteosatSG.txt" file in tests directory.
References: [1] LRIT/HRIT Global Specification (CGMS 03, Issue 2.6, 12.08.1999) for the parameters used in the program. [2] MSG Ground Segment LRIT/HRIT Mission Specific Implementation, EUMETSAT Document, (EUM/MSG/SPE/057, Issue 6, 21. June 2006). [3] MSG Level 1.5 Image Data Format Description (EUM/MSG/ICD/105, Issue v6, 23. February 2010).
Modifier and Type | Class and Description |
---|---|
static class |
MeteosatSG.Provider
The math transform
provider for an Meteosat Second Generation image projection.
|
MapProjection.AbstractProvider
centralMeridian, en0, en1, en2, en3, en4, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, invertible, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor, SKIP_SANITY_CHECKS
SINGLE_LINE
Modifier | Constructor and Description |
---|---|
protected |
MeteosatSG(ParameterValueGroup parameters)
Constructs a Meteosat Second Generation imagery projection.
|
Modifier and Type | Method and Description |
---|---|
ParameterDescriptorGroup |
getParameterDescriptors()
Returns the parameter descriptors for this map projection.
|
protected double |
getToleranceForAssertions(double longitude,
double latitude)
Maximal error (in metres) tolerated for assertions, if enabled.
|
protected Point2D |
inverseTransformNormalized(double x,
double y,
Point2D ptDst)
Transforms the specified (column,row) coordinates (units in
"normalized" pixels) and stores the result in
ptDst . |
protected Point2D |
transformNormalized(double x,
double y,
Point2D ptDst)
Transforms the specified (λ,φ) coordinates (units in
radians) and stores the result in
ptDst (pixel coordinates). |
checkReciprocal, equals, getParameterValues, getSourceDimensions, getTargetDimensions, hashCode, inv_mlfn, inverse, mlfn, orthodromicDistance, resetWarnings, transform, transform, transform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, normalizeAngle, rollLongitude, transform, transform, transform
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
createTransformedShape, derivative
derivative, isIdentity, toWKT, transform, transform, transform
protected MeteosatSG(ParameterValueGroup parameters) throws ParameterNotFoundException
parameters
- The group of parameter values.ParameterNotFoundException
- if a required parameter was not found.protected Point2D transformNormalized(double x, double y, Point2D ptDst) throws ProjectionException
ptDst
(pixel coordinates).transformNormalized
in class MapProjection
lon
- The longitude of the coordinate, in radians.lat
- The latitude of the coordinate, in radians.lambda
, phi
) and storing the
result in ptDst
.ProjectionException
- if the point can't be transformed.protected Point2D inverseTransformNormalized(double x, double y, Point2D ptDst) throws ProjectionException
ptDst
.inverseTransformNormalized
in class MapProjection
x
- The easting of the coordinate, linear distance on a unit sphere or ellipse.y
- The northing of the coordinate, linear distance on a unit sphere or ellipse.ptDst
- the specified coordinate point that stores the result of transforming ptSrc
, or null
. Ordinates will be in radians.x
, y
and storing the result
in ptDst
.ProjectionException
- if the point can't be transformed.protected double getToleranceForAssertions(double longitude, double latitude)
MapProjection
ProjectionException
will be thrown. Subclasses should override this method if they
need to relax the tolerance level.getToleranceForAssertions
in class MapProjection
longitude
- The longitude in decimal degrees.latitude
- The latitude in decimal degrees.public ParameterDescriptorGroup getParameterDescriptors()
MapProjection.getParameterValues()
, as well as arguments checking.getParameterDescriptors
in class MapProjection
null
.OperationMethod.getParameters()
Copyright © 1996–2019 Geotools. All rights reserved.