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

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

?? ogrpgdatasource.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
                pszGeometryType = "POINT";                break;            case wkbLineString:                pszGeometryType = "LINESTRING";                break;            case wkbPolygon:                pszGeometryType = "POLYGON";                break;            case wkbMultiPoint:                pszGeometryType = "MULTIPOINT";                break;            case wkbMultiLineString:                pszGeometryType = "MULTILINESTRING";                break;            case wkbMultiPolygon:                pszGeometryType = "MULTIPOLYGON";                break;            case wkbGeometryCollection:                pszGeometryType = "GEOMETRYCOLLECTION";                break;            default:                pszGeometryType = "GEOMETRY";                break;        }        sprintf( szCommand,                 "select AddGeometryColumn('%s','%s','%s',%d,'%s',%d)",                 pszSchemaName, pszTableName, pszGFldName, nSRSId, pszGeometryType,                 nDimension );        CPLDebug( "OGR_PG", "PQexec(%s)", szCommand );        hResult = PQexec(hPGConn, szCommand);        if( !hResult            || PQresultStatus(hResult) != PGRES_TUPLES_OK )        {            CPLError( CE_Failure, CPLE_AppDefined,                      "AddGeometryColumn failed for layer %s, layer creation has failed.",                      pszLayerName );            CPLFree( pszLayerName );            CPLFree( pszSchemaName );            OGRPGClearResult( hResult );            hResult = PQexec(hPGConn, "ROLLBACK");            OGRPGClearResult( hResult );            return NULL;        }        OGRPGClearResult( hResult );    }/* -------------------------------------------------------------------- *//*      Complete, and commit the transaction.                           *//* -------------------------------------------------------------------- */    hResult = PQexec(hPGConn, "COMMIT");    OGRPGClearResult( hResult );/* -------------------------------------------------------------------- *//*      Create the layer object.                                        *//* -------------------------------------------------------------------- */    OGRPGTableLayer     *poLayer;    poLayer = new OGRPGTableLayer( this, pszTableName, pszSchemaName, TRUE, nSRSId );    poLayer->SetLaunderFlag( CSLFetchBoolean(papszOptions,"LAUNDER",TRUE) );    poLayer->SetPrecisionFlag( CSLFetchBoolean(papszOptions,"PRECISION",TRUE));/* -------------------------------------------------------------------- *//*      Add layer to data source layer list.                            *//* -------------------------------------------------------------------- */    papoLayers = (OGRPGTableLayer **)        CPLRealloc( papoLayers,  sizeof(OGRPGTableLayer *) * (nLayers+1) );    papoLayers[nLayers++] = poLayer;    CPLFree( pszLayerName );    CPLFree( pszSchemaName );    return poLayer;}/************************************************************************//*                           TestCapability()                           *//************************************************************************/int OGRPGDataSource::TestCapability( const char * pszCap ){    if( EQUAL(pszCap,ODsCCreateLayer)         || EQUAL(pszCap,ODsCDeleteLayer) )        return TRUE;    else        return FALSE;}/************************************************************************//*                              GetLayer()                              *//************************************************************************/OGRLayer *OGRPGDataSource::GetLayer( int iLayer ){    if( iLayer < 0 || iLayer >= nLayers )        return NULL;    else        return papoLayers[iLayer];}/************************************************************************//*                           GetLayerByName()                           *//************************************************************************/OGRLayer *OGRPGDataSource::GetLayerByName( const char *pszName ){    if ( ! pszName )        return NULL;    int  i;        int count = GetLayerCount();    /* first a case sensitive check */    for( i = 0; i < count; i++ )    {        OGRPGTableLayer *poLayer = papoLayers[i];        if( strcmp( pszName, poLayer->GetLayerDefn()->GetName() ) == 0 )            return poLayer;    }            /* then case insensitive */    for( i = 0; i < count; i++ )    {        OGRPGTableLayer *poLayer = papoLayers[i];        if( EQUAL( pszName, poLayer->GetLayerDefn()->GetName() ) )            return poLayer;    }        if( OpenTable( pszName, NULL, TRUE, FALSE ) )        return GetLayer(count);    else        return NULL;}/************************************************************************//*                        OGRPGNoticeProcessor()                        *//************************************************************************/static void OGRPGNoticeProcessor( void *arg, const char * pszMessage ){    CPLDebug( "OGR_PG_NOTICE", "%s", pszMessage );}/************************************************************************//*                      InitializeMetadataTables()                      *//*                                                                      *//*      Create the metadata tables (SPATIAL_REF_SYS and                 *//*      GEOMETRY_COLUMNS).                                              *//************************************************************************/OGRErr OGRPGDataSource::InitializeMetadataTables(){    // implement later.    return OGRERR_FAILURE;}/************************************************************************//*                              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 *OGRPGDataSource::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 spatial_ref_sys table.                        *//* -------------------------------------------------------------------- */    PGresult        *hResult = NULL;    char            szCommand[1024];    OGRSpatialReference *poSRS = NULL;    SoftStartTransaction();    sprintf( szCommand,             "SELECT srtext FROM spatial_ref_sys "             "WHERE srid = %d",             nId );    hResult = PQexec(hPGConn, szCommand );    if( hResult        && PQresultStatus(hResult) == PGRES_TUPLES_OK        && PQntuples(hResult) == 1 )    {        char *pszWKT;        pszWKT = PQgetvalue(hResult,0,0);        poSRS = new OGRSpatialReference();        if( poSRS->importFromWkt( &pszWKT ) != OGRERR_NONE )        {            delete poSRS;            poSRS = NULL;        }    }    OGRPGClearResult( hResult );    SoftCommit();/* -------------------------------------------------------------------- *//*      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 OGRPGDataSource::FetchSRSId( OGRSpatialReference * poSRS ){    PGresult            *hResult = NULL;    char                szCommand[10000];    char                *pszWKT = NULL;    int                 nSRSId = -1;    if( poSRS == NULL )        return -1;/* -------------------------------------------------------------------- *//*      Translate SRS to WKT.                                           *//* -------------------------------------------------------------------- */    if( poSRS->exportToWkt( &pszWKT ) != OGRERR_NONE )        return -1;    CPLAssert( strlen(pszWKT) < sizeof(szCommand) - 500 );/* -------------------------------------------------------------------- *//*      Try to find in the existing table.                              *//* -------------------------------------------------------------------- */    hResult = PQexec(hPGConn, "BEGIN");    OGRPGClearResult( hResult );    sprintf( szCommand,             "SELECT srid FROM spatial_ref_sys WHERE srtext = '%s'",             pszWKT );    hResult = PQexec(hPGConn, szCommand );    CPLFree( pszWKT );  // CM:  Added to prevent mem leaks    pszWKT = NULL;      // CM:  Added/* -------------------------------------------------------------------- *//*      We got it!  Return it.                                          *//* -------------------------------------------------------------------- */    if( hResult && PQresultStatus(hResult) == PGRES_TUPLES_OK        && PQntuples(hResult) > 0 )    {        // TODO: mloskot - replace with strtol() function.        // atoi does not provide any level of diagnostics.        // What about adding CPLAtoi() ?         nSRSId = atoi(PQgetvalue( hResult, 0, 0 ));        OGRPGClearResult( hResult );        hResult = PQexec(hPGConn, "COMMIT");        OGRPGClearResult( hResult );        return nSRSId;    }/* -------------------------------------------------------------------- *//*      If the command actually failed, then the metadata table is      *//*      likely missing. Try defining it.                                *//* -------------------------------------------------------------------- */    int         bTableMissing;    bTableMissing =        hResult == NULL || PQresultStatus(hResult) == PGRES_NONFATAL_ERROR;    hResult = PQexec(hPGConn, "COMMIT");    OGRPGClearResult( hResult );    if( bTableMissing )    {        if( InitializeMetadataTables() != OGRERR_NONE )            return -1;    }/* -------------------------------------------------------------------- *//*      Get the current maximum srid in the srs table.                  *//* -------------------------------------------------------------------- */    hResult = PQexec(hPGConn, "BEGIN");    OGRPGClearResult( hResult );    hResult = PQexec(hPGConn, "SELECT MAX(srid) FROM spatial_ref_sys" );    if( hResult && PQresultStatus(hResult) == PGRES_TUPLES_OK )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产.精品.日韩.另类.中文.在线.播放| 亚洲一区电影777| 欧美日本一区二区| 欧美在线观看视频一区二区三区| av不卡免费电影| 99久久国产综合精品女不卡| 国产在线精品不卡| 国产91丝袜在线播放| 成人网男人的天堂| av一区二区三区四区| av不卡免费电影| 欧美日免费三级在线| 欧美精品自拍偷拍动漫精品| 欧美精品一卡两卡| 精品1区2区在线观看| 久久午夜羞羞影院免费观看| 久久久久久久久97黄色工厂| 国产精品丝袜久久久久久app| 国产精品久久久爽爽爽麻豆色哟哟| 中文无字幕一区二区三区| 日韩美女久久久| 亚洲成人777| 国产揄拍国内精品对白| 99国产精品国产精品久久| 在线一区二区视频| 日韩一区二区免费视频| 久久精品无码一区二区三区| 中文无字幕一区二区三区| 亚洲综合小说图片| 狠狠v欧美v日韩v亚洲ⅴ| eeuss国产一区二区三区| 色天使色偷偷av一区二区| 91精品一区二区三区久久久久久 | 国产91高潮流白浆在线麻豆 | 欧美a级一区二区| 国产精品456| 欧美日韩免费在线视频| 久久亚洲欧美国产精品乐播| 亚洲精品国产一区二区三区四区在线| 美腿丝袜亚洲三区| 日本高清视频一区二区| 欧美精品一区二区三区在线播放| 国产精品人人做人人爽人人添| 亚洲成av人片一区二区| 国产成人精品影院| 7777精品伊人久久久大香线蕉经典版下载 | 欧美精品久久一区| 国产精品天天看| 男男gaygay亚洲| 91在线国产观看| 亚洲精品在线一区二区| 亚洲亚洲精品在线观看| 国产999精品久久久久久绿帽| 欧美久久婷婷综合色| 国产精品久久一级| 国产资源在线一区| 91麻豆精品国产自产在线| 国产精品不卡一区| 国产成人亚洲精品青草天美| 制服丝袜av成人在线看| 亚洲精品一二三四区| 床上的激情91.| 欧美电影免费观看完整版| 一区二区三区精品视频在线| 国产91丝袜在线18| 国产精品丝袜在线| 成人妖精视频yjsp地址| 国产亚洲1区2区3区| 日本中文字幕不卡| 欧美丰满一区二区免费视频| 亚洲午夜在线视频| 在线精品观看国产| 亚洲成人激情综合网| 91女人视频在线观看| 亚洲欧洲一区二区在线播放| 国产精选一区二区三区| 久久久久久毛片| 国产精品资源站在线| 欧美α欧美αv大片| 加勒比av一区二区| 国产欧美精品一区| 懂色一区二区三区免费观看| 国产女人18毛片水真多成人如厕 | 三级不卡在线观看| 欧美一级国产精品| 久久99最新地址| 国产欧美1区2区3区| 成人免费毛片嘿嘿连载视频| 国产精品高潮呻吟久久| 91香蕉视频mp4| 亚洲综合清纯丝袜自拍| 欧美视频三区在线播放| 日韩成人午夜电影| 久久九九99视频| 91在线观看高清| 亚洲第一久久影院| 精品福利一二区| 国产91精品一区二区麻豆网站| 国产精品高潮呻吟| 欧美日韩亚洲另类| 激情综合色综合久久综合| 欧美韩国日本不卡| 欧美体内she精高潮| 麻豆精品视频在线观看视频| 欧美国产日本视频| 欧美日韩免费视频| 国产麻豆日韩欧美久久| 亚洲青青青在线视频| 欧美四级电影网| 国产乱淫av一区二区三区| 一色屋精品亚洲香蕉网站| 91精品午夜视频| 成人精品gif动图一区| 无吗不卡中文字幕| 中文字幕日本不卡| 欧美成人福利视频| 91国内精品野花午夜精品| 日日摸夜夜添夜夜添精品视频| 欧美激情一区二区三区| 91精品国产综合久久精品| 成年人网站91| 捆绑调教一区二区三区| 一区二区在线观看视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩av电影免费观看高清完整版在线观看| 久久综合成人精品亚洲另类欧美 | 欧美电影免费提供在线观看| 99re6这里只有精品视频在线观看| 免费观看在线综合| 亚洲永久精品大片| 国产精品久99| 久久久久综合网| 3d动漫精品啪啪1区2区免费| 91蝌蚪porny九色| 国产精品资源站在线| 蜜桃一区二区三区四区| 一区二区三区欧美亚洲| 中文在线免费一区三区高中清不卡| 欧美一区二区人人喊爽| 精品视频在线视频| 欧美性大战久久久久久久| av不卡在线播放| 99久久er热在这里只有精品66| 精品一区二区三区久久久| 免费成人结看片| 蜜桃精品视频在线| 蜜臀99久久精品久久久久久软件| 亚洲aaa精品| 日韩精品乱码av一区二区| 亚洲一区二区三区四区五区黄| 自拍偷自拍亚洲精品播放| 国产精品色在线观看| 国产日产欧产精品推荐色| 久久久精品国产99久久精品芒果 | 91视频在线观看| 一本久久精品一区二区| 91麻豆免费看片| 在线亚洲高清视频| 欧美美女激情18p| 日韩欧美激情在线| xvideos.蜜桃一区二区| 精品国产乱码久久久久久闺蜜| 精品国产91洋老外米糕| 久久久久久久综合色一本| 国产精品视频你懂的| 亚洲精品大片www| 日日摸夜夜添夜夜添亚洲女人| 久久成人麻豆午夜电影| 国产伦精一区二区三区| av电影天堂一区二区在线观看| www.色精品| 欧美日韩免费高清一区色橹橹 | 久久精品国产精品亚洲精品| 韩国精品久久久| 99久久精品99国产精品| 欧美撒尿777hd撒尿| 欧美大片日本大片免费观看| 精品成人一区二区三区四区| 国产精品污www在线观看| 亚洲美女少妇撒尿| 日本欧美大码aⅴ在线播放| 经典一区二区三区| 色狠狠色噜噜噜综合网| 日韩亚洲欧美一区| 国产精品理伦片| 午夜精品国产更新| 国产精品主播直播| 色av成人天堂桃色av| 日韩欧美国产麻豆| 亚洲日本电影在线| 久久99久久99小草精品免视看| 国产成人8x视频一区二区| 色av综合在线| 国产欧美日韩综合精品一区二区| 亚洲激情图片qvod| 国产精品91一区二区| 欧美日韩美女一区二区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲成人av福利| 91在线你懂得|