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

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

?? ogrociloaderlayer.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫(kù)
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/****************************************************************************** * $Id: ogrociloaderlayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  Oracle Spatial Driver * Purpose:  Implementation of the OGROCILoaderLayer class.  This implements *           an output only OGRLayer for writing an SQL*Loader file. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2003, Frank Warmerdam <warmerdam@pobox.com> * * 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. ****************************************************************************/#include "ogr_oci.h"#include "cpl_conv.h"#include "cpl_string.h"CPL_CVSID("$Id: ogrociloaderlayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $");/************************************************************************//*                         OGROCILoaderLayer()                          *//************************************************************************/OGROCILoaderLayer::OGROCILoaderLayer( OGROCIDataSource *poDSIn,                                       const char * pszTableName,                                      const char * pszGeomColIn,                                      int nSRIDIn,                                       const char *pszLoaderFilenameIn ){    poDS = poDSIn;    iNextFIDToWrite = 1;    bTruncationReported = FALSE;    bHeaderWritten = FALSE;    nLDRMode = LDRM_UNKNOWN;    poFeatureDefn = new OGRFeatureDefn( pszTableName );    poFeatureDefn->Reference();        pszGeomName = CPLStrdup( pszGeomColIn );    pszFIDName = (char*)CPLGetConfigOption( "OCI_FID", "OGR_FID" );        nSRID = nSRIDIn;    poSRS = poDSIn->FetchSRS( nSRID );    if( poSRS != NULL )        poSRS->Reference();/* -------------------------------------------------------------------- *//*      Open the loader file.                                           *//* -------------------------------------------------------------------- */    pszLoaderFilename = CPLStrdup( pszLoaderFilenameIn );    fpData = NULL;    fpLoader = VSIFOpen( pszLoaderFilename, "wt" );    if( fpLoader == NULL )    {        CPLError( CE_Failure, CPLE_OpenFailed,                   "Failed to open SQL*Loader control file:%s",                   pszLoaderFilename );        return;    }}/************************************************************************//*                         ~OGROCILoaderLayer()                         *//************************************************************************/OGROCILoaderLayer::~OGROCILoaderLayer(){    if( fpData != NULL )        VSIFClose( fpData );    if( fpLoader != NULL )    {        VSIFClose( fpLoader );        FinalizeNewLayer();    }    CPLFree( pszLoaderFilename );    if( poSRS != NULL && poSRS->Dereference() == 0 )        delete poSRS;}/************************************************************************//*                         WriteLoaderHeader()                          *//************************************************************************/void OGROCILoaderLayer::WriteLoaderHeader(){    if( bHeaderWritten )        return;/* -------------------------------------------------------------------- *//*      Determine name of geometry column to use.                       *//* -------------------------------------------------------------------- */    const char *pszGeometryName =         CSLFetchNameValue( papszOptions, "GEOMETRY_NAME" );    if( pszGeometryName == NULL )        pszGeometryName = "ORA_GEOMETRY";/* -------------------------------------------------------------------- *//*      Dermine our operation mode.                                     *//* -------------------------------------------------------------------- */    const char *pszLDRMode = CSLFetchNameValue( papszOptions, "LOADER_MODE" );        if( pszLDRMode != NULL && EQUAL(pszLDRMode,"VARIABLE") )        nLDRMode = LDRM_VARIABLE;    else if( pszLDRMode != NULL && EQUAL(pszLDRMode,"BINARY") )        nLDRMode = LDRM_BINARY;    else        nLDRMode = LDRM_STREAM;/* -------------------------------------------------------------------- *//*      Write loader header info.                                       *//* -------------------------------------------------------------------- */    VSIFPrintf( fpLoader, "LOAD DATA\n" );    if( nLDRMode == LDRM_STREAM )    {        VSIFPrintf( fpLoader, "INFILE *\n" );        VSIFPrintf( fpLoader, "CONTINUEIF NEXT(1:1) = '#'\n" );    }    else if( nLDRMode == LDRM_VARIABLE )    {        const char *pszDataFilename = CPLResetExtension( pszLoaderFilename,                                                          "dat" );        fpData = VSIFOpen( pszDataFilename, "wb" );        if( fpData == NULL )        {            CPLError( CE_Failure, CPLE_OpenFailed,                       "Unable to open data output file `%s'.",                       pszDataFilename );            return;        }                    VSIFPrintf( fpLoader, "INFILE %s \"var 8\"\n", pszDataFilename );    }    const char *pszExpectedFIDName =         CPLGetConfigOption( "OCI_FID", "OGR_FID" );    VSIFPrintf( fpLoader, "INTO TABLE \"%s\" REPLACE\n",                 poFeatureDefn->GetName() );    VSIFPrintf( fpLoader, "FIELDS TERMINATED BY '|'\n" );    VSIFPrintf( fpLoader, "TRAILING NULLCOLS (\n" );    VSIFPrintf( fpLoader, "    %s INTEGER EXTERNAL,\n", pszExpectedFIDName );    VSIFPrintf( fpLoader, "    %s COLUMN OBJECT (\n",                pszGeometryName );    VSIFPrintf( fpLoader, "      SDO_GTYPE INTEGER EXTERNAL,\n" );    VSIFPrintf( fpLoader, "      SDO_ELEM_INFO VARRAY TERMINATED BY '|/'\n" );    VSIFPrintf( fpLoader, "        (elements INTEGER EXTERNAL),\n" );    VSIFPrintf( fpLoader, "      SDO_ORDINATES VARRAY TERMINATED BY '|/'\n" );    VSIFPrintf( fpLoader, "        (ordinates FLOAT EXTERNAL)\n" );    VSIFPrintf( fpLoader, "    ),\n" );/* -------------------------------------------------------------------- *//*      Write user field schema.                                        *//* -------------------------------------------------------------------- */    int iField;    for( iField = 0; iField < poFeatureDefn->GetFieldCount(); iField++ )    {        OGRFieldDefn *poFldDefn = poFeatureDefn->GetFieldDefn(iField);        if( poFldDefn->GetType() == OFTInteger )        {            VSIFPrintf( fpLoader, "    \"%s\" INTEGER EXTERNAL",                         poFldDefn->GetNameRef() );        }        else if( poFldDefn->GetType() == OFTReal )        {            VSIFPrintf( fpLoader, "    \"%s\" FLOAT EXTERNAL",                         poFldDefn->GetNameRef() );        }        else if( poFldDefn->GetType() == OFTString )        {            VSIFPrintf( fpLoader, "    \"%s\" VARCHARC(4)",                         poFldDefn->GetNameRef() );        }        else        {            VSIFPrintf( fpLoader, "    \"%s\" VARCHARC(4)",                         poFldDefn->GetNameRef() );        }        if( iField < poFeatureDefn->GetFieldCount() - 1 )            VSIFPrintf( fpLoader, "," );        VSIFPrintf( fpLoader, "\n" );    }    VSIFPrintf( fpLoader, ")\n" );    if( nLDRMode == LDRM_STREAM )        VSIFPrintf( fpLoader, "begindata\n" );    bHeaderWritten = TRUE;}/************************************************************************//*                           GetNextFeature()                           *//*                                                                      *//*      We override the next feature method because we know that we     *//*      implement the attribute query within the statement and so we    *//*      don't have to test here.   Eventually the spatial query will    *//*      be fully tested within the statement as well.                   *//************************************************************************/OGRFeature *OGROCILoaderLayer::GetNextFeature(){    CPLError( CE_Failure, CPLE_NotSupported,               "GetNextFeature() not supported for an OGROCILoaderLayer." );    return NULL;}/************************************************************************//*                            ResetReading()                            *//************************************************************************/void OGROCILoaderLayer::ResetReading(){    OGROCILayer::ResetReading();}/************************************************************************//*                       WriteFeatureStreamMode()                       *//************************************************************************/OGRErr OGROCILoaderLayer::WriteFeatureStreamMode( OGRFeature *poFeature ){/* -------------------------------------------------------------------- *//*      Write the FID.                                                  *//* -------------------------------------------------------------------- */    VSIFPrintf( fpLoader, " %d|", poFeature->GetFID() );/* -------------------------------------------------------------------- *//*      Set the geometry                                                *//* -------------------------------------------------------------------- */    int  nLineLen = 0;    if( poFeature->GetGeometryRef() != NULL)    {        char szSRID[128];        int  nGType;        int  i;        if( nSRID == -1 )            strcpy( szSRID, "NULL" );        else            sprintf( szSRID, "%d", nSRID );        if( TranslateToSDOGeometry( poFeature->GetGeometryRef(), &nGType )            == OGRERR_NONE )        {            VSIFPrintf( fpLoader, "%d|", nGType );            for( i = 0; i < nElemInfoCount; i++ )            {                VSIFPrintf( fpLoader, "%d|", panElemInfo[i] );                if( ++nLineLen > 18 && i < nElemInfoCount-1 )                {                    VSIFPrintf( fpLoader, "\n#" );                    nLineLen = 0;                }            }            VSIFPrintf( fpLoader, "/" );            for( i = 0; i < nOrdinalCount; i++ )            {                VSIFPrintf( fpLoader, "%.16g|", padfOrdinals[i] );                if( ++nLineLen > 6 && i < nOrdinalCount-1 )                {                    VSIFPrintf( fpLoader, "\n#" );                    nLineLen = 0;                }            }            VSIFPrintf( fpLoader, "/" );        }        else        {            VSIFPrintf( fpLoader, "0|/|/" );        }    }    else    {        VSIFPrintf( fpLoader, "0|/|/" );    }/* -------------------------------------------------------------------- *//*      Set the other fields.                                           *//* -------------------------------------------------------------------- */    int i;    nLineLen = 0;    VSIFPrintf( fpLoader, "\n#" );    for( i = 0; i < poFeatureDefn->GetFieldCount(); i++ )    {        OGRFieldDefn *poFldDefn = poFeatureDefn->GetFieldDefn(i);        if( !poFeature->IsFieldSet( i ) )        {            if( poFldDefn->GetType() != OFTInteger                 && poFldDefn->GetType() != OFTReal )                VSIFPrintf( fpLoader, "%04d", 0 );            continue;        }        const char *pszStrValue = poFeature->GetFieldAsString(i);        if( nLineLen > 70 )        {            VSIFPrintf( fpLoader, "\n#" );            nLineLen = 0;        }        nLineLen += strlen(pszStrValue);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区高清| 国产在线观看一区二区| 五月天精品一区二区三区| 欧美理论在线播放| 久久99国产精品成人| 亚洲欧美综合另类在线卡通| 91精品国产色综合久久| 成人av网站大全| 蜜桃av一区二区在线观看| 日韩理论片一区二区| 欧美一卡二卡三卡| 99精品热视频| 精品一区二区三区视频在线观看| 亚洲同性同志一二三专区| 日韩欧美国产综合一区| 欧美性欧美巨大黑白大战| 美女免费视频一区| 亚洲三级电影全部在线观看高清| 日韩一区二区三区电影在线观看| av欧美精品.com| 黄色精品一二区| 亚洲成人在线观看视频| 国产精品高清亚洲| 久久久www成人免费无遮挡大片| 欧美偷拍一区二区| 成人h精品动漫一区二区三区| 美女免费视频一区二区| 亚洲夂夂婷婷色拍ww47| 日韩午夜精品电影| 日本精品一级二级| 国产91色综合久久免费分享| 日本午夜一区二区| 亚洲五月六月丁香激情| 欧美国产综合色视频| 亚洲精品一区在线观看| 欧美电影在哪看比较好| 色国产精品一区在线观看| 不卡视频在线看| 国产99久久久国产精品潘金网站| 蜜桃精品视频在线| 亚洲1区2区3区4区| 亚洲一区二区三区在线播放| 日韩理论片在线| 亚洲欧洲韩国日本视频| 亚洲国产精品v| 国产人久久人人人人爽| 亚洲精品在线三区| 国产精品美女久久久久久久久 | 99麻豆久久久国产精品免费| 国产综合成人久久大片91| 麻豆精品在线看| 捆绑调教一区二区三区| 美日韩一区二区| 日韩精品免费专区| 婷婷成人综合网| 一区二区日韩电影| 亚洲欧美日本韩国| 亚洲综合一区二区| 亚洲一区欧美一区| 亚洲午夜精品久久久久久久久| 亚洲曰韩产成在线| 国产精品国产三级国产普通话三级| 久久久综合视频| 久久综合九色欧美综合狠狠| 久久先锋影音av| 国产欧美精品区一区二区三区| 国产日韩欧美不卡| 久久人人97超碰com| 久久久久高清精品| 亚洲欧美综合色| 中日韩av电影| 国产精品久久久久三级| 亚洲精品一二三区| 亚洲成人免费视频| 麻豆精品国产传媒mv男同| 久久国产夜色精品鲁鲁99| 青青草原综合久久大伊人精品| 激情亚洲综合在线| 久草在线在线精品观看| 成人深夜在线观看| 在线视频你懂得一区二区三区| 欧美性欧美巨大黑白大战| 在线视频你懂得一区| 91麻豆精品一区二区三区| 欧美午夜片在线观看| 日韩一区二区在线观看视频播放| 精品免费99久久| 久久久综合网站| 国产精品麻豆一区二区| 国产精品色眯眯| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲免费av在线| 日本不卡一二三| 成人av电影在线| 3atv在线一区二区三区| 中文字幕av一区 二区| 亚洲一区国产视频| 国产综合色在线视频区| 91久久奴性调教| 精品黑人一区二区三区久久| 国产精品成人免费在线| 亚洲18影院在线观看| 国产不卡一区视频| 欧美久久一区二区| 国产精品三级电影| 久久精品国产99久久6| 一本久久综合亚洲鲁鲁五月天| 日韩女同互慰一区二区| 一区二区欧美国产| 国产91丝袜在线观看| 国产三级一区二区三区| 亚洲va韩国va欧美va精品| 成人av一区二区三区| 日韩天堂在线观看| 亚洲一区免费观看| 不卡电影一区二区三区| 欧美大黄免费观看| 亚洲一区免费在线观看| 成人av动漫在线| 久久久国产精华| 日韩av电影天堂| 欧美无砖专区一中文字| 国产精品乱子久久久久| 久久99国产精品免费| 在线播放视频一区| 一区二区三区在线免费观看| 成人综合激情网| 久久网站热最新地址| 久久成人羞羞网站| 制服丝袜一区二区三区| 一区二区国产盗摄色噜噜| 成人av网站免费| 国产香蕉久久精品综合网| 免费一区二区视频| 9191久久久久久久久久久| 亚洲第一激情av| 欧美系列日韩一区| 一区二区成人在线视频| 91老师片黄在线观看| 欧美激情一区二区三区| 国产成人高清在线| 久久久久高清精品| 国产精品原创巨作av| 精品国产百合女同互慰| 美女视频一区二区| 精品久久国产97色综合| 精品一区二区三区的国产在线播放| 欧美精品三级日韩久久| 婷婷丁香激情综合| 6080日韩午夜伦伦午夜伦| 日韩精品乱码免费| 欧美高清激情brazzers| 日韩综合小视频| 717成人午夜免费福利电影| 石原莉奈在线亚洲二区| 777色狠狠一区二区三区| 亚洲精品乱码久久久久久久久 | 视频在线观看91| 欧美欧美欧美欧美| 美女一区二区视频| 欧美精品一区二区在线观看| 国产乱码精品一区二区三| 日本一区二区三区四区在线视频 | 高清日韩电视剧大全免费| 国产丝袜在线精品| av午夜一区麻豆| 亚洲精品中文在线影院| 欧美精品粉嫩高潮一区二区| 男女性色大片免费观看一区二区| 日韩欧美视频在线| 精品一区二区三区蜜桃| 国产午夜精品在线观看| 91尤物视频在线观看| 亚洲福利一区二区三区| 9191久久久久久久久久久| 国内久久婷婷综合| 国产精品网站在线| 欧美日精品一区视频| 六月婷婷色综合| 中文一区二区在线观看| 91麻豆国产在线观看| 日韩电影在线免费看| 亚洲精品在线一区二区| 99久久99久久精品免费观看| 国产一区二区三区免费播放| |精品福利一区二区三区| 欧美日韩一卡二卡三卡| 国产一区二区精品久久99| 国产精品灌醉下药二区| 777xxx欧美| 成人短视频下载| 日韩二区三区在线观看| 亚洲国产成人一区二区三区| 色婷婷国产精品综合在线观看| 日韩成人伦理电影在线观看| 久久婷婷成人综合色| 91国模大尺度私拍在线视频| 国产成人午夜精品5599| 另类欧美日韩国产在线| 婷婷激情综合网|