Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/structprjprm.html
Дата изменения: Unknown Дата индексирования: Sun Apr 10 23:50:51 2016 Кодировка: Поисковые слова: п р п п р п |
WCSLIB
5.15
|
Projection parameters. More...
#include <prj.h>
Data Fields | |
int | flag |
char | code [4] |
double | r0 |
double | pv [PVN] |
double | phi0 |
double | theta0 |
int | bounds |
char | name [40] |
int | category |
int | pvrange |
int | simplezen |
int | equiareal |
int | conformal |
int | global |
int | divergent |
double | x0 |
double | y0 |
struct wcserr * | err |
void * | padding |
double | w [10] |
int | m |
int | n |
int(* | prjx2s )(PRJX2S_ARGS) |
int(* | prjs2x )(PRJS2X_ARGS) |
The prjprm struct contains all information needed to project or deproject native spherical coordinates. It consists of certain members that must be set by the user (given) and others that are set by the WCSLIB routines (returned). Some of the latter are supplied for informational purposes while others are for internal use only.
int prjprm::flag |
(Given and returned) This flag must be set to zero whenever any of the following prjprm struct members are set or changed:
This signals the initialization routine (prjset() or ???set()) to recompute the returned members of the prjprm struct. flag will then be reset to indicate that this has been done.
Note that flag need not be reset when prjprm::bounds is changed.
char prjprm::code |
(Given) Three-letter projection code defined by the FITS standard.
double prjprm::r0 |
(Given) The radius of the generating sphere for the projection, a linear scaling parameter. If this is zero, it will be reset to its default value of (the value for FITS WCS).
double prjprm::pv |
(Given) Projection parameters. These correspond to the PVi_ma
keywords in FITS, so pv[0] is PVi_0a
, pv[1] is PVi_1a
, etc., where i
denotes the latitude-like axis. Many projections use pv[1] (PVi_1a
), some also use pv[2] (PVi_2a
) and SZP
uses pv[3] (PVi_3a
). ZPN
is currently the only projection that uses any of the others.
Usage of the pv[] array as it applies to each projection is described in the prologue to each trio of projection routines in prj.c.
double prjprm::phi0 |
(Given) The native longitude, [deg], and ...
double prjprm::theta0 |
(Given) ... the native latitude, [deg], of the reference point, i.e. the point = (0,0). If undefined (set to a magic value by prjini()) the initialization routine will set this to a projection-specific default.
int prjprm::bounds |
(Given) Controls bounds checking. If bounds&1 then enable strict bounds checking for the spherical-to-Cartesian (s2x) transformation for the AZP
, SZP
, TAN
, SIN
, ZPN
, and COP
projections. If bounds&2 then enable strict bounds checking for the Cartesian-to-spherical transformation (x2s) for the HPX
and XPH projections. If bounds&4 then the Cartesian- to-spherical transformations (x2s) will invoke prjbchk() to perform bounds checking on the computed native coordinates, with a tolerance set to suit each projection. bounds is set to 7 by prjini() by default which enables all checks. Zero it to disable all checking.
It is not necessary to reset the prjprm struct (via prjset() or ???set()) when prjprm::bounds is changed.
The remaining members of the prjprm struct are maintained by the setup routines and must not be modified elsewhere:
char prjprm::name |
(Returned) Long name of the projection.
Provided for information only, not used by the projection routines.
int prjprm::category |
(Returned) Projection category matching the value of the relevant global variable:
The category name may be identified via the prj_categories character array, e.g.
Provided for information only, not used by the projection routines.
int prjprm::pvrange |
(Returned) Range of projection parameter indices: 100 times the first allowed index plus the number of parameters, e.g. TAN
is 0 (no parameters), SZP
is 103 (1 to 3), and ZPN
is 30 (0 to 29).
Provided for information only, not used by the projection routines.
int prjprm::simplezen |
(Returned) True if the projection is a radially-symmetric zenithal projection.
Provided for information only, not used by the projection routines.
int prjprm::equiareal |
(Returned) True if the projection is equal area.
Provided for information only, not used by the projection routines.
int prjprm::conformal |
(Returned) True if the projection is conformal.
Provided for information only, not used by the projection routines.
int prjprm::global |
(Returned) True if the projection can represent the whole sphere in a finite, non-overlapped mapping.
Provided for information only, not used by the projection routines.
int prjprm::divergent |
(Returned) True if the projection diverges in latitude.
Provided for information only, not used by the projection routines.
double prjprm::x0 |
(Returned) The offset in ,and ...
double prjprm::y0 |
(Returned) ... the offset in used to force = (0,0) at ( , ).
struct wcserr * prjprm::err |
(Returned) If enabled, when an error status is returned, this struct contains detailed information about the error, see wcserr_enable().
void * prjprm::padding |
(An unused variable inserted for alignment purposes only.)
double prjprm::w |
(Returned) Intermediate floating-point values derived from the projection parameters, cached here to save recomputation.
Usage of the w[] array as it applies to each projection is described in the prologue to each trio of projection routines in prj.c.
int prjprm::m |
int prjprm::n |
(Returned) Intermediate integer value (used only for the ZPN
and HPX
projections).
prjprm::prjx2s |
(Returned) Pointer to the spherical projection ...
prjprm::prjs2x |
(Returned) ... and deprojection routines.