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

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

?? ogrocidatasource.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/* -------------------------------------------------------------------- *//*      Special case VALLAYER: command.                                 *//* -------------------------------------------------------------------- */    if( EQUALN(pszSQLCommand,"VALLAYER:",9) )    {        const char *pszLayerName = pszSQLCommand + 9;        while( *pszLayerName == ' ' )            pszLayerName++;        ValidateLayer( pszLayerName );        return NULL;    }/* -------------------------------------------------------------------- *//*      Just execute simple command.                                    *//* -------------------------------------------------------------------- */    if( !EQUALN(pszSQLCommand,"SELECT",6) )    {        OGROCIStatement oCommand( poSession );        oCommand.Execute( pszSQLCommand, OCI_COMMIT_ON_SUCCESS );        return NULL;    }/* -------------------------------------------------------------------- *//*      Otherwise instantiate a layer.                                  *//* -------------------------------------------------------------------- */    else    {        OGROCIStatement oCommand( poSession );                if( oCommand.Execute( pszSQLCommand, OCI_DESCRIBE_ONLY ) == CE_None )            return new OGROCISelectLayer( this, pszSQLCommand, &oCommand );        else            return NULL;    }}/************************************************************************//*                          ReleaseResultSet()                          *//************************************************************************/void OGROCIDataSource::ReleaseResultSet( OGRLayer * poLayer ){    delete poLayer;}/************************************************************************//*                              FetchSRS()                              *//*                                                                      *//*      Return a SRS corresponding to a particular id.  Note that       *//*      reference counting should be honoured on the returned           *//*      OGRSpatialReference, as handles may be cached.                  *//************************************************************************/OGRSpatialReference *OGROCIDataSource::FetchSRS( int nId ){    if( nId < 0 )        return NULL;/* -------------------------------------------------------------------- *//*      First, we look through our SRID cache, is it there?             *//* -------------------------------------------------------------------- */    int  i;    for( i = 0; i < nKnownSRID; i++ )    {        if( panSRID[i] == nId )            return papoSRS[i];    }/* -------------------------------------------------------------------- *//*      Try looking up in MDSYS.CS_SRS table.                           *//* -------------------------------------------------------------------- */    OGROCIStatement oStatement( GetSession() );    char            szSelect[200], **papszResult;    sprintf( szSelect, "SELECT WKTEXT, AUTH_SRID, AUTH_NAME FROM MDSYS.CS_SRS WHERE SRID = %d", nId );    if( oStatement.Execute( szSelect ) != CE_None )        return NULL;    papszResult = oStatement.SimpleFetchRow();    if( CSLCount(papszResult) < 1 )        return NULL;/* -------------------------------------------------------------------- *//*      Turn into a spatial reference.                                  *//* -------------------------------------------------------------------- */    char *pszWKT = papszResult[0];    OGRSpatialReference *poSRS = NULL;    poSRS = new OGRSpatialReference();    if( poSRS->importFromWkt( &pszWKT ) != OGRERR_NONE )    {        delete poSRS;        poSRS = NULL;    }/* -------------------------------------------------------------------- *//*      If we have a corresponding EPSG code for this SRID, use that    *//*      authority.                                                      *//* -------------------------------------------------------------------- */    int bGotEPSGMapping = FALSE;    for( i = 0; anEPSGOracleMapping[i] != 0; i += 2 )    {        if( anEPSGOracleMapping[i] == nId )        {            poSRS->SetAuthority( poSRS->GetRoot()->GetValue(), "EPSG",                                 anEPSGOracleMapping[i+1] );            bGotEPSGMapping = TRUE;            break;        }    }/* -------------------------------------------------------------------- *//*      Insert authority information, if it is available.               *//* -------------------------------------------------------------------- */    if( papszResult[1] != NULL && atoi(papszResult[1]) != 0        && papszResult[2] != NULL && strlen(papszResult[1]) != 0         && poSRS->GetRoot() != NULL         && !bGotEPSGMapping )    {        poSRS->SetAuthority( poSRS->GetRoot()->GetValue(),                              papszResult[2], atoi(papszResult[1]) );    }/* -------------------------------------------------------------------- *//*      Add to the cache.                                               *//* -------------------------------------------------------------------- */    panSRID = (int *) CPLRealloc(panSRID,sizeof(int) * (nKnownSRID+1) );    papoSRS = (OGRSpatialReference **)         CPLRealloc(papoSRS, sizeof(void*) * (nKnownSRID + 1) );    panSRID[nKnownSRID] = nId;    papoSRS[nKnownSRID] = poSRS;    nKnownSRID++;    return poSRS;}/************************************************************************//*                             FetchSRSId()                             *//*                                                                      *//*      Fetch the id corresponding to an SRS, and if not found, add     *//*      it to the table.                                                *//************************************************************************/int OGROCIDataSource::FetchSRSId( OGRSpatialReference * poSRS ){    char                *pszWKT = NULL;    int                 nSRSId;    if( poSRS == NULL )        return -1;    if( !poSRS->IsProjected() && !poSRS->IsGeographic() )        return -1;/* ==================================================================== *//*      The first strategy is to see if we can identify it by           *//*      authority information within the SRS.  Either using ORACLE      *//*      authority values directly, or check if there is a known         *//*      translation for an EPSG authority code.                         *//* ==================================================================== */    const char *pszAuthName = NULL, *pszAuthCode = NULL;    if( poSRS->IsGeographic() )    {        pszAuthName = poSRS->GetAuthorityName( "GEOGCS" );        pszAuthCode = poSRS->GetAuthorityCode( "GEOGCS" );    }    else if( poSRS->IsProjected() )    {        pszAuthName = poSRS->GetAuthorityName( "PROJCS" );        pszAuthCode = poSRS->GetAuthorityCode( "PROJCS" );    }    if( pszAuthName != NULL && pszAuthCode != NULL )    {        if( EQUAL(pszAuthName,"Oracle")             && atoi(pszAuthCode) != 0 )            return atoi(pszAuthCode);        if( EQUAL(pszAuthName,"EPSG") )        {            int i, nEPSGCode = atoi(pszAuthCode);            for( i = 0; anEPSGOracleMapping[i] != 0; i += 2 )            {                if( nEPSGCode == anEPSGOracleMapping[i+1] )                    return anEPSGOracleMapping[i];            }        }    }/* ==================================================================== *//*      We need to lookup the SRS in the existing Oracle CS_SRS         *//*      table.                                                          *//* ==================================================================== *//* -------------------------------------------------------------------- *//*      Convert SRS into old style format (SF-SQL 1.0).                 *//* -------------------------------------------------------------------- */    OGRSpatialReference *poSRS2 = poSRS->Clone();        poSRS2->StripCTParms();/* -------------------------------------------------------------------- *//*      Convert any degree type unit names to "Decimal Degree".         *//* -------------------------------------------------------------------- */    double dfAngularUnits = poSRS2->GetAngularUnits( NULL );    if( fabs(dfAngularUnits - 0.0174532925199433) < 0.0000000000000010 )        poSRS2->SetAngularUnits( "Decimal Degree", 0.0174532925199433 );/* -------------------------------------------------------------------- *//*      Translate SRS to WKT.                                           *//* -------------------------------------------------------------------- */    if( poSRS2->exportToWkt( &pszWKT ) != OGRERR_NONE )    {        delete poSRS2;        return -1;    }        delete poSRS2;    /* -------------------------------------------------------------------- *//*      Try to find in the existing table.                              *//* -------------------------------------------------------------------- */    OGROCIStringBuf     oCmdText;    OGROCIStatement     oCmdStatement( GetSession() );    char                **papszResult = NULL;    oCmdText.Append( "SELECT SRID FROM MDSYS.CS_SRS WHERE WKTEXT = '" );    oCmdText.Append( pszWKT );    oCmdText.Append( "'" );    if( oCmdStatement.Execute( oCmdText.GetString() ) == CE_None )        papszResult = oCmdStatement.SimpleFetchRow() ;/* -------------------------------------------------------------------- *//*      We got it!  Return it.                                          *//* -------------------------------------------------------------------- */    if( CSLCount(papszResult) == 1 )    {        CPLFree( pszWKT );        return atoi( papszResult[0] );    }    /* ==================================================================== *//*      We didn't find it, so we need to define it as a new SRID at     *//*      the end of the list of known values.                            *//* ==================================================================== *//* -------------------------------------------------------------------- *//*      Get the current maximum srid in the srs table.                  *//* -------------------------------------------------------------------- */    if( oCmdStatement.Execute("SELECT MAX(SRID) FROM MDSYS.CS_SRS") == CE_None )        papszResult = oCmdStatement.SimpleFetchRow();    else        papszResult = NULL;            if( CSLCount(papszResult) == 1 )        nSRSId = atoi(papszResult[0]) + 1;    else        nSRSId = 1;/* -------------------------------------------------------------------- *//*      Try adding the SRS to the SRS table.                            *//* -------------------------------------------------------------------- */    oCmdText.Clear();    oCmdText.Append( "INSERT INTO MDSYS.CS_SRS (SRID, WKTEXT, CS_NAME) " );    oCmdText.Appendf( 100, " VALUES (%d,'", nSRSId );    oCmdText.Append( pszWKT );    oCmdText.Append( "', '" );    oCmdText.Append( poSRS->GetRoot()->GetChild(0)->GetValue() );    oCmdText.Append( "' )" );    CPLFree( pszWKT );    if( oCmdStatement.Execute( oCmdText.GetString() ) != CE_None )        return -1;    else        return nSRSId;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩激情中文字幕| 精品无码三级在线观看视频| 韩国av一区二区三区在线观看| 99天天综合性| 久久精品人人做人人爽97| 午夜精品福利一区二区蜜股av| 欧美巨大另类极品videosbest| 亚洲品质自拍视频| 欧美日韩成人综合在线一区二区 | 色偷偷久久一区二区三区| 国产精品女人毛片| 国产精品12区| 国产精品欧美综合在线| 91在线免费播放| 天天综合天天做天天综合| 欧美一区二区在线不卡| 国产a精品视频| 日韩一区二区三区四区| 国产毛片精品视频| 国产精品国产三级国产普通话蜜臀| 99久精品国产| 国内外成人在线视频| 亚洲激情图片小说视频| 精品久久久久av影院| 不卡的看片网站| 免费成人美女在线观看.| 国产精品二区一区二区aⅴ污介绍| 欧美日韩国产片| 色伊人久久综合中文字幕| 国产一区二区三区蝌蚪| 亚洲电影一区二区| 国产精品亲子乱子伦xxxx裸| 色综合久久中文综合久久97| 九色|91porny| 日韩av电影天堂| 亚洲高清视频中文字幕| 久久蜜桃av一区精品变态类天堂 | 91精品国产综合久久久久久久| 日韩av不卡一区二区| 亚洲激情综合网| 亚洲欧美色综合| 亚洲精品视频在线观看网站| 国产精品乱人伦中文| 久久精品一区蜜桃臀影院| 国产日韩精品视频一区| 国产日韩欧美一区二区三区综合| 欧美一级片在线看| 欧美在线不卡视频| 日韩一区二区三区高清免费看看 | 精品视频1区2区| 欧美精品黑人性xxxx| 欧美一区二区视频在线观看2020 | 麻豆91在线看| 日韩久久精品一区| 一个色在线综合| 国产美女娇喘av呻吟久久| 粗大黑人巨茎大战欧美成人| 欧美群妇大交群的观看方式| 欧美日产在线观看| 不卡一区在线观看| 欧美色综合天天久久综合精品| 欧美无乱码久久久免费午夜一区 | 91麻豆精品国产91久久久 | 欧美一区二区三区色| 五月天激情小说综合| eeuss鲁一区二区三区| 精品久久久久一区| 久久综合色婷婷| 欧美性猛交xxxxxx富婆| 精品国产露脸精彩对白| 日本视频在线一区| 亚洲精品伦理在线| 欧美三级在线播放| 欧美激情资源网| 在线视频欧美精品| 亚洲摸摸操操av| 欧美一区2区视频在线观看| 经典一区二区三区| 尤物视频一区二区| 91精品久久久久久久99蜜桃| 久久精品国产秦先生| 亚洲欧美激情插 | 麻豆专区一区二区三区四区五区| 欧美影院一区二区三区| 六月丁香婷婷久久| 国产精品的网站| 在线播放一区二区三区| 极品瑜伽女神91| 中文字幕在线视频一区| 欧美老肥妇做.爰bbww视频| 国产福利不卡视频| 亚洲美女偷拍久久| 亚洲欧美另类小说视频| 欧美无人高清视频在线观看| 国产伦精品一区二区三区免费| 亚洲国产精品久久久久秋霞影院 | 91在线观看污| 日韩高清在线一区| 亚洲免费在线电影| jlzzjlzz亚洲女人18| 久久99久久99精品免视看婷婷| 亚洲美女少妇撒尿| 欧美成人激情免费网| 91国偷自产一区二区开放时间| 国产精品一色哟哟哟| 欧美视频自拍偷拍| 国产专区欧美精品| 肉丝袜脚交视频一区二区| 国产精品视频你懂的| 综合久久一区二区三区| 国产亚洲综合性久久久影院| 欧美一二三在线| 五月天婷婷综合| 一区二区三区欧美激情| 亚洲男女一区二区三区| 日本一二三四高清不卡| 亚洲制服丝袜av| 一区二区三区波多野结衣在线观看| 国产精品高潮呻吟久久| 国产欧美中文在线| 久久精品在这里| 日本一区二区三级电影在线观看| 国产精品久久一卡二卡| 自拍偷拍国产精品| 亚洲精品日韩一| 中文字幕一区二区不卡| 国产农村妇女精品| 国产精品国产三级国产有无不卡 | 欧美日韩在线免费视频| 欧美日韩高清在线播放| 日韩亚洲欧美在线| 国产亚洲一区字幕| 亚洲精品你懂的| 日韩高清在线电影| 国内精品嫩模私拍在线| 亚洲国产欧美在线人成| 蜜桃免费网站一区二区三区 | 国内精品伊人久久久久av一坑| 水蜜桃久久夜色精品一区的特点| 麻豆成人综合网| 成人综合在线观看| 欧美综合色免费| 精品久久久久久久久久久院品网| 国产精品久久99| 日韩高清一区在线| 成人美女视频在线观看18| 欧美性欧美巨大黑白大战| 日韩三区在线观看| 中文字幕在线观看一区| 视频一区免费在线观看| 成人蜜臀av电影| 国产精品免费视频网站| 一区二区三区在线免费播放| 久久成人18免费观看| av中文字幕不卡| 欧美优质美女网站| 久久精品日韩一区二区三区| 亚洲成人免费看| 99re亚洲国产精品| 久久综合久久鬼色中文字| 亚洲综合免费观看高清完整版在线 | 精品福利一区二区三区| 国产精品美女一区二区三区 | 日韩欧美国产精品一区| 国产精品福利影院| 麻豆久久一区二区| 欧美日韩一卡二卡三卡 | 国产一区二区在线观看免费| 色婷婷综合久久久中文字幕| 午夜精品一区二区三区电影天堂 | 大桥未久av一区二区三区中文| 亚洲人成影院在线观看| 国产98色在线|日韩| 欧美日韩成人综合天天影院| 亚洲欧美日本在线| www.一区二区| 国产校园另类小说区| 国内精品自线一区二区三区视频| 欧美午夜一区二区三区| 99精品久久久久久| 日韩一级成人av| 免费在线观看一区| 欧美高清视频在线高清观看mv色露露十八 | 久久久久久久久久美女| 亚洲电影中文字幕在线观看| 97se狠狠狠综合亚洲狠狠| 国产婷婷色一区二区三区四区 | 中文字幕亚洲一区二区va在线| 丁香激情综合国产| 久久免费电影网| 国产一区二区美女| 91久久国产最好的精华液| 国产精品不卡视频| 成人激情免费视频| 中文字幕欧美区| 高清视频一区二区| 国产精品亲子伦对白| 97久久精品人人做人人爽50路| av成人免费在线| 欧美亚洲另类激情小说|