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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ogrpgdatasource.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫(kù)
?? CPP
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
    {        nSRSId = atoi(PQgetvalue(hResult,0,0)) + 1;        OGRPGClearResult( hResult );    }    else    {        nSRSId = 1;    }/* -------------------------------------------------------------------- *//*      Try adding the SRS to the SRS table.                            *//* -------------------------------------------------------------------- */    if( poSRS->exportToWkt( &pszWKT ) != OGRERR_NONE )    {        return -1;    }    CPLAssert( strlen(pszWKT) < sizeof(szCommand) - 500 );    char    *pszProj4 = NULL;    if( poSRS->exportToProj4( &pszProj4 ) != OGRERR_NONE )    {        CPLFree( pszWKT );  // Prevent mem leaks        pszWKT = NULL;		        return -1;    }    sprintf( szCommand,             "INSERT INTO spatial_ref_sys (srid,srtext,proj4text) VALUES (%d,'%s','%s')",             nSRSId, pszWKT, pszProj4 );	    // Free everything that was allocated.    CPLFree( pszProj4 );    CPLFree( pszWKT);    hResult = PQexec(hPGConn, szCommand );    OGRPGClearResult( hResult );    hResult = PQexec(hPGConn, "COMMIT");    OGRPGClearResult( hResult );    return nSRSId;}/************************************************************************//*                        SoftStartTransaction()                        *//*                                                                      *//*      Create a transaction scope.  If we already have a               *//*      transaction active this isn't a real transaction, but just      *//*      an increment to the scope count.                                *//************************************************************************/OGRErr OGRPGDataSource::SoftStartTransaction(){    nSoftTransactionLevel++;    if( nSoftTransactionLevel == 1 )    {        PGresult    *hResult = NULL;        PGconn      *hPGConn = GetPGConn();        //CPLDebug( "OGR_PG", "BEGIN Transaction" );        hResult = PQexec(hPGConn, "BEGIN");        if( !hResult || PQresultStatus(hResult) != PGRES_COMMAND_OK )        {            OGRPGClearResult( hResult );            CPLDebug( "OGR_PG", "BEGIN Transaction failed:\n%s",                      PQerrorMessage( hPGConn ) );            return OGRERR_FAILURE;        }        OGRPGClearResult( hResult );    }    return OGRERR_NONE;}/************************************************************************//*                             SoftCommit()                             *//*                                                                      *//*      Commit the current transaction if we are at the outer           *//*      scope.                                                          *//************************************************************************/OGRErr OGRPGDataSource::SoftCommit(){    EndCopy();    if( nSoftTransactionLevel <= 0 )    {        CPLDebug( "OGR_PG", "SoftCommit() with no transaction active." );        return OGRERR_FAILURE;    }    nSoftTransactionLevel--;    if( nSoftTransactionLevel == 0 )    {        PGresult    *hResult = NULL;        PGconn      *hPGConn = GetPGConn();        //CPLDebug( "OGR_PG", "COMMIT Transaction" );        hResult = PQexec(hPGConn, "COMMIT");        if( !hResult || PQresultStatus(hResult) != PGRES_COMMAND_OK )        {            OGRPGClearResult( hResult );            CPLDebug( "OGR_PG", "COMMIT Transaction failed:\n%s",                      PQerrorMessage( hPGConn ) );            return OGRERR_FAILURE;        }                OGRPGClearResult( hResult );    }    return OGRERR_NONE;}/************************************************************************//*                            SoftRollback()                            *//*                                                                      *//*      Force a rollback of the current transaction if there is one,    *//*      even if we are nested several levels deep.                      *//************************************************************************/OGRErr OGRPGDataSource::SoftRollback(){    if( nSoftTransactionLevel <= 0 )    {        CPLDebug( "OGR_PG", "SoftRollback() with no transaction active." );        return OGRERR_FAILURE;    }    nSoftTransactionLevel = 0;    PGresult    *hResult = NULL;    PGconn      *hPGConn = GetPGConn();    hResult = PQexec(hPGConn, "ROLLBACK");    if( !hResult || PQresultStatus(hResult) != PGRES_COMMAND_OK )    {        OGRPGClearResult( hResult );        return OGRERR_FAILURE;    }    OGRPGClearResult( hResult );    return OGRERR_NONE;}/************************************************************************//*                        FlushSoftTransaction()                        *//*                                                                      *//*      Force the unwinding of any active transaction, and it's         *//*      commit.                                                         *//************************************************************************/OGRErr OGRPGDataSource::FlushSoftTransaction(){    /* This must come first because of ogr2ogr.  If you want       to use ogr2ogr with COPY support, then you must specify       that ogr2ogr does not use transactions.  Thus,        nSoftTransactionLevel will always be zero, so this has       to come first. */    EndCopy();     if( nSoftTransactionLevel <= 0 )        return OGRERR_NONE;    nSoftTransactionLevel = 1;    return SoftCommit();}/************************************************************************//*                             ExecuteSQL()                             *//************************************************************************/OGRLayer * OGRPGDataSource::ExecuteSQL( const char *pszSQLCommand,                                        OGRGeometry *poSpatialFilter,                                        const char *pszDialect ){    if( poSpatialFilter != NULL )    {        CPLDebug( "OGR_PG",          "Spatial filter ignored for now in OGRPGDataSource::ExecuteSQL()" );    }/* -------------------------------------------------------------------- *//*      Use generic implementation for OGRSQL dialect.                  *//* -------------------------------------------------------------------- */    if( pszDialect != NULL && EQUAL(pszDialect,"OGRSQL") )        return OGRDataSource::ExecuteSQL( pszSQLCommand,                                          poSpatialFilter,                                          pszDialect );/* -------------------------------------------------------------------- *//*      Special case DELLAYER: command.                                 *//* -------------------------------------------------------------------- */    if( EQUALN(pszSQLCommand,"DELLAYER:",9) )    {        const char *pszLayerName = pszSQLCommand + 9;        while( *pszLayerName == ' ' )            pszLayerName++;                for( int iLayer = 0; iLayer < nLayers; iLayer++ )        {            if( EQUAL(papoLayers[iLayer]->GetLayerDefn()->GetName(),                       pszLayerName ))            {                DeleteLayer( iLayer );                break;            }        }        return NULL;    }/* -------------------------------------------------------------------- *//*      Execute the statement.                                          *//* -------------------------------------------------------------------- */    PGresult    *hResult = NULL;    FlushSoftTransaction();    if( SoftStartTransaction() == OGRERR_NONE  )    {        CPLDebug( "OGR_PG", "PQexec(%s)", pszSQLCommand );        hResult = PQexec(hPGConn, pszSQLCommand );        CPLDebug( "OGR_PG", "Command Results Tuples = %d", PQntuples(hResult) );    }/* -------------------------------------------------------------------- *//*      Do we have a tuple result? If so, instantiate a results         *//*      layer for it.                                                   *//* -------------------------------------------------------------------- */    if( hResult && PQresultStatus(hResult) == PGRES_TUPLES_OK        && PQntuples(hResult) > 0 )    {        OGRPGResultLayer *poLayer = NULL;        poLayer = new OGRPGResultLayer( this, pszSQLCommand, hResult );        return poLayer;    }/* -------------------------------------------------------------------- *//*      Generate an error report if an error occured.                   *//* -------------------------------------------------------------------- */    if( hResult &&        (PQresultStatus(hResult) == PGRES_NONFATAL_ERROR         || PQresultStatus(hResult) == PGRES_FATAL_ERROR ) )    {        CPLError( CE_Failure, CPLE_AppDefined,                  "%s", PQresultErrorMessage( hResult ) );    }    OGRPGClearResult( hResult );    FlushSoftTransaction();    return NULL;}/************************************************************************//*                          ReleaseResultSet()                          *//************************************************************************/void OGRPGDataSource::ReleaseResultSet( OGRLayer * poLayer ){    delete poLayer;}/************************************************************************//*                            LaunderName()                             *//************************************************************************/char *OGRPGDataSource::LaunderName( const char *pszSrcName ){    char    *pszSafeName = CPLStrdup( pszSrcName );    for( int i = 0; pszSafeName[i] != '\0'; i++ )    {        pszSafeName[i] = (char) tolower( pszSafeName[i] );        if( pszSafeName[i] == '-' || pszSafeName[i] == '#' )            pszSafeName[i] = '_';    }    return pszSafeName;}/************************************************************************//*                             StartCopy()                              *//************************************************************************/void OGRPGDataSource::StartCopy( OGRPGTableLayer *poPGLayer ){    EndCopy();    poLayerInCopyMode = poPGLayer;}/************************************************************************//*                              EndCopy()                               *//************************************************************************/OGRErr OGRPGDataSource::EndCopy( ){    if( poLayerInCopyMode != NULL )    {        OGRErr result = poLayerInCopyMode->EndCopy();        poLayerInCopyMode = NULL;        return result;    }    else        return OGRERR_NONE;}/************************************************************************//*                           CopyInProgress()                           *//************************************************************************/int OGRPGDataSource::CopyInProgress( ){    return ( poLayerInCopyMode != NULL );}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频第一区免费观看| 色综合久久久久综合体| 91在线观看美女| 欧美国产精品一区| 国产真实乱子伦精品视频| 欧美日韩精品系列| 日韩精品久久理论片| 欧美三级乱人伦电影| 亚洲午夜一区二区| 欧美制服丝袜第一页| 亚洲一区二区三区国产| 欧美性色综合网| 亚洲高清不卡在线观看| 欧美日韩视频在线第一区 | 日韩精品乱码免费| 欧美午夜精品免费| 丝袜a∨在线一区二区三区不卡| 在线观看国产一区二区| 亚洲一区二区三区四区在线免费观看 | 美女www一区二区| 久久久国产精品午夜一区ai换脸| www.亚洲在线| 偷拍与自拍一区| 久久精品亚洲国产奇米99 | 欧美日韩和欧美的一区二区| 青娱乐精品视频| 中文字幕一区二区三区蜜月| 欧美一区二区精品久久911| 国产成人综合在线播放| 亚洲资源中文字幕| 久久久久青草大香线综合精品| 日本电影亚洲天堂一区| 国精产品一区一区三区mba桃花 | 亚洲尤物视频在线| 国产亚洲欧美色| 制服丝袜亚洲网站| 99v久久综合狠狠综合久久| 美女脱光内衣内裤视频久久网站 | 日韩欧美一级精品久久| 99久久久精品| 国产乱人伦偷精品视频不卡| 亚洲高清视频的网址| 国产精品国产自产拍在线| 日韩一区二区免费视频| 色综合天天综合网国产成人综合天 | 日韩黄色在线观看| 亚洲欧美国产毛片在线| xfplay精品久久| 在线播放一区二区三区| 99久久精品99国产精品| 国产高清在线观看免费不卡| 无码av免费一区二区三区试看 | 欧美一区二区三区四区高清| 91免费版在线| 风流少妇一区二区| 国产精一区二区三区| 首页国产丝袜综合| 一二三四社区欧美黄| 成人免费一区二区三区视频| 久久久久久久久免费| 欧美不卡在线视频| 日韩一区二区三区电影在线观看 | 欧美大片国产精品| 欧美性xxxxx极品少妇| 91在线观看下载| 成人福利视频在线| 国产精品亚洲一区二区三区在线 | 午夜a成v人精品| 一区二区欧美精品| 亚洲欧美日韩国产手机在线| 国产精品蜜臀av| 中文字幕一区二区三区乱码在线| 国产精品免费观看视频| 中文字幕av不卡| 国产精品系列在线| 中文字幕第一区二区| 国产精品视频一区二区三区不卡| 国产欧美一区二区在线观看| 久久久久久免费网| 欧美极品另类videosde| 国产日韩v精品一区二区| 中文字幕精品综合| 国产精品美女一区二区三区| 国产精品久久久久久一区二区三区| 国产精品萝li| 亚洲啪啪综合av一区二区三区| 中文字幕不卡一区| 综合久久一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 日本vs亚洲vs韩国一区三区| 日本网站在线观看一区二区三区 | 中文字幕综合网| 亚洲精品欧美激情| 偷窥少妇高潮呻吟av久久免费| 丝袜诱惑亚洲看片| 国产一区二区三区四区五区入口 | 成人小视频免费观看| 97久久超碰国产精品| 欧美性受极品xxxx喷水| 欧美成人免费网站| 国产网站一区二区| 一区二区三区**美女毛片| 免费久久99精品国产| 国产一区999| 色噜噜夜夜夜综合网| 91麻豆精品国产综合久久久久久| 欧美va日韩va| 亚洲色图视频网| 免费成人结看片| 成人av免费在线播放| 欧美日韩电影一区| 国产欧美精品一区aⅴ影院| 一区二区理论电影在线观看| 久久电影网电视剧免费观看| 91一区一区三区| 欧美成人猛片aaaaaaa| 中文字幕亚洲不卡| 美女性感视频久久| 91欧美激情一区二区三区成人| 欧美人狂配大交3d怪物一区| 国产日韩欧美综合在线| 午夜精品久久久久久久| 国产精品91xxx| 欧美日韩一级视频| 成人欧美一区二区三区| 精品一区二区三区香蕉蜜桃| 在线日韩一区二区| 国产精品私人自拍| 免费在线看成人av| 欧美在线影院一区二区| 亚洲国产精品v| 久久99久久久久久久久久久| 欧美在线999| 国产精品美女久久久久久久网站| 日本一不卡视频| 91免费精品国自产拍在线不卡| 久久影音资源网| 七七婷婷婷婷精品国产| 欧美亚洲自拍偷拍| 国产精品国产三级国产普通话三级| 日韩电影在线观看网站| 色婷婷久久99综合精品jk白丝| 国产亚洲欧美一区在线观看| 日本vs亚洲vs韩国一区三区二区| 在线一区二区三区四区五区| 日本一区二区动态图| 韩日欧美一区二区三区| 欧美性猛交xxxx乱大交退制版 | 白白色亚洲国产精品| 26uuu国产在线精品一区二区| 视频一区二区三区入口| 在线看国产一区二区| 亚洲视频中文字幕| eeuss鲁片一区二区三区在线观看| 久久精品亚洲一区二区三区浴池 | 国产成人精品在线看| 欧美xxxxx牲另类人与| 美女视频第一区二区三区免费观看网站| 在线观看区一区二| 夜夜精品视频一区二区| 91麻豆国产精品久久| 亚洲三级理论片| 91免费视频观看| 中文字幕中文字幕在线一区 | 亚洲一区二区在线播放相泽| 91碰在线视频| 一区二区三区在线看| 欧美性videosxxxxx| 亚洲成av人片一区二区梦乃| 欧美视频日韩视频在线观看| 亚洲高清免费在线| 7777精品伊人久久久大香线蕉| 天天操天天色综合| 日韩视频国产视频| 久久99国产精品久久99 | 日韩欧美中文字幕制服| 蜜桃久久久久久| 精品国产一区二区精华| 国产精品综合久久| 亚洲欧美在线视频| 欧美综合一区二区三区| 日韩精品五月天| 久久久久久久久久美女| 成人动漫av在线| 洋洋成人永久网站入口| 欧美精品日韩一区| 麻豆成人综合网| 国产精品久久久久影院亚瑟| 91麻豆视频网站| 午夜精品久久久久久久蜜桃app| 日韩欧美国产一区二区在线播放| 久久国产乱子精品免费女| 国产精品网站在线观看| 欧美在线视频全部完| 日av在线不卡| 国产精品理论片在线观看| 欧美三级电影在线观看| 久久国产夜色精品鲁鲁99| 中文字幕中文字幕在线一区| 欧美日韩视频在线观看一区二区三区 |