libpcidsk

PCIDSK::PCIDSKGeoref Class Reference

Interface to PCIDSK georeferencing segment. More...

#include <pcidsk_georef.h>

List of all members.

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 > &parameters)=0
 Write complex projection parameters.

Detailed Description

Interface to PCIDSK georeferencing segment.


Member Function Documentation

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.

Returns:
the georeferencing string.
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.

  • Parm[0]: diameter of earth - major axis (meters).
  • Parm[1]: diameter of earth - minor axis (meters).
  • Parm[2]: Reference Longitude (degrees)
  • Parm[3]: Reference Latitude (degrees)
  • Parm[4]: Standard Parallel 1 (degrees)
  • Parm[5]: Standard Parallel 2 (degrees)
  • Parm[6]: False Easting (meters?)
  • Parm[7]: False Northing (meters?)
  • Parm[8]: Scale (unitless)
  • Parm[9]: Height (meters?)
  • Parm[10]: Longitude 1 (degrees)
  • Parm[11]: Latitude 1 (degrees)
  • Parm[12]: Longitude 2 (degrees)
  • Parm[13]: Latitude 2 (degrees)
  • Parm[14]: Azimuth (degrees)
  • Parm[15]: Landsat Number
  • Parm[16]: Landsat Path
  • Parm[17]: Unit Code (1=US Foot, 2=Meter, 4=Degree, 5=Intl Foot).

Review the PCIDSK Database Reference Manual to understand which parameters apply to which projection methods.

Returns:
an array of values, at least 18.
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).

Parameters:
a1returns easting of top left corner.
a2returns easting pixel size.
xrotreturns rotational coefficient, normally zero.
b1returns northing of the top left corner.
yrotreturns rotational coefficient, normally zero.
b3returns 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:
parametersA 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.

Parameters:
geosys16 character coordinate system, like "UTM 17 S D000".
a1easting of top left corner.
a2easting pixel size.
xrotrotational coefficient, normally zero.
b1northing of the top left corner.
yrotrotational coefficient, normally zero.
b3northing pixel size, normally negative indicating north-up.

Referenced by PCIDSK::Create().


The documentation for this class was generated from the following file:

Generated for GDAL by doxygen 1.7.3.