libpcidsk
|
Interface to PCIDSK georeferencing segment. More...
#include <pcidsk_georef.h>
Public Member Functions | |
virtual void | GetTransform (double &a1, double &a2, double &xrot, double &b1, double &yrot, double &b3)=0 |
Get georeferencing transformation. | |
virtual std::string | GetGeosys ()=0 |
Fetch georeferencing string. | |
virtual std::vector< double > | GetParameters ()=0 |
Fetch projection parameters. | |
virtual void | WriteSimple (std::string geosys, double a1, double a2, double xrot, double b1, double yrot, double b3)=0 |
Write simple georeferencing information. | |
virtual void | WriteParameters (std::vector< double > ¶meters)=0 |
Write complex projection parameters. |
Interface to PCIDSK georeferencing segment.
virtual std::string PCIDSK::PCIDSKGeoref::GetGeosys | ( | ) | [pure virtual] |
Fetch georeferencing string.
Returns the short, 16 character, georeferncing string. This string is sufficient to document the coordinate system of simple coordinate systems (like "UTM 17 S D000"), while other coordinate systems are only fully defined with additional projection parameters.
virtual std::vector<double> PCIDSK::PCIDSKGeoref::GetParameters | ( | ) | [pure virtual] |
Fetch projection parameters.
Fetches the list of detailed projection parameters used for projection methods not fully described by the Geosys string. The projection parameters are as shown below, though in the future more items might be added to the array. The first 15 are the classic USGS GCTP parameters.
Review the PCIDSK Database Reference Manual to understand which parameters apply to which projection methods.
virtual void PCIDSK::PCIDSKGeoref::GetTransform | ( | double & | a1, |
double & | a2, | ||
double & | xrot, | ||
double & | b1, | ||
double & | yrot, | ||
double & | b3 | ||
) | [pure virtual] |
Get georeferencing transformation.
Returns the affine georeferencing transform coefficients for this image. Used to map from pixel/line coordinates to georeferenced coordinates using the transformation:
Xgeo = a1 + a2 * Xpix + xrot * Ypix
Ygeo = b1 + yrot * Xpix + b2 * Ypix
where Xpix and Ypix are pixel line locations with (0,0) being the top left corner of the top left pixel, and (0.5,0.5) being the center of the top left pixel. For an ungeoreferenced image the values will be (0.0,1.0,0.0,0.0,0.0,1.0).
a1 | returns easting of top left corner. |
a2 | returns easting pixel size. |
xrot | returns rotational coefficient, normally zero. |
b1 | returns northing of the top left corner. |
yrot | returns rotational coefficient, normally zero. |
b3 | returns northing pixel size, normally negative indicating north-up. |
virtual void PCIDSK::PCIDSKGeoref::WriteParameters | ( | std::vector< double > & | parameters | ) | [pure virtual] |
Write complex projection parameters.
See GetParameters() for the description of the parameters list.
parameters | A list of at least 17 projection parameters. |
virtual void PCIDSK::PCIDSKGeoref::WriteSimple | ( | std::string | geosys, |
double | a1, | ||
double | a2, | ||
double | xrot, | ||
double | b1, | ||
double | yrot, | ||
double | b3 | ||
) | [pure virtual] |
Write simple georeferencing information.
Writes out a georeferencing string and geotransform to the segment.
geosys | 16 character coordinate system, like "UTM 17 S D000". |
a1 | easting of top left corner. |
a2 | easting pixel size. |
xrot | rotational coefficient, normally zero. |
b1 | northing of the top left corner. |
yrot | rotational coefficient, normally zero. |
b3 | northing pixel size, normally negative indicating north-up. |
Referenced by PCIDSK::Create().