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

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

?? dgndump.c

?? GIS系統支持庫Geospatial Data Abstraction Library代碼.GDAL is a translator library for raster geospatial dat
?? C
字號:
/****************************************************************************** * $Id: dgndump.c,v 1.11 2003/05/21 03:42:01 warmerda Exp $ * * Project:  Microstation DGN Access Library * Purpose:  Temporary low level DGN dumper application. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2000, Avenza Systems Inc, http://www.avenza.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. ****************************************************************************** * * $Log: dgndump.c,v $ * Revision 1.11  2003/05/21 03:42:01  warmerda * Expanded tabs * * Revision 1.10  2002/11/11 20:33:56  warmerda * add support for reporting extents * * Revision 1.9  2002/03/14 21:38:27  warmerda * pass update arg to DGNOpen * * Revision 1.8  2002/01/21 20:49:52  warmerda * added spatial search option * * Revision 1.7  2001/08/21 03:01:39  warmerda * added raw_data support * * Revision 1.6  2001/07/18 04:55:16  warmerda * added CPL_CSVID * * Revision 1.5  2001/03/07 13:56:44  warmerda * updated copyright to be held by Avenza Systems * * Revision 1.4  2001/03/07 13:49:37  warmerda * removed attribute dumping, handled by DGNDumpElement() * * Revision 1.3  2001/01/10 16:10:57  warmerda * Added extents reporting * * Revision 1.2  2000/12/28 21:27:38  warmerda * added summary report * * Revision 1.1  2000/12/14 17:11:18  warmerda * New * */#include "dgnlibp.h"CPL_CVSID("$Id: dgndump.c,v 1.11 2003/05/21 03:42:01 warmerda Exp $");static void DGNDumpRawElement( DGNHandle hDGN, DGNElemCore *psCore,                               FILE *fpOut );/************************************************************************//*                               Usage()                                *//************************************************************************/static void Usage(){    printf( "Usage: dgndump [-e xmin ymin xmax ymax] [-s] [-r n] filename.dgn\n" );    printf( "\n" );    printf( "  -e xmin ymin xmax ymax: only get elements within extents.\n" );    printf( "  -s: produce summary report of element types and levels.\n");    printf( "  -r n: report raw binary contents of elements of type n.\n");    exit( 1 );}/************************************************************************//*                                main()                                *//************************************************************************/int main( int argc, char ** argv ){    DGNHandle   hDGN;    DGNElemCore *psElement;    const char  *pszFilename = NULL;    int         bSummary = FALSE, iArg, bRaw = FALSE, bReportExtents = FALSE;    char        achRaw[64];    double      dfSFXMin=0.0, dfSFXMax=0.0, dfSFYMin=0.0, dfSFYMax=0.0;    memset( achRaw, 0, 64 );    for( iArg = 1; iArg < argc; iArg++ )    {        if( strcmp(argv[iArg],"-s") == 0 )        {            bSummary = TRUE;        }        else if( strcmp(argv[iArg],"-e") == 0 && iArg < argc-4 )        {            dfSFXMin = atof(argv[iArg+1]);            dfSFYMin = atof(argv[iArg+2]);            dfSFXMax = atof(argv[iArg+3]);            dfSFYMax = atof(argv[iArg+4]);            iArg += 4;        }        else if( strcmp(argv[iArg],"-r") == 0 && iArg < argc-1 )        {            achRaw[MAX(0,MIN(63,atoi(argv[iArg+1])))] = 1;            bRaw = TRUE;            iArg++;        }        else if( strcmp(argv[iArg],"-extents") == 0 )        {            bReportExtents = TRUE;        }        else if( argv[iArg][0] == '-' || pszFilename != NULL )            Usage();        else             pszFilename = argv[iArg];    }    if( pszFilename == NULL )        Usage();    hDGN = DGNOpen( pszFilename, FALSE );    if( hDGN == NULL )        exit( 1 );    if( bRaw )        DGNSetOptions( hDGN, DGNO_CAPTURE_RAW_DATA );    DGNSetSpatialFilter( hDGN, dfSFXMin, dfSFYMin, dfSFXMax, dfSFYMax );    if( !bSummary )    {        while( (psElement=DGNReadElement(hDGN)) != NULL )        {            DGNDumpElement( hDGN, psElement, stdout );            if( achRaw[psElement->type] != 0 )                DGNDumpRawElement( hDGN, psElement, stdout );            if( bReportExtents )            {                DGNPoint sMin, sMax;                if( DGNGetElementExtents( hDGN, psElement, &sMin, &sMax ) )                    printf( "  Extents: (%.6f,%.6f,%.6f)\n"                            "        to (%.6f,%.6f,%.6f)\n",                            sMin.x, sMin.y, sMin.z,                             sMax.x, sMax.y, sMax.z );            }            DGNFreeElement( hDGN, psElement );        }    }    else    {        const DGNElementInfo    *pasEI;        int                     nCount, i, nLevel, nType;        int                     anLevelTypeCount[128*64];        int                     anLevelCount[64];        int                     anTypeCount[128];        double                  adfExtents[6];        DGNGetExtents( hDGN, adfExtents );        printf( "X Range: %.2f to %.2f\n",                 adfExtents[0], adfExtents[3] );        printf( "Y Range: %.2f to %.2f\n",                 adfExtents[1], adfExtents[4] );        printf( "Z Range: %.2f to %.2f\n",                 adfExtents[2], adfExtents[5] );        pasEI = DGNGetElementIndex( hDGN, &nCount );        printf( "Total Elements: %d\n", nCount );                memset( anLevelTypeCount, 0, 128*64*sizeof(int) );        memset( anLevelCount, 0, 64*sizeof(int) );        memset( anTypeCount, 0, 128*sizeof(int) );        for( i = 0; i < nCount; i++ )        {            anLevelTypeCount[pasEI[i].level * 128 + pasEI[i].type]++;            anLevelCount[pasEI[i].level]++;            anTypeCount[pasEI[i].type]++;        }        printf( "\n" );        printf( "Per Type Report\n" );        printf( "===============\n" );        for( nType = 0; nType < 128; nType++ )        {            if( anTypeCount[nType] != 0 )            {                printf( "Type %s: %d\n",                         DGNTypeToName( nType ),                         anTypeCount[nType] );            }        }        printf( "\n" );        printf( "Per Level Report\n" );        printf( "================\n" );        for( nLevel = 0; nLevel < 64; nLevel++ )        {            if( anLevelCount[nLevel] == 0 )                continue;            printf( "Level %d, %d elements:\n",                     nLevel,                     anLevelCount[nLevel] );            for( nType = 0; nType < 128; nType++ )            {                if( anLevelTypeCount[nLevel * 128 + nType] != 0 )                {                    printf( "  Type %s: %d\n",                             DGNTypeToName( nType ),                             anLevelTypeCount[nLevel*128 + nType] );                }            }            printf( "\n" );        }    }    DGNClose( hDGN );    return 0;}/************************************************************************//*                         DGNDumpRawElement()                          *//************************************************************************/static void DGNDumpRawElement( DGNHandle hDGN, DGNElemCore *psCore,                                FILE *fpOut ){    int         i, iChar = 0;    char        szLine[80];    fprintf( fpOut, "  Raw Data (%d bytes):\n", psCore->raw_bytes );    for( i = 0; i < psCore->raw_bytes; i++ )    {        char    szHex[3];        if( (i % 16) == 0 )                                                     {            sprintf( szLine, "%6d: %71s", i, " " );            iChar = 0;        }        sprintf( szHex, "%02x", psCore->raw_data[i] );        strncpy( szLine+8+iChar*2, szHex, 2 );                if( psCore->raw_data[i] < 32 || psCore->raw_data[i] > 127 )            szLine[42+iChar] = '.';        else            szLine[42+iChar] = psCore->raw_data[i];        if( i == psCore->raw_bytes - 1 || (i+1) % 16 == 0 )        {            fprintf( fpOut, "%s\n", szLine );        }        iChar++;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美丝袜第三区| 亚洲精品日产精品乱码不卡| 日韩欧美精品在线视频| 国产精品美女久久久久久久久| 亚洲精品中文字幕在线观看| 看电影不卡的网站| 色欧美乱欧美15图片| 精品国产区一区| 亚洲高清免费在线| 99re8在线精品视频免费播放| 欧美一级在线免费| 最新国产の精品合集bt伙计| 国产精品网曝门| 美女免费视频一区| 欧洲国产伦久久久久久久| 国产三级欧美三级日产三级99| 亚洲高清视频中文字幕| 99re视频精品| 国产精品色哟哟| 国产精品亚洲一区二区三区妖精| 欧美喷潮久久久xxxxx| 国产精品麻豆网站| 东方aⅴ免费观看久久av| 日韩欧美精品三级| 奇米777欧美一区二区| 欧美三级视频在线| 亚洲一区二区三区自拍| 91蜜桃在线观看| 国产精品国产馆在线真实露脸| 久国产精品韩国三级视频| 欧美一卡二卡三卡四卡| 首页国产欧美久久| 91精品国产综合久久久久久| 亚洲国产成人av网| 欧美日韩一二区| 午夜影院在线观看欧美| 在线免费观看日本一区| 一区二区三区免费| 色综合久久久久久久| 亚洲精品美国一| 欧美在线观看你懂的| 亚洲午夜激情av| 欧美日韩中字一区| 日韩高清不卡在线| 精品国产网站在线观看| 精品一区二区三区香蕉蜜桃| 欧美r级电影在线观看| 久草在线在线精品观看| www久久精品| 不卡一区二区三区四区| 亚洲欧美色一区| 欧美日韩免费观看一区二区三区| 亚洲国产精品一区二区久久恐怖片| 成人动漫一区二区在线| 中文字幕亚洲精品在线观看 | 成人综合在线观看| 国产精品美女久久福利网站| 在线亚洲精品福利网址导航| 亚洲黄色尤物视频| 欧美一级一区二区| 国产精品99久| 一区二区三区国产豹纹内裤在线| 欧美日韩高清一区二区不卡| 精品在线亚洲视频| 国产精品久久久久精k8| 一本到一区二区三区| 日韩精品欧美精品| 国产日韩欧美精品一区| 日本韩国欧美一区二区三区| 亚洲18色成人| 国产日韩精品一区二区三区| 91精品福利视频| 美女尤物国产一区| 日韩毛片一二三区| 日韩午夜激情电影| 97成人超碰视| 青青草成人在线观看| 欧美国产日本韩| 91精品国产综合久久婷婷香蕉| 国产精品亚洲午夜一区二区三区| 亚洲影视在线播放| 国产日韩欧美精品一区| 91麻豆精品国产自产在线| 不卡区在线中文字幕| 麻豆久久久久久久| 一区二区在线观看免费视频播放 | 成人av在线网站| 日本午夜一本久久久综合| 国产精品久久久久一区二区三区共| 在线观看日韩毛片| 成人sese在线| 久久99精品国产.久久久久| 伊人色综合久久天天人手人婷| 欧美哺乳videos| 欧美日韩亚洲另类| 色婷婷av一区二区三区gif| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美日韩中文精品| 韩国三级电影一区二区| 艳妇臀荡乳欲伦亚洲一区| 久久夜色精品国产欧美乱极品| 91老师片黄在线观看| 处破女av一区二区| 美女免费视频一区二区| 亚洲va国产va欧美va观看| 国产精品毛片高清在线完整版| 91精品国产入口| 欧美日韩一区中文字幕| 国产白丝精品91爽爽久久 | 综合色中文字幕| 调教+趴+乳夹+国产+精品| 久久夜色精品国产噜噜av| 欧美tickle裸体挠脚心vk| 国产乱人伦精品一区二区在线观看 | 久久精品国产99国产精品| 午夜精品免费在线观看| 国产精品中文欧美| 国产91精品一区二区麻豆亚洲| 成人黄色小视频| 色欧美片视频在线观看在线视频| 欧美日韩精品一区二区天天拍小说 | 亚洲午夜视频在线观看| 看片的网站亚洲| av不卡一区二区三区| 色婷婷综合五月| 久久综合久久综合久久综合| 国产精品每日更新| 五月激情六月综合| 国精产品一区一区三区mba视频| 色婷婷综合五月| 26uuuu精品一区二区| 亚洲欧美在线观看| 极品美女销魂一区二区三区 | 日韩一区二区精品在线观看| 国产日韩欧美一区二区三区乱码| 中文字幕一区二区三区精华液| 亚洲精品国产无天堂网2021 | 美女视频网站黄色亚洲| 成人av在线网| 91麻豆精品国产91久久久资源速度| 国产三级三级三级精品8ⅰ区| 一区二区三区欧美| 波多野结衣欧美| 91成人看片片| 国产欧美日韩综合| 五月婷婷另类国产| youjizz国产精品| 久久亚洲综合av| 香蕉成人伊视频在线观看| 91色porny在线视频| 国产亚洲欧美色| 日韩精品一级二级 | 色综合久久九月婷婷色综合| 久久夜色精品国产噜噜av| 最新国产精品久久精品| 狠狠狠色丁香婷婷综合久久五月| 在线不卡的av| 亚洲图片激情小说| 久久99精品久久久| 欧美色精品在线视频| 中文字幕一区在线观看| 激情小说欧美图片| 欧美日韩综合不卡| 亚洲品质自拍视频| 成人av网站大全| 久久久久国产精品人| 精品在线一区二区三区| 欧洲精品中文字幕| 亚洲综合视频网| 色婷婷综合久久久中文字幕| 国产精品三级久久久久三级| 懂色av一区二区夜夜嗨| 精品久久久久久亚洲综合网| 视频一区国产视频| 欧美日韩三级在线| 日韩av一区二区在线影视| 欧美日韩一区国产| 丰满亚洲少妇av| 国产三级精品三级| 韩国精品久久久| 国产亚洲综合在线| 国产91丝袜在线播放| 国产色一区二区| 99国产精品久久久久久久久久 | 日韩精品在线一区| 亚洲无人区一区| 欧美日韩免费一区二区三区| 三级精品在线观看| 欧美一区二区播放| 国产精品一级黄| 日韩欧美国产精品一区| 国产91精品欧美| 亚洲女与黑人做爰| 一本大道av伊人久久综合| 亚洲自拍偷拍av| 色婷婷香蕉在线一区二区| 香蕉加勒比综合久久| 日韩欧美国产午夜精品| 另类小说综合欧美亚洲| 国产欧美精品日韩区二区麻豆天美|