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

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

?? ogr2ogr.cpp

?? mitab,讀取MapInfo的地圖文件
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/******************************************************************************
 * $Id: ogr2ogr.cpp,v 1.4 2007/03/22 19:48:35 dmorissette Exp $
 *
 * Project:  OpenGIS Simple Features Reference Implementation
 * Purpose:  Simple client for translating between formats.
 * Author:   Frank Warmerdam, warmerda@home.com
 *
 ******************************************************************************
 * Copyright (c) 1999, Frank Warmerdam
 *
 * 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.
 ******************************************************************************
 *
 * $Log: ogr2ogr.cpp,v $
 * Revision 1.4  2007/03/22 19:48:35  dmorissette
 * Set default output format to "MapInfo File" for this local copy
 *
 * Revision 1.3  2007/03/22 19:19:51  dmorissette
 * Update MITAB copy to a more recent version of ogr2ogr.cpp
 *
 * Revision 1.28  2005/04/14 14:20:24  fwarmerdam
 * More stuff to avoid feature leaks.
 *
 * Revision 1.27  2005/04/14 14:16:37  fwarmerdam
 * Fix from Julien for destroying features in error case.
 *
 * Revision 1.26  2005/03/15 21:18:47  fwarmerdam
 * Added -sql to usage message.
 *
 * Revision 1.25  2004/10/30 15:50:41  fwarmerdam
 * added -skipfailures doc
 *
 * Revision 1.24  2004/06/02 18:06:15  warmerda
 * Fix failure logic when output layer not found.
 *
 * Revision 1.23  2003/05/12 18:08:33  warmerda
 * added 25D settings for -nlt.
 *
 * Revision 1.22  2003/01/22 18:13:35  warmerda
 * use indirect (in DLL) feature creation and destruction
 *
 * Revision 1.21  2003/01/17 20:42:48  warmerda
 * added -preserve_fid and -fid commandline options
 *
 * Revision 1.20  2003/01/08 22:03:17  warmerda
 * Added code to force geometries to polygon or multipolygo if -nlt used
 *
 * Revision 1.19  2002/10/24 02:22:56  warmerda
 * added the -nlt flag
 *
 * Revision 1.18  2002/10/18 14:32:02  warmerda
 * Added -s_srs to usage option list.
 *
 * Revision 1.17  2002/10/03 13:20:31  warmerda
 * improve docs for -append and -update in ogr2ogr
 *
 * Revision 1.16  2002/05/09 16:32:29  warmerda
 * added -sql, -update and -append options
 *
 * Revision 1.15  2002/03/05 14:25:14  warmerda
 * expand tabs
 *
 * Revision 1.14  2002/01/18 04:46:38  warmerda
 * added -s_srs support
 *
 * Revision 1.13  2001/11/15 21:18:59  warmerda
 * added transaction grouping on the write side
 *
 * Revision 1.12  2001/10/25 22:33:16  danmo
 * Added support for -select option
 *
 * Revision 1.11  2001/09/27 14:50:10  warmerda
 * added untested -spat and -where support
 *
 * Revision 1.10  2001/09/21 16:19:50  warmerda
 * added support for -a_srs and -t_srs options
 *
 * Revision 1.9  2001/07/18 05:03:05  warmerda
 * added CPL_CVSID
 *
 * Revision 1.8  2001/06/26 20:58:20  warmerda
 * added -nln switch
 *
 * Revision 1.7  2000/12/05 23:09:05  warmerda
 * improved error testing, added lots of CPLResetError calls
 *
 * Revision 1.6  2000/10/17 02:23:33  warmerda
 * improve error reporting
 *
 * Revision 1.5  2000/06/19 18:46:59  warmerda
 * added -skipfailures
 *
 * Revision 1.4  2000/06/09 21:15:19  warmerda
 * made CreateField and SetFrom forgiving
 *
 * Revision 1.3  2000/03/14 21:37:35  warmerda
 * added support for passing options to create methods
 *
 * Revision 1.2  1999/11/18 19:02:19  warmerda
 * expanded tabs
 *
 * Revision 1.1  1999/11/04 21:07:53  warmerda
 * New
 *
 */

#include "ogrsf_frmts.h"
#include "cpl_conv.h"
#include "cpl_string.h"

CPL_CVSID("$Id: ogr2ogr.cpp,v 1.4 2007/03/22 19:48:35 dmorissette Exp $");

static void Usage();

static int TranslateLayer( OGRDataSource *poSrcDS, 
                           OGRLayer * poSrcLayer,
                           OGRDataSource *poDstDS,
                           char ** papszLSCO,
                           const char *pszNewLayerName,
                           int bTransform, 
                           OGRSpatialReference *poOutputSRS,
                           OGRSpatialReference *poSourceSRS,
                           char **papszSelFields,
                           int bAppend, int eGType );

static int bSkipFailures = FALSE;
static int nGroupTransactions = 200;
static int bPreserveFID = FALSE;
static int nFIDToFetch = OGRNullFID;

/************************************************************************/
/*                                main()                                */
/************************************************************************/

int main( int nArgc, char ** papszArgv )

{
    const char  *pszFormat = "MapInfo File";
    const char  *pszDataSource = NULL;
    const char  *pszDestDataSource = NULL;
    char        **papszLayers = NULL;
    char        **papszDSCO = NULL, **papszLCO = NULL;
    int         bTransform = FALSE;
    int         bAppend = FALSE, bUpdate = FALSE;
    const char  *pszOutputSRSDef = NULL;
    const char  *pszSourceSRSDef = NULL;
    OGRSpatialReference *poOutputSRS = NULL;
    OGRSpatialReference *poSourceSRS = NULL;
    const char  *pszNewLayerName = NULL;
    const char  *pszWHERE = NULL;
    OGRGeometry *poSpatialFilter = NULL;
    const char  *pszSelect;
    char        **papszSelFields = NULL;
    const char  *pszSQLStatement = NULL;
    int         eGType = -2;

/* -------------------------------------------------------------------- */
/*      Register format(s).                                             */
/* -------------------------------------------------------------------- */
    // OGRRegisterAll();
    RegisterOGRTAB();

/* -------------------------------------------------------------------- */
/*      Processing command line arguments.                              */
/* -------------------------------------------------------------------- */
    for( int iArg = 1; iArg < nArgc; iArg++ )
    {
        if( EQUAL(papszArgv[iArg],"-f") && iArg < nArgc-1 )
        {
            pszFormat = papszArgv[++iArg];
        }
        else if( EQUAL(papszArgv[iArg],"-dsco") && iArg < nArgc-1 )
        {
            papszDSCO = CSLAddString(papszDSCO, papszArgv[++iArg] );
        }
        else if( EQUAL(papszArgv[iArg],"-lco") && iArg < nArgc-1 )
        {
            papszLCO = CSLAddString(papszLCO, papszArgv[++iArg] );
        }
        else if( EQUAL(papszArgv[iArg],"-preserve_fid") )
        {
            bPreserveFID = TRUE;
        }
        else if( EQUALN(papszArgv[iArg],"-skip",5) )
        {
            bSkipFailures = TRUE;
        }
        else if( EQUAL(papszArgv[iArg],"-append") )
        {
            bAppend = TRUE;
        }
        else if( EQUAL(papszArgv[iArg],"-update") )
        {
            bUpdate = TRUE;
        }
        else if( EQUAL(papszArgv[iArg],"-fid") && papszArgv[iArg+1] != NULL )
        {
            nFIDToFetch = atoi(papszArgv[++iArg]);
        }
        else if( EQUAL(papszArgv[iArg],"-sql") && papszArgv[iArg+1] != NULL )
        {
            pszSQLStatement = papszArgv[++iArg];
        }
        else if( EQUAL(papszArgv[iArg],"-nln") && iArg < nArgc-1 )
        {
            pszNewLayerName = papszArgv[++iArg];
        }
        else if( EQUAL(papszArgv[iArg],"-nlt") && iArg < nArgc-1 )
        {
            if( EQUAL(papszArgv[iArg+1],"NONE") )
                eGType = wkbNone;
            else if( EQUAL(papszArgv[iArg+1],"GEOMETRY") )
                eGType = wkbUnknown;
            else if( EQUAL(papszArgv[iArg+1],"POINT") )
                eGType = wkbPoint;
            else if( EQUAL(papszArgv[iArg+1],"LINESTRING") )
                eGType = wkbLineString;
            else if( EQUAL(papszArgv[iArg+1],"POLYGON") )
                eGType = wkbPolygon;
            else if( EQUAL(papszArgv[iArg+1],"GEOMETRYCOLLECTION") )
                eGType = wkbGeometryCollection;
            else if( EQUAL(papszArgv[iArg+1],"MULTIPOINT") )
                eGType = wkbMultiPoint;
            else if( EQUAL(papszArgv[iArg+1],"MULTILINESTRING") )
                eGType = wkbMultiLineString;
            else if( EQUAL(papszArgv[iArg+1],"MULTIPOLYGON") )
                eGType = wkbMultiPolygon;
            else if( EQUAL(papszArgv[iArg+1],"GEOMETRY25D") )
                eGType = wkbUnknown | wkb25DBit;
            else if( EQUAL(papszArgv[iArg+1],"POINT25D") )
                eGType = wkbPoint25D;
            else if( EQUAL(papszArgv[iArg+1],"LINESTRING25D") )
                eGType = wkbLineString25D;
            else if( EQUAL(papszArgv[iArg+1],"POLYGON25D") )
                eGType = wkbPolygon25D;
            else if( EQUAL(papszArgv[iArg+1],"GEOMETRYCOLLECTION25D") )
                eGType = wkbGeometryCollection25D;
            else if( EQUAL(papszArgv[iArg+1],"MULTIPOINT25D") )
                eGType = wkbMultiPoint25D;
            else if( EQUAL(papszArgv[iArg+1],"MULTILINESTRING25D") )
                eGType = wkbMultiLineString25D;
            else if( EQUAL(papszArgv[iArg+1],"MULTIPOLYGON25D") )
                eGType = wkbMultiPolygon25D;
            else
            {
                fprintf( stderr, "-nlt %s: type not recognised.\n", 
                         papszArgv[iArg+1] );
                exit( 1 );
            }
            iArg++;
        }
        else if( EQUAL(papszArgv[iArg],"-tg") && iArg < nArgc-1 )
        {
            nGroupTransactions = atoi(papszArgv[++iArg]);
        }
        else if( EQUAL(papszArgv[iArg],"-s_srs") && iArg < nArgc-1 )
        {
            pszSourceSRSDef = papszArgv[++iArg];
        }
        else if( EQUAL(papszArgv[iArg],"-a_srs") && iArg < nArgc-1 )
        {
            pszOutputSRSDef = papszArgv[++iArg];
        }
        else if( EQUAL(papszArgv[iArg],"-t_srs") && iArg < nArgc-1 )
        {
            pszOutputSRSDef = papszArgv[++iArg];
            bTransform = TRUE;
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美电影一区二区| 国产综合色在线| 不卡欧美aaaaa| 经典三级一区二区| 国产一区二区在线观看免费| 久久国产精品免费| 久久国产精品露脸对白| 国产资源精品在线观看| 国内国产精品久久| 国产成人高清在线| 成av人片一区二区| 91麻豆精品在线观看| 91一区在线观看| 欧美三电影在线| 91精品国产品国语在线不卡| 日韩女优制服丝袜电影| 久久精品在线免费观看| 日本一区二区久久| 亚洲精品高清在线观看| 丝袜国产日韩另类美女| 国内不卡的二区三区中文字幕 | 日韩有码一区二区三区| 日韩av电影天堂| 精品在线免费视频| 国产91在线观看丝袜| 日本精品裸体写真集在线观看| 91福利视频在线| 五月天精品一区二区三区| 婷婷综合在线观看| 国产一区久久久| 97精品久久久久中文字幕| 欧美日韩一区高清| 久久女同性恋中文字幕| 中文字幕在线一区| 五月天激情综合网| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成a人片国产精品| 欧美色成人综合| 26uuu另类欧美| 国产精品乱人伦一区二区| 亚洲一区二区三区在线播放| 美女一区二区三区| www..com久久爱| 欧美一区二区日韩一区二区| 欧美国产日本视频| 日韩黄色免费网站| 成人小视频免费在线观看| 欧美视频一区二区三区在线观看| 欧美一级日韩不卡播放免费| 国产精品国产a| 4hu四虎永久在线影院成人| 精品福利在线导航| 亚洲一区二区综合| 国产在线视频精品一区| 欧美影院一区二区三区| 久久久精品tv| 午夜电影网亚洲视频| 成av人片一区二区| 欧美tk—视频vk| 亚洲一级片在线观看| 国产黄色精品视频| 在线电影院国产精品| 国产精品美女久久久久久久久| 天天影视涩香欲综合网| 99久久精品久久久久久清纯| 精品嫩草影院久久| 亚洲成av人片一区二区三区| 成人av网站在线| 26uuu久久综合| 日本欧美一区二区三区| 91网站黄www| 久久久99精品久久| 男女性色大片免费观看一区二区| 91丨porny丨在线| 久久一区二区三区四区| 日韩av高清在线观看| 91精品1区2区| 综合婷婷亚洲小说| 国产精品系列在线播放| 日韩一区二区三区在线视频| 亚洲sss视频在线视频| 自拍偷拍亚洲欧美日韩| 国产久卡久卡久卡久卡视频精品| 欧美色视频在线| 亚洲欧美另类久久久精品2019| 国产a区久久久| 久久久久久亚洲综合影院红桃 | 91丝袜高跟美女视频| 国产欧美1区2区3区| 日本va欧美va瓶| 欧美伊人久久久久久午夜久久久久| ㊣最新国产の精品bt伙计久久| 国产成人自拍高清视频在线免费播放| 精品少妇一区二区三区视频免付费| 日韩精品一二三四| 欧美丰满高潮xxxx喷水动漫| 亚洲超碰精品一区二区| 欧美天天综合网| 亚洲大片一区二区三区| 欧美在线观看你懂的| 亚洲综合成人网| 欧洲精品在线观看| 亚洲综合在线电影| 欧美在线观看禁18| 午夜激情久久久| 欧美一区二区三区系列电影| 美女国产一区二区三区| 精品久久人人做人人爰| 国产精品中文字幕欧美| 欧美韩国日本综合| 99久久国产综合精品女不卡| 自拍视频在线观看一区二区| 在线观看亚洲精品视频| 亚洲h精品动漫在线观看| 欧美三日本三级三级在线播放| 亚洲一区二区三区视频在线播放| 色婷婷亚洲精品| 亚洲一区二区三区爽爽爽爽爽 | 国产精品初高中害羞小美女文| caoporm超碰国产精品| 亚洲日本欧美天堂| 欧美日韩在线三级| 麻豆成人综合网| 国产亚洲一区二区在线观看| 成人综合在线视频| 亚洲精品成人精品456| 欧美日韩亚洲国产综合| 毛片av中文字幕一区二区| 久久久久国产精品麻豆ai换脸| 成人精品视频一区二区三区| proumb性欧美在线观看| 亚洲精品中文在线观看| 8x8x8国产精品| 国产精品综合网| 亚洲欧美日韩久久| 7777女厕盗摄久久久| 国精产品一区一区三区mba桃花| 国产精品福利一区二区| 欧美精品一二三四| 国产乱码精品一区二区三区忘忧草| 综合久久久久久久| 日韩一级片网址| 成人avav在线| 日日欢夜夜爽一区| 欧美激情在线看| 欧美色图片你懂的| 国产91丝袜在线18| 性欧美大战久久久久久久久| 久久一区二区三区四区| 欧美性色欧美a在线播放| 久久99精品视频| 洋洋成人永久网站入口| 久久久久久久久久久久久久久99| 色爱区综合激月婷婷| 国产精选一区二区三区| 亚洲电影一级黄| 国产精品久久一级| 欧美刺激午夜性久久久久久久| 91碰在线视频| 韩日欧美一区二区三区| 亚洲高清视频中文字幕| 国产欧美精品一区二区色综合| 欧美福利视频一区| 91在线云播放| 国产一区二区精品久久| 亚洲bt欧美bt精品| 亚洲欧美日本在线| 国产色产综合产在线视频| 欧美一区二区三区四区在线观看 | 日韩欧美一区在线| 91亚洲永久精品| 国产精品中文有码| 欧美a级理论片| 亚洲成人在线观看视频| 国产精品三级久久久久三级| 日韩欧美一区电影| 在线不卡中文字幕| 在线免费一区三区| 成人av网站大全| 国产成人久久精品77777最新版本| 日本va欧美va瓶| 天天爽夜夜爽夜夜爽精品视频| 亚洲视频网在线直播| 国产精品无人区| 久久精品免视看| 精品播放一区二区| 欧美一级艳片视频免费观看| 91传媒视频在线播放| thepron国产精品| 成人不卡免费av| 国产老肥熟一区二区三区| 激情另类小说区图片区视频区| 免费人成黄页网站在线一区二区| 亚洲一区二区不卡免费| 亚洲免费高清视频在线| 亚洲男人天堂av网| 亚洲视频1区2区| 亚洲人成网站在线| 亚洲乱码国产乱码精品精的特点| 中文字幕第一区第二区|