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

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

?? ogr_spatialref.h

?? mitab,讀取MapInfo的地圖文件
?? H
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
 * $Id: ogr_spatialref.h 10646 2007-01-18 02:38:10Z warmerdam $
 *
 * Project:  OpenGIS Simple Features Reference Implementation
 * Purpose:  Classes for manipulating spatial reference systems in a
 *           platform non-specific manner.
 * Author:   Frank Warmerdam, warmerdam@pobox.com
 *
 ******************************************************************************
 * Copyright (c) 1999,  Les Technologies SoftMap Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 ****************************************************************************/

#ifndef _OGR_SPATIALREF_H_INCLUDED
#define _OGR_SPATIALREF_H_INCLUDED

#include "ogr_srs_api.h"

/**
 * \file ogr_spatialref.h
 *
 * Coordinate systems services.
 */

/************************************************************************/
/*                             OGR_SRSNode                              */
/************************************************************************/

/**
 * Objects of this class are used to represent value nodes in the parsed
 * representation of the WKT SRS format.  For instance UNIT["METER",1]
 * would be rendered into three OGR_SRSNodes.  The root node would have a
 * value of UNIT, and two children, the first with a value of METER, and the
 * second with a value of 1.
 *
 * Normally application code just interacts with the OGRSpatialReference
 * object, which uses the OGR_SRSNode to implement it's data structure;
 * however, this class is user accessable for detailed access to components
 * of an SRS definition.
 */

class CPL_DLL OGR_SRSNode
{
    char        *pszValue;

    OGR_SRSNode **papoChildNodes;
    OGR_SRSNode *poParent;

    int         nChildren;

    void        ClearChildren();
    int         NeedsQuoting() const;
    
  public:
                OGR_SRSNode(const char * = NULL);
                ~OGR_SRSNode();

    int         IsLeafNode() const { return nChildren == 0; }
    
    int         GetChildCount() const { return nChildren; }
    OGR_SRSNode *GetChild( int );
    const OGR_SRSNode *GetChild( int ) const;

    OGR_SRSNode *GetNode( const char * );
    const OGR_SRSNode *GetNode( const char * ) const;

    void        InsertChild( OGR_SRSNode *, int );
    void        AddChild( OGR_SRSNode * );
    int         FindChild( const char * ) const;
    void        DestroyChild( int );
    void        StripNodes( const char * );

    const char  *GetValue() const { return pszValue; }
    void        SetValue( const char * );

    void        MakeValueSafe();
    OGRErr      FixupOrdering();

    OGR_SRSNode *Clone() const;

    OGRErr      importFromWkt( char ** );
    OGRErr      exportToWkt( char ** ) const;
    OGRErr      exportToPrettyWkt( char **, int = 1) const;
    
    OGRErr      applyRemapper( const char *pszNode, 
                               char **papszSrcValues, 
                               char **papszDstValues, 
                               int nStepSize = 1,
                               int bChildOfHit = FALSE );
};

/************************************************************************/
/*                         OGRSpatialReference                          */
/************************************************************************/

/**
 * This class respresents a OpenGIS Spatial Reference System, and contains
 * methods for converting between this object organization and well known
 * text (WKT) format.  This object is reference counted as one instance of
 * the object is normally shared between many OGRGeometry objects.
 *
 * Normally application code can fetch needed parameter values for this
 * SRS using GetAttrValue(), but in special cases the underlying parse tree
 * (or OGR_SRSNode objects) can be accessed more directly.
 *
 * See <a href="osr_tutorial.html">the tutorial</a> for more information on
 * how to use this class.
 */

class CPL_DLL OGRSpatialReference
{
    double      dfFromGreenwich;
    double      dfToMeter;
    double      dfToDegrees;

    OGR_SRSNode *poRoot;

    int         nRefCount;
    int         bNormInfoSet;

    OGRErr      ValidateProjection();
    int         IsAliasFor( const char *, const char * );
    void        GetNormInfo() const;

  public:
                OGRSpatialReference(const OGRSpatialReference&);
                OGRSpatialReference(const char * = NULL);
                
    virtual    ~OGRSpatialReference();
                
    OGRSpatialReference &operator=(const OGRSpatialReference&);

    int         Reference();
    int         Dereference();
    int         GetReferenceCount() const { return nRefCount; }
    void        Release();

    OGRSpatialReference *Clone() const;
    OGRSpatialReference *CloneGeogCS() const;

    OGRErr      exportToWkt( char ** ) const;
    OGRErr      exportToPrettyWkt( char **, int = FALSE) const;
    OGRErr      exportToProj4( char ** ) const;
    OGRErr      exportToPCI( char **, char **, double ** ) const;
    OGRErr      exportToUSGS( long *, long *, double **, long * ) const;
    OGRErr      exportToPanorama( long *, long *, double **, long * ) const;
    OGRErr      exportToXML( char **, const char * = NULL ) const;
    OGRErr      exportToPanorama( long *, long *, long *, long *, double *,
                                  double *, double *, double * ) const;
    OGRErr      importFromWkt( char ** );
    OGRErr      importFromProj4( const char * );
    OGRErr      importFromEPSG( int );
    OGRErr      importFromESRI( char ** );
    OGRErr      importFromPCI( const char *, const char * = NULL,
                               double * = NULL );
    OGRErr      importFromUSGS( long, long, double *, long );
    OGRErr      importFromPanorama( long, long, long, long,
                                    double, double, double, double );
    OGRErr      importFromWMSAUTO( const char *pszAutoDef );
    OGRErr      importFromXML( const char * );
    OGRErr      importFromDict( const char *pszDict, const char *pszCode );
    OGRErr      importFromURN( const char * );

    OGRErr      morphToESRI();
    OGRErr      morphFromESRI();

    OGRErr      Validate();
    OGRErr      StripCTParms( OGR_SRSNode * = NULL );
    OGRErr      FixupOrdering();
    OGRErr      Fixup();

    // Machinary for accessing parse nodes
    OGR_SRSNode *GetRoot() { return poRoot; }
    const OGR_SRSNode *GetRoot() const { return poRoot; }
    void        SetRoot( OGR_SRSNode * );
    
    OGR_SRSNode *GetAttrNode(const char *);
    const OGR_SRSNode *GetAttrNode(const char *) const;
    const char  *GetAttrValue(const char *, int = 0) const;

    OGRErr      SetNode( const char *, const char * );
    OGRErr      SetNode( const char *, double );
    
    OGRErr      SetLinearUnitsAndUpdateParameters( const char *pszName, 
                                                   double dfInMeters );
    OGRErr      SetLinearUnits( const char *pszName, double dfInMeters );
    double      GetLinearUnits( char ** = NULL ) const;

    OGRErr      SetAngularUnits( const char *pszName, double dfInRadians );
    double      GetAngularUnits( char ** = NULL ) const;

    double      GetPrimeMeridian( char ** = NULL ) const;

    int         IsGeographic() const;
    int         IsProjected() const;
    int         IsLocal() const;
    int         IsSameGeogCS( const OGRSpatialReference * ) const;
    int         IsSame( const OGRSpatialReference * ) const;

    void        Clear();
    OGRErr      SetLocalCS( const char * );
    OGRErr      SetProjCS( const char * );
    OGRErr      SetProjection( const char * );
    OGRErr      SetGeogCS( const char * pszGeogName,
                           const char * pszDatumName,
                           const char * pszEllipsoidName,
                           double dfSemiMajor, double dfInvFlattening,
                           const char * pszPMName = NULL,
                           double dfPMOffset = 0.0,
                           const char * pszUnits = NULL,
                           double dfConvertToRadians = 0.0 );
    OGRErr      SetWellKnownGeogCS( const char * );
    OGRErr      CopyGeogCSFrom( const OGRSpatialReference * poSrcSRS );

    OGRErr      SetFromUserInput( const char * );

    OGRErr      SetTOWGS84( double, double, double,
                            double = 0.0, double = 0.0, double = 0.0,
                            double = 0.0 );
    OGRErr      GetTOWGS84( double *padfCoef, int nCoeff = 7 ) const;
    
    double      GetSemiMajor( OGRErr * = NULL ) const;
    double      GetSemiMinor( OGRErr * = NULL ) const;
    double      GetInvFlattening( OGRErr * = NULL ) const;

    OGRErr      SetAuthority( const char * pszTargetKey, 
                              const char * pszAuthority, 
                              int nCode );

    OGRErr      AutoIdentifyEPSG();

    const char *GetAuthorityCode( const char * pszTargetKey ) const;
    const char *GetAuthorityName( const char * pszTargetKey ) const;

    const char *GetExtension( const char *pszTargetKey, 
                              const char *pszName,
                              const char *pszDefault = NULL ) const;
    OGRErr      SetExtension( const char *pszTargetKey, 
                              const char *pszName, 
                              const char *pszValue );
                           
    OGRErr      SetProjParm( const char *, double );
    double      GetProjParm( const char *, double =0.0, OGRErr* = NULL ) const;

    OGRErr      SetNormProjParm( const char *, double );
    double      GetNormProjParm( const char *, double=0.0, OGRErr* =NULL)const;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区视频免费在线观看| 国产亚洲1区2区3区| 国产99久久久国产精品潘金| 奇米888四色在线精品| 日韩1区2区3区| 五月天婷婷综合| 日韩不卡一区二区三区| 日精品一区二区三区| 日韩av中文字幕一区二区| 日韩高清一级片| 蜜臀99久久精品久久久久久软件| 日本欧美一区二区| 麻豆91精品视频| 国产精品一区二区在线看| 成人综合在线网站| 色成人在线视频| 在线不卡免费欧美| 精品精品欲导航| 国产精品毛片无遮挡高清| 一色桃子久久精品亚洲| 亚洲大片免费看| 精品一区二区在线播放| 成人高清免费在线播放| 欧美午夜精品电影| 亚洲精品一区二区三区香蕉| 亚洲国产成人在线| 亚洲国产日日夜夜| 国产精品一区二区男女羞羞无遮挡| 国产成人精品免费| 欧美在线观看视频在线| 日韩一本二本av| 成人免费在线视频| 日本美女一区二区三区视频| 成人黄色片在线观看| 51久久夜色精品国产麻豆| 国产亚洲精品bt天堂精选| 亚洲成人动漫一区| 国产v日产∨综合v精品视频| 欧美日韩一区三区| 日本一区二区三区在线不卡 | 国产精品99久| 欧美在线观看一二区| 久久日韩粉嫩一区二区三区| 亚洲青青青在线视频| 极品少妇一区二区三区精品视频| 99久久伊人网影院| 久久久亚洲午夜电影| 日韩成人av影视| 在线观看91视频| 国产精品乱码人人做人人爱| 秋霞av亚洲一区二区三| 欧美性色黄大片手机版| 亚洲欧美综合另类在线卡通| 97国产精品videossex| 日韩欧美的一区二区| 亚洲精品菠萝久久久久久久| 国产成人免费在线观看| 精品国产免费视频| 日韩成人一区二区三区在线观看| 99精品偷自拍| 国产精品青草综合久久久久99| 丝瓜av网站精品一区二区| 91小宝寻花一区二区三区| 欧美国产禁国产网站cc| 国产成人免费视频| 久久久久久久久久久久电影| 蜜桃久久av一区| 日韩一区二区三区在线| 爽好多水快深点欧美视频| 91国在线观看| 亚洲一区二区影院| 在线观看亚洲一区| 亚洲午夜久久久久久久久电影院 | 69堂成人精品免费视频| 夜夜操天天操亚洲| 在线中文字幕一区| 一区二区三区四区在线播放| 欧美性猛交xxxx黑人交| 亚洲激情图片一区| 在线观看91视频| 视频一区欧美日韩| 欧美变态tickle挠乳网站| 久久99精品一区二区三区| 亚洲精品在线免费观看视频| 精品一区二区久久| 久久精品欧美日韩| 国产69精品久久久久777| 中文一区在线播放| www.av亚洲| 一级日本不卡的影视| 欧美精品1区2区| 久久精品国产免费| 国产视频911| 99久久国产综合精品女不卡| 亚洲乱码中文字幕| 欧美酷刑日本凌虐凌虐| 蜜桃在线一区二区三区| 欧美激情综合五月色丁香小说| 91在线视频官网| 亚洲国产裸拍裸体视频在线观看乱了 | 激情五月激情综合网| 欧美国产精品中文字幕| 欧美午夜精品久久久| 蜜臀av在线播放一区二区三区| 久久婷婷国产综合国色天香| 99视频一区二区| 毛片不卡一区二区| 日本伊人色综合网| 久久综合给合久久狠狠狠97色69| 成人高清视频在线| 天堂精品中文字幕在线| 国产精品日产欧美久久久久| 在线看不卡av| 国产99一区视频免费| 天天亚洲美女在线视频| 最新不卡av在线| 日韩丝袜情趣美女图片| 色婷婷综合久久久久中文一区二区| 亚洲成av人**亚洲成av**| 久久久99精品免费观看| 欧美天天综合网| 成人精品在线视频观看| 欧美aa在线视频| 一卡二卡三卡日韩欧美| 国产清纯白嫩初高生在线观看91| 欧美日韩电影一区| 99免费精品在线观看| 久久精品国产色蜜蜜麻豆| 夜夜揉揉日日人人青青一国产精品 | 天堂一区二区在线| 亚洲免费观看高清完整版在线观看 | 久久电影国产免费久久电影 | 免费高清在线一区| 亚洲综合在线视频| **性色生活片久久毛片| 国产嫩草影院久久久久| 久久久久久久久岛国免费| 91麻豆精品91久久久久同性| 在线视频观看一区| 成人avav影音| av亚洲精华国产精华精| 国产在线播放一区| 国内精品免费**视频| 麻豆91在线播放| 另类综合日韩欧美亚洲| 青青青伊人色综合久久| 日日噜噜夜夜狠狠视频欧美人| 一区二区三区精品视频| 亚洲精选免费视频| 亚洲一区免费观看| 亚洲夂夂婷婷色拍ww47| 一区二区三区在线免费| 一区二区在线观看不卡| 亚洲色欲色欲www在线观看| 中文字幕日韩一区| 亚洲免费在线播放| 亚洲国产成人av网| 婷婷丁香激情综合| 免费人成网站在线观看欧美高清| 日本成人在线不卡视频| 日韩激情中文字幕| 久久精品国产免费看久久精品| 久久精品99国产精品日本| 国产精品一区二区久激情瑜伽| 国产福利电影一区二区三区| 成人激情小说乱人伦| 成人免费毛片片v| 91国偷自产一区二区三区成为亚洲经典| 成人激情视频网站| 六月丁香婷婷色狠狠久久| 亚洲成人av一区| 欧美中文字幕一区二区三区亚洲| 一本高清dvd不卡在线观看| 在线观看亚洲精品视频| 日韩一级黄色片| 日本午夜精品视频在线观看| 蜜桃av一区二区三区| 国产91清纯白嫩初高中在线观看 | 五月激情六月综合| 另类综合日韩欧美亚洲| 成人av在线一区二区三区| 欧美日韩在线播放三区四区| 欧美成人官网二区| 亚洲欧洲成人av每日更新| 亚洲国产精品嫩草影院| 国产自产v一区二区三区c| 91啪亚洲精品| 日韩精品在线一区| **欧美大码日韩| 国内一区二区在线| 在线看一区二区| 国产成人精品一区二区三区四区 | 美女www一区二区| 成人黄色小视频| 欧美一级理论片| 亚洲色大成网站www久久九九| 青青草国产成人99久久| 91网址在线看| 久久久精品一品道一区| 午夜精品一区在线观看|