亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datum.h

?? 給予QT的qps開源最新源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef DATUM_H
#define DATUM_H

/***************************************************************************/
/* RSC IDENTIFIER: Datum
 *
 * ABSTRACT
 *
 *    This component provides datum shifts for a large collection of local
 *    datums, WGS72, and WGS84.  A particular datum can be accessed by using its 
 *    standard 5-letter code to find its index in the datum table.  The index 
 *    can then be used to retrieve the name, type, ellipsoid code, and datum 
 *    shift parameters, and to perform shifts to or from that datum.
 *    
 *    By sequentially retrieving all of the datum codes and/or names, a menu
 *    of the available datums can be constructed.  The index values resulting
 *    from selections from this menu can then be used to access the parameters
 *    of the selected datum, or to perform datum shifts involving that datum.
 *
 *    This component supports both 3-parameter local datums, for which only X,
 *    Y, and Z translations relative to WGS 84 have been defined, and 
 *    7-parameter local datums, for which X, Y, and Z rotations, and a scale 
 *    factor, are also defined.  It also includes entries for WGS 84 (with an
 *    index of 0), and WGS 72 (with an index of 1), but no shift parameter 
 *    values are defined for these.
 *
 *    This component provides datum shift functions for both geocentric and
 *    geodetic coordinates.  WGS84 is used as an intermediate state when
 *    shifting from one local datum to another.  When geodetic coordinates are
 *    given Molodensky's method is used, except near the poles where the 3-step
 *    step method is used instead.  Specific algorithms are used for shifting 
 *    between WGS72 and WGS84.
 *
 *    This component depends on two data files, named 3_param.dat and 
 *    7_param.dat, which contain the datum parameter values.  Copies of these
 *    files must be located in the directory specified by the value of the 
 *    environment variable "DATUM_DATA", if defined, or else in the current 
 *    directory whenever a program containing this component is executed. 
 *
 *    Additional datums can be added to these files, either manually or using 
 *    the Create_Datum function.  However, if a large number of datums are 
 *    added, the datum table array sizes in this component will have to be 
 *    increased.
 *
 *    This component depends on two other components: the Ellipsoid component
 *    for access to ellipsoid parameters; and the Geocentric component for 
 *    conversions between geodetic and geocentric coordinates.
 *
 * ERROR HANDLING
 *
 *    This component checks for input file errors and input parameter errors.
 *    If an invalid value is found, the error code is combined with the current
 *    error code using the bitwise or.  This combining allows multiple error
 *    codes to be returned. The possible error codes are:
 *
 *  DATUM_NO_ERROR                  : No errors occurred in function
 *  DATUM_NOT_INITIALIZED_ERROR     : Datum module has not been initialized
 *  DATUM_7PARAM_FILE_OPEN_ERROR    : 7 parameter file opening error
 *  DATUM_7PARAM_FILE_PARSING_ERROR : 7 parameter file structure error
 *  DATUM_7PARAM_OVERFLOW_ERROR     : 7 parameter table overflow
 *  DATUM_3PARAM_FILE_OPEN_ERROR    : 3 parameter file opening error
 *  DATUM_3PARAM_FILE_PARSING_ERROR : 3 parameter file structure error
 *  DATUM_3PARAM_OVERFLOW_ERROR     : 3 parameter table overflow
 *  DATUM_INVALID_INDEX_ERROR       : Index out of valid range (less than one
 *                                      or more than Datum_Count)
 *  DATUM_INVALID_SRC_INDEX_ERROR   : Source datum index invalid
 *  DATUM_INVALID_DEST_INDEX_ERROR  : Destination datum index invalid
 *  DATUM_INVALID_CODE_ERROR        : Datum code not found in table
 *  DATUM_LAT_ERROR                 : Latitude out of valid range (-90 to 90)
 *  DATUM_LON_ERROR                 : Longitude out of valid range (-180 to
 *                                    360)
 *  DATUM_SIGMA_ERROR               : Standard error values must be positive
 *                                    (or -1 if unknown)
 *  DATUM_DOMAIN_ERROR              : Domain of validity not well defined
 *  DATUM_ELLIPSE_ERROR             : Error in ellipsoid module
 *  DATUM_NOT_USERDEF_ERROR         : Datum code is not user defined - cannot 
 *                                    be deleted
 *
 *
 * REUSE NOTES
 *
 *    Datum is intended for reuse by any application that needs access to 
 *    datum shift parameters relative to WGS 84.
 *
 *    
 * REFERENCES
 *
 *    Further information on Datum can be found in the Reuse Manual.
 *
 *    Datum originated from :  U.S. Army Topographic Engineering Center (USATEC)
 *                             Geospatial Information Division (GID)
 *                             7701 Telegraph Road
 *                             Alexandria, VA  22310-3864
 *
 * LICENSES
 *
 *    None apply to this component.
 *
 * RESTRICTIONS
 *
 *    Datum has no restrictions.
 *
 * ENVIRONMENT
 *
 *    Datum was tested and certified in the following environments:
 *
 *    1. Solaris 2.5 with GCC 2.8.1
 *    2. MS Windows 95 with MS Visual C++ 6
 *
 * MODIFICATIONS
 *
 *    Date              Description
 *    ----              -----------
 *    03/30/97          Original Code
 *    05/28/99          Added user-definable datums (for JMTK)
 *                      Added datum domain of validity checking (for JMTK)
 *                      Added datum shift accuracy calculation (for JMTK) 
 */


/***************************************************************************/
/*
 *                              DEFINES
 */

#define DATUM_NO_ERROR                          0x00000
#define DATUM_NOT_INITIALIZED_ERROR             0x00001
#define DATUM_7PARAM_FILE_OPEN_ERROR            0x00002
#define DATUM_7PARAM_FILE_PARSING_ERROR         0x00004
#define DATUM_7PARAM_OVERFLOW_ERROR             0x00008
#define DATUM_3PARAM_FILE_OPEN_ERROR            0x00010
#define DATUM_3PARAM_FILE_PARSING_ERROR         0x00020
#define DATUM_3PARAM_OVERFLOW_ERROR             0x00040
#define DATUM_INVALID_INDEX_ERROR               0x00080
#define DATUM_INVALID_SRC_INDEX_ERROR           0x00100
#define DATUM_INVALID_DEST_INDEX_ERROR          0x00200
#define DATUM_INVALID_CODE_ERROR                0x00400
#define DATUM_LAT_ERROR                         0x00800
#define DATUM_LON_ERROR                         0x01000
#define DATUM_SIGMA_ERROR                       0x02000
#define DATUM_DOMAIN_ERROR                      0x04000
#define DATUM_ELLIPSE_ERROR                     0x08000
#define DATUM_NOT_USERDEF_ERROR                 0x10000


/***************************************************************************/
/*
 *                          GLOBAL DECLARATIONS
 */
typedef enum Datum_Types
{
  Three_Param_Datum,
  Seven_Param_Datum,
  WGS84_Datum,
  WGS72_Datum
} Datum_Type; /* different types of datums */


/***************************************************************************/
/*
 *                            FUNCTION PROTOTYPES
 */

/* ensure proper linkage to c++ programs */
#ifdef __cplusplus 
extern "C" {
#endif


  long Initialize_Datums(void);
/*
 * The function Initialize_Datums creates the datum table from two external
 * files.  If an error occurs, the initialization stops and an error code is
 * returned.  This function must be called before any of the other functions
 * in this component.
 */


  long Create_Datum ( const char *Code,
                      const char *Name,
                      const char *Ellipsoid_Code,
                      double Delta_X,
                      double Delta_Y,
                      double Delta_Z,
                      double Sigma_X,
                      double Sigma_Y,
                      double Sigma_Z,
                      double South_latitude,
                      double North_latitude,
                      double West_longitude,
                      double East_longitude);
/*
 *   Code           : 5-letter new datum code.                      (input)
 *   Name           : Name of the new datum                         (input)
 *   Ellipsoid_Code : 2-letter code for the associated ellipsoid    (input)
 *   Delta_X        : X translation to WGS84 in meters              (input)
 *   Delta_Y        : Y translation to WGS84 in meters              (input)
 *   Delta_Z        : Z translation to WGS84 in meters              (input)
 *   Sigma_X        : Standard error in X in meters                 (input)
 *   Sigma_Y        : Standard error in Y in meters                 (input)
 *   Sigma_Z        : Standard error in Z in meters                 (input)
 *   South_latitude : Southern edge of validity rectangle in radians(input)
 *   North_latitude : Northern edge of validity rectangle in radians(input)
 *   West_longitude : Western edge of validity rectangle in radians (input)
 *   East_longitude : Eastern edge of validity rectangle in radians (input)
 *
 * The function Create_Datum creates a new local (3-parameter) datum with the 
 * specified code, name, shift values, and standard error values.  If the 
 * datum table has not been initialized, the specified code is already in use, 
 * or a new version of the 3-param.dat file cannot be created, an error code 
 * is returned, otherwise DATUM_NO_ERROR is returned.  Note that the indexes 
 * of all datums in the datum table may be changed by this function.
 */

  long Delete_Datum (const char *Code);

/*
 *   Code           : 5-letter datum code.                      (input)
 *
 * The function Delete_Datum deletes a local (3-parameter) datum with the 
 * specified code.  If the datum table has not been initialized or a new 
 * version of the 3-param.dat file cannot be created, an error code is returned,  
 * otherwise DATUM_NO_ERROR is returned.  Note that the indexes of all datums 
 * in the datum table may be changed by this function.
 */

  long Datum_Uses_Ellipsoid (const char *Code);

/*
 *  The function Datum_Uses_Ellipsoid returns 1 if the ellipsoid is in use by a 
 *  user defined datum.  Otherwise, 0 is returned.  
 *
 *  Code               : The ellipsoid code being searched for.    (input)
 */

  long Datum_Count ( long *Count );
/*
 *  The function Datum_Count returns the number of Datums in the table
 *  if the table was initialized without error.
 *
 *  Count   : number of datums in the datum table                   (output)
 */


  long Datum_Index ( const char *Code, 
                     long *Index );
/*
 *  The function Datum_Index returns the index of the datum with the 
 *  specified code.
 *
 *  Code    : The datum code being searched for                     (input)
 *  Index   : The index of the datum in the table with the          (output)
 *              specified code
 */


  long Datum_Code ( const long Index,
                    char *Code );
/*
 *  The function Datum_Code returns the 5-letter code of the datum
 *  referenced by index.
 *
 *  Index   : The index of a given datum in the datum table         (input)
 *  Code    : The datum code of the datum referenced by index       (output)
 */


  long Datum_Name ( const long Index,
                    char *Name );
/*
 *  The function Datum_Name returns the name of the datum referenced by
 *  index.
 *
 *  Index   : The index of a given datum in the datum table         (input)
 *  Name    : The datum name of the datum referenced by index       (output)
 */


  long Datum_Ellipsoid_Code ( const long Index,
                              char *Code );
/*
 *  The function Datum_Ellipsoid_Code returns the 2-letter ellipsoid code 
 *  for the ellipsoid associated with the datum referenced by index.
 *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91对白在线观看九色| 亚洲人成亚洲人成在线观看图片| 丝袜诱惑制服诱惑色一区在线观看 | 强制捆绑调教一区二区| 欧美午夜片在线看| 亚洲国产精品自拍| 欧美日韩电影在线| 日本亚洲天堂网| 日韩美女视频在线| 国产福利视频一区二区三区| 国产亚洲欧美在线| av在线这里只有精品| 亚洲丶国产丶欧美一区二区三区| 日本久久精品电影| 欧美aaa在线| 国产农村妇女精品| 日本高清无吗v一区| 日本在线播放一区二区三区| 久久久久国产精品厨房| 99久久免费精品高清特色大片| 亚洲最新视频在线播放| 欧美一区二区三区在线| 国产精品77777竹菊影视小说| 午夜精品久久久久久久蜜桃app| 欧美军同video69gay| 狠狠色丁香久久婷婷综| 国产精品国产三级国产三级人妇 | 亚洲sss视频在线视频| 欧美r级在线观看| 97超碰欧美中文字幕| 午夜精品久久久久影视| 国产校园另类小说区| 欧美日韩免费视频| 国产大片一区二区| 亚洲福利视频三区| 国产精品婷婷午夜在线观看| 欧美日韩第一区日日骚| 岛国精品在线观看| 日韩福利电影在线| 亚洲视频综合在线| 欧美精品一区二区高清在线观看| 91在线观看高清| 久久国产精品99精品国产 | 日韩情涩欧美日韩视频| 成人av资源网站| 久久黄色级2电影| 一片黄亚洲嫩模| 国产亚洲精久久久久久| 欧美美女一区二区| av一区二区三区四区| 美腿丝袜亚洲三区| 亚洲小说欧美激情另类| 欧美国产精品一区二区三区| 91精品一区二区三区久久久久久| 99视频热这里只有精品免费| 国产乱子轮精品视频| 图片区小说区区亚洲影院| 国产精品国产三级国产专播品爱网 | 精品亚洲porn| 天堂久久久久va久久久久| 一区二区三区在线播放| 国产精品久久网站| 久久尤物电影视频在线观看| 欧美群妇大交群的观看方式| 色爱区综合激月婷婷| 97久久久精品综合88久久| 国产成人在线视频网站| 精品一区二区三区视频在线观看| 手机精品视频在线观看| 亚洲成人综合视频| 亚洲综合在线免费观看| 亚洲摸摸操操av| 亚洲美女偷拍久久| 亚洲激情一二三区| 日韩一区中文字幕| 亚洲精品亚洲人成人网在线播放| 国产精品三级电影| 欧美韩国日本不卡| 国产精品无圣光一区二区| 国产丝袜美腿一区二区三区| 久久色中文字幕| 久久久久久久久97黄色工厂| 久久精品人人做人人综合| 久久在线免费观看| 欧美国产激情二区三区| 国产精品久久影院| 亚洲丝袜另类动漫二区| 亚洲小说欧美激情另类| 日韩国产欧美在线播放| 久久99日本精品| 国内精品在线播放| 国产91精品一区二区麻豆网站| 国产成a人亚洲精| 色综合久久久久综合| 91搞黄在线观看| 91精品国产乱| 国产亚洲欧洲997久久综合| 中文字幕一区二区三区四区不卡| 亚洲人一二三区| 午夜精品久久久| 精品制服美女丁香| 国产91高潮流白浆在线麻豆| 91丨九色丨蝌蚪丨老版| 欧美在线一二三| 91精品中文字幕一区二区三区| 久久综合一区二区| 综合色天天鬼久久鬼色| 偷拍一区二区三区四区| 国产一区二区三区四区五区入口| av电影在线不卡| 欧美一区二区在线免费播放| 久久久久久毛片| 亚洲一二三级电影| 国产一二精品视频| 欧洲一区二区三区在线| 欧美精品一区男女天堂| 亚洲精品视频在线观看免费| 日韩不卡一区二区| 成人av在线播放网站| 欧美三级一区二区| 一区二区在线观看不卡| 日韩国产欧美在线视频| 成人午夜碰碰视频| 欧美电影影音先锋| 日本一区二区三区免费乱视频| 亚洲一区二区三区美女| 国产黑丝在线一区二区三区| 欧美日韩中文字幕一区| 国产亚洲精品精华液| 亚洲h动漫在线| 成人av资源站| 欧美精品一区男女天堂| 亚洲va欧美va人人爽午夜| 国产精品夜夜嗨| 欧美日韩另类一区| 国产精品国产三级国产有无不卡| 人人超碰91尤物精品国产| av电影天堂一区二区在线| 精品欧美黑人一区二区三区| 一区二区三区精品| 成人久久视频在线观看| 日韩视频在线一区二区| 亚洲综合激情小说| eeuss鲁片一区二区三区在线观看| 91麻豆精品国产91久久久资源速度| 国产精品久久久久婷婷| 日本亚洲电影天堂| 欧美日韩一区二区三区高清| 亚洲人妖av一区二区| 高清不卡一二三区| 欧美精品一区二区三区四区| 五月婷婷激情综合网| 日本韩国欧美一区| 中文字幕日本乱码精品影院| 国产激情精品久久久第一区二区| 日韩免费视频一区二区| 性做久久久久久久免费看| 91国偷自产一区二区开放时间| 国产精品无遮挡| 国产成人aaaa| 国产人伦精品一区二区| 国产美女主播视频一区| 精品久久久久久久人人人人传媒| 日韩激情一二三区| 欧美丰满美乳xxx高潮www| 亚洲成av人片一区二区三区| 欧美日韩一区三区| 午夜久久电影网| 9191成人精品久久| 午夜精品爽啪视频| 欧美一区二区在线播放| 日本在线观看不卡视频| 日韩免费高清电影| 麻豆传媒一区二区三区| wwww国产精品欧美| 国产剧情一区二区三区| 久久久久久一级片| 成人av影院在线| 亚洲特级片在线| 欧美在线视频不卡| 日韩精品国产精品| 精品国产三级a在线观看| 国产揄拍国内精品对白| 国产欧美综合色| 91首页免费视频| 亚洲国产日韩a在线播放| 日韩一区二区免费在线观看| 蜜臀精品久久久久久蜜臀| 日韩久久久久久| 风间由美一区二区av101| 中文字幕av在线一区二区三区| 成人精品视频一区| 亚洲一区在线观看视频| 欧美一区二区视频在线观看2020 | 26uuu精品一区二区三区四区在线| 韩国理伦片一区二区三区在线播放 | 国产大陆精品国产| 亚洲日本丝袜连裤袜办公室| 91麻豆精品国产91久久久久久| 韩国精品在线观看|