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

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

?? ogrocidatasource.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 3 頁
字號(hào):
/*      Prepare and execute the geometry validation.                    *//* -------------------------------------------------------------------- */    OGROCIStringBuf oValidateCmd;    OGROCIStatement oValidateStmt( GetSession() );    oValidateCmd.Append( "SELECT c." );    oValidateCmd.Append( poLayer->GetFIDColumn() );    oValidateCmd.Append( ", SDO_GEOM.VALIDATE_GEOMETRY(c." );    oValidateCmd.Append( poLayer->GetGeometryColumn() );    oValidateCmd.Append( ", m.diminfo) from " );    oValidateCmd.Append( poLayer->GetLayerDefn()->GetName() );    oValidateCmd.Append( " c, user_sdo_geom_metadata m WHERE m.table_name= '");    oValidateCmd.Append( poLayer->GetLayerDefn()->GetName() );    oValidateCmd.Append( "' AND m.column_name = '" );    oValidateCmd.Append( poLayer->GetGeometryColumn() );    oValidateCmd.Append( "' AND SDO_GEOM.VALIDATE_GEOMETRY(c." );    oValidateCmd.Append( poLayer->GetGeometryColumn() );    oValidateCmd.Append( ", m.diminfo ) <> 'TRUE'" );    oValidateStmt.Execute( oValidateCmd.GetString() );/* -------------------------------------------------------------------- *//*      Report results to debug stream.                                 *//* -------------------------------------------------------------------- */    char **papszRow;    while( (papszRow = oValidateStmt.SimpleFetchRow()) != NULL )    {        const char *pszReason = papszRow[1];        if( EQUAL(pszReason,"13011") )            pszReason = "13011: value is out of range";        else if( EQUAL(pszReason,"13050") )            pszReason = "13050: unable to construct spatial object";        else if( EQUAL(pszReason,"13349") )            pszReason = "13349: polygon boundary crosses itself";        CPLDebug( "OCI", "Validation failure for FID=%s: %s",                   papszRow[0], pszReason );    }}/************************************************************************//*                            DeleteLayer()                             *//************************************************************************/void OGROCIDataSource::DeleteLayer( const char *pszLayerName ){    int iLayer;/* -------------------------------------------------------------------- *//*      Try to find layer.                                              *//* -------------------------------------------------------------------- */    for( iLayer = 0; iLayer < nLayers; iLayer++ )    {        if( EQUAL(pszLayerName,papoLayers[iLayer]->GetLayerDefn()->GetName()) )        {            pszLayerName = CPLStrdup(papoLayers[iLayer]->GetLayerDefn()->GetName());            break;        }    }    if( iLayer == nLayers )    {        CPLDebug( "OCI", "DeleteLayer: %s not found in layer list." \                  "  Layer * not* deleted.", pszLayerName );        return;    }/* -------------------------------------------------------------------- *//*      Blow away our OGR structures related to the layer.  This is     *//*      pretty dangerous if anything has a reference to this layer!     *//* -------------------------------------------------------------------- */    CPLDebug( "OCI", "DeleteLayer(%s)", pszLayerName );    delete papoLayers[iLayer];    memmove( papoLayers + iLayer, papoLayers + iLayer + 1,              sizeof(void *) * (nLayers - iLayer - 1) );    nLayers--;/* -------------------------------------------------------------------- *//*      Remove from the database.                                       *//* -------------------------------------------------------------------- */    OGROCIStatement oCommand( poSession );    char            szCommand[1024];    sprintf( szCommand, "DROP TABLE \"%s\"", pszLayerName );    oCommand.Execute( szCommand );    sprintf( szCommand,              "DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = '%s'",              pszLayerName );    oCommand.Execute( szCommand );    CPLFree( (char *) pszLayerName );}/************************************************************************//*                            CreateLayer()                             *//************************************************************************/OGRLayer *OGROCIDataSource::CreateLayer( const char * pszLayerName,                               OGRSpatialReference *poSRS,                               OGRwkbGeometryType eType,                               char ** papszOptions ){    char                szCommand[1024];    char               *pszSafeLayerName = CPLStrdup(pszLayerName);    poSession->CleanName( pszSafeLayerName );/* -------------------------------------------------------------------- *//*      Do we already have this layer?  If so, should we blow it        *//*      away?                                                           *//* -------------------------------------------------------------------- */    int iLayer;    for( iLayer = 0; iLayer < nLayers; iLayer++ )    {        if( EQUAL(pszSafeLayerName,                  papoLayers[iLayer]->GetLayerDefn()->GetName()) )        {            if( CSLFetchNameValue( papszOptions, "OVERWRITE" ) != NULL                && !EQUAL(CSLFetchNameValue(papszOptions,"OVERWRITE"),"NO") )            {                DeleteLayer( pszSafeLayerName );            }            else            {                CPLError( CE_Failure, CPLE_AppDefined,                           "Layer %s already exists, CreateLayer failed.\n"                          "Use the layer creation option OVERWRITE=YES to "                          "replace it.",                          pszSafeLayerName );                CPLFree( pszSafeLayerName );                return NULL;            }        }    }/* -------------------------------------------------------------------- *//*      Try to get the SRS Id of this spatial reference system,         *//*      adding tot the srs table if needed.                             *//* -------------------------------------------------------------------- */    char szSRSId[100];    if( CSLFetchNameValue( papszOptions, "SRID" ) != NULL )        strcpy( szSRSId, CSLFetchNameValue( papszOptions, "SRID" ) );         else if( poSRS != NULL )        sprintf( szSRSId, "%d", FetchSRSId( poSRS ) );    else        strcpy( szSRSId, "NULL" );/* -------------------------------------------------------------------- *//*      Determine name of geometry column to use.                       *//* -------------------------------------------------------------------- */    const char *pszGeometryName =         CSLFetchNameValue( papszOptions, "GEOMETRY_NAME" );    if( pszGeometryName == NULL )        pszGeometryName = "ORA_GEOMETRY";/* -------------------------------------------------------------------- *//*      Create a basic table with the FID.  Also include the            *//*      geometry if this is not a PostGIS enabled table.                *//* -------------------------------------------------------------------- */    const char *pszExpectedFIDName =         CPLGetConfigOption( "OCI_FID", "OGR_FID" );           OGROCIStatement oStatement( poSession );    sprintf( szCommand,              "CREATE TABLE \"%s\" ( "             "%s INTEGER, "             "%s %s )",             pszSafeLayerName, pszExpectedFIDName, pszGeometryName, SDO_GEOMETRY );    if( oStatement.Execute( szCommand ) != CE_None )    {        CPLFree( pszSafeLayerName );        return NULL;    }/* -------------------------------------------------------------------- *//*      Create the layer object.                                        *//* -------------------------------------------------------------------- */    const char *pszLoaderFile = CSLFetchNameValue(papszOptions,"LOADER_FILE");    OGROCIWritableLayer *poLayer;    if( pszLoaderFile == NULL )        poLayer = new OGROCITableLayer( this, pszSafeLayerName,                                         EQUAL(szSRSId,"NULL") ? -1 : atoi(szSRSId),                                        TRUE, TRUE );    else        poLayer =             new OGROCILoaderLayer( this, pszSafeLayerName,                                    pszGeometryName,                                   EQUAL(szSRSId,"NULL") ? -1 : atoi(szSRSId),                                   pszLoaderFile );/* -------------------------------------------------------------------- *//*      Set various options on the layer.                               *//* -------------------------------------------------------------------- */    poLayer->SetLaunderFlag( CSLFetchBoolean(papszOptions,"LAUNDER",FALSE) );    poLayer->SetPrecisionFlag( CSLFetchBoolean(papszOptions,"PRECISION",TRUE));    if( CSLFetchNameValue(papszOptions,"DIM") != NULL )        poLayer->SetDimension( atoi(CSLFetchNameValue(papszOptions,"DIM")) );    poLayer->SetOptions( papszOptions );/* -------------------------------------------------------------------- *//*      Add layer to data source layer list.                            *//* -------------------------------------------------------------------- */    papoLayers = (OGROCILayer **)        CPLRealloc( papoLayers,  sizeof(OGROCILayer *) * (nLayers+1) );        papoLayers[nLayers++] = poLayer;    CPLFree( pszSafeLayerName );    return poLayer;}/************************************************************************//*                           TestCapability()                           *//************************************************************************/int OGROCIDataSource::TestCapability( const char * pszCap ){    if( EQUAL(pszCap,ODsCCreateLayer) && bDSUpdate )        return TRUE;    else        return FALSE;}/************************************************************************//*                              GetLayer()                              *//************************************************************************/OGRLayer *OGROCIDataSource::GetLayer( int iLayer ){    if( iLayer < 0 || iLayer >= nLayers )        return NULL;    else        return papoLayers[iLayer];}/************************************************************************//*                             ExecuteSQL()                             *//************************************************************************/OGRLayer * OGROCIDataSource::ExecuteSQL( const char *pszSQLCommand,                                        OGRGeometry *poSpatialFilter,                                        const char *pszDialect ){/* -------------------------------------------------------------------- *//*      Use generic implementation for OGRSQL dialect.                  *//* -------------------------------------------------------------------- */    if( pszDialect != NULL && EQUAL(pszDialect,"OGRSQL") )        return OGRDataSource::ExecuteSQL( pszSQLCommand,                                           poSpatialFilter,                                           pszDialect );/* -------------------------------------------------------------------- *//*      Ensure any pending stuff is flushed to the database.            *//* -------------------------------------------------------------------- */    SyncToDisk();    CPLDebug( "OCI", "ExecuteSQL(%s)", pszSQLCommand );/* -------------------------------------------------------------------- *//*      Special case DELLAYER: command.                                 *//* -------------------------------------------------------------------- */    if( EQUALN(pszSQLCommand,"DELLAYER:",9) )    {        const char *pszLayerName = pszSQLCommand + 9;        while( *pszLayerName == ' ' )            pszLayerName++;        DeleteLayer( pszLayerName );        return NULL;    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区蜜臀| 成人亚洲一区二区一| 欧美性猛交xxxx乱大交退制版| 亚洲国产精华液网站w| 国产精品18久久久久久久网站| 欧美xxx久久| 老司机免费视频一区二区三区| 精品少妇一区二区三区免费观看| 麻豆成人免费电影| 久久婷婷色综合| 成人精品国产一区二区4080| 亚洲欧美综合在线精品| 在线一区二区视频| 亚洲国产欧美一区二区三区丁香婷| 欧美体内she精视频| 三级不卡在线观看| 欧美成人艳星乳罩| 国产不卡高清在线观看视频| 亚洲欧洲日本在线| 欧美日韩国产欧美日美国产精品| 婷婷中文字幕综合| 精品国产区一区| 成人动漫视频在线| 午夜精品爽啪视频| 久久在线观看免费| 成人黄色777网| 香蕉加勒比综合久久| www成人在线观看| 日本二三区不卡| 麻豆91小视频| 国产精品你懂的在线欣赏| 欧美日韩中文国产| 国产1区2区3区精品美女| 亚洲一区在线电影| 国产日韩欧美亚洲| 欧洲av一区二区嗯嗯嗯啊| 精品在线免费观看| 亚洲在线视频网站| 久久久久国色av免费看影院| 在线视频一区二区免费| 国产一区二区电影| 亚洲国产毛片aaaaa无费看| 久久午夜老司机| 欧美日韩国产中文| 大白屁股一区二区视频| 奇米四色…亚洲| 亚洲精品欧美激情| 国产日本一区二区| 日韩一区二区三区三四区视频在线观看 | 成人永久免费视频| 亚洲成人av电影在线| 亚洲国产精品国自产拍av| 91精品国产综合久久国产大片| 风间由美中文字幕在线看视频国产欧美| 亚洲图片有声小说| 国产精品夫妻自拍| 久久精品一级爱片| 日韩美女一区二区三区| 欧亚洲嫩模精品一区三区| caoporn国产一区二区| 精品一区二区免费在线观看| 午夜视频在线观看一区| 亚洲欧美日韩国产综合在线| 中文天堂在线一区| 久久日一线二线三线suv| 91精品国产综合久久久蜜臀粉嫩 | 中文字幕中文乱码欧美一区二区 | 亚洲精品成人精品456| 国产精品情趣视频| 久久精品人人爽人人爽| 精品福利av导航| 欧美一级高清大全免费观看| 欧美三级在线视频| 91国产精品成人| 日本韩国欧美在线| 色香色香欲天天天影视综合网| 成人丝袜视频网| 粉嫩av一区二区三区在线播放 | 欧美精品一区二区三| 欧美精品九九99久久| 欧美日韩一级片在线观看| 日本乱人伦一区| 欧美丝袜丝交足nylons图片| 色综合婷婷久久| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美喷潮久久久xxxxx| 在线免费观看一区| 欧美日本一区二区在线观看| 欧美系列在线观看| 欧美老年两性高潮| 欧美一区二区三区小说| 日韩欧美国产1| 精品日韩一区二区| 欧美激情一区二区三区全黄| 中文字幕av一区二区三区| 中文字幕一区二区三中文字幕| 中文字幕一区二区三区四区不卡| 亚洲图片你懂的| 亚洲国产精品久久人人爱 | 另类欧美日韩国产在线| 另类小说图片综合网| 国产精品原创巨作av| 不卡av在线网| 欧美视频自拍偷拍| 日韩欧美高清一区| 国产精品久久久久久久岛一牛影视 | 国产色91在线| 中文字幕在线观看一区| 亚洲黄色性网站| 日本一区中文字幕| 国产精品一区久久久久| 99国内精品久久| 91精品国模一区二区三区| 久久久国产精品不卡| 亚洲人成影院在线观看| 午夜国产精品影院在线观看| 蜜桃精品在线观看| www..com久久爱| 欧美精品777| 国产精品久久久久久久久免费相片 | 亚洲在线成人精品| 麻豆久久一区二区| 91老师片黄在线观看| 日韩免费观看高清完整版| 国产精品国产馆在线真实露脸 | 亚洲观看高清完整版在线观看| 久久精品国产亚洲一区二区三区| 成人福利视频网站| 欧美精品少妇一区二区三区| 欧美—级在线免费片| 日日夜夜免费精品| 99riav一区二区三区| 欧美xxxxxxxxx| 午夜激情综合网| 91美女福利视频| 久久久精品日韩欧美| 午夜私人影院久久久久| 97国产精品videossex| 精品国产伦一区二区三区免费| 亚洲人成影院在线观看| 国产ts人妖一区二区| 日韩女同互慰一区二区| 亚洲电影一区二区| 91在线视频网址| 国产日产精品1区| 另类人妖一区二区av| 欧美福利电影网| 一片黄亚洲嫩模| 91浏览器在线视频| 中文字幕亚洲不卡| 国产成人午夜片在线观看高清观看| 91精品欧美综合在线观看最新| 一区二区在线观看视频在线观看| 国产成人免费视频网站高清观看视频| 欧美日韩国产a| 一个色在线综合| 91蝌蚪porny| 国产精品视频在线看| 国产美女久久久久| 精品久久久久久久久久久久包黑料| 亚洲午夜精品网| 欧美性一区二区| 亚洲与欧洲av电影| 欧美羞羞免费网站| 亚洲国产日韩综合久久精品| 91国偷自产一区二区使用方法| 国产精品理论在线观看| 国产精品99久久久久久久女警| 欧美电影精品一区二区| 美女视频一区二区| 精品剧情在线观看| 另类小说色综合网站| 精品国产免费久久| 国产精品一区二区你懂的| 久久午夜国产精品| 成人久久视频在线观看| 国产精品美女久久福利网站| 处破女av一区二区| 亚洲欧美成aⅴ人在线观看| 91免费视频网| 亚洲a一区二区| 91精品国产欧美日韩| 日韩av在线免费观看不卡| 日韩欧美一二三四区| 久久国产尿小便嘘嘘尿| 久久精品视频网| 99re热视频精品| 亚洲成人精品一区二区| 欧美精品第1页| 国产精品一区二区久久精品爱涩| 国产免费观看久久| 91免费观看在线| 婷婷丁香久久五月婷婷| 精品国产91乱码一区二区三区 | 国产高清久久久| 亚洲婷婷在线视频| 欧美日韩久久久一区| 国内精品久久久久影院薰衣草| 国产精品青草久久| 欧美日韩国产首页|