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

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

?? ogrdodslayer.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
字號:
/****************************************************************************** * $Id: ogrdodslayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  OGR/DODS Interface * Purpose:  Implements OGRDODSLayer class. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2004, 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_dods.h"#include "cpl_conv.h"CPL_CVSID("$Id: ogrdodslayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $");/************************************************************************//*                            OGRDODSLayer()                            *//************************************************************************/OGRDODSLayer::OGRDODSLayer( OGRDODSDataSource *poDSIn,                             const char *pszTargetIn,                            AttrTable *poOGRLayerInfoIn ){    poDS = poDSIn;    poFeatureDefn = NULL;    pszQuery = NULL;    pszFIDColumn = NULL;    poSRS = NULL;    iNextShapeId = 0;    pszTarget = CPLStrdup( pszTargetIn );    papoFields = NULL;    bDataLoaded = FALSE;    poConnection = NULL;    poTargetVar = NULL;    poOGRLayerInfo = poOGRLayerInfoIn;    bKnowExtent = FALSE;    poDataDDS = new DataDDS( poDSIn->poBTF );/* ==================================================================== *//*      Harvest some metadata if available.                             *//* ==================================================================== */    if( poOGRLayerInfo != NULL )    {        string oMValue;/* -------------------------------------------------------------------- *//*      spatial_ref                                                     *//* -------------------------------------------------------------------- */        oMValue = poOGRLayerInfo->get_attr( "spatial_ref" );        if( oMValue.length() > 0 )        {            poSRS = new OGRSpatialReference();            if( poSRS->SetFromUserInput( oMValue.c_str() ) != OGRERR_NONE )            {                CPLError( CE_Warning, CPLE_AppDefined,                           "Ignoring unreconised SRS '%s'",                           oMValue.c_str() );                delete poSRS;                poSRS = NULL;            }        }/* -------------------------------------------------------------------- *//*      Layer extents.                                                  *//* -------------------------------------------------------------------- */        AttrTable *poLayerExt=poOGRLayerInfo->find_container("layer_extents");        if( poLayerExt != NULL )        {            bKnowExtent = TRUE;            sExtent.MinX = atof(poLayerExt->get_attr("x_min").c_str());            sExtent.MaxX = atof(poLayerExt->get_attr("x_max").c_str());            sExtent.MinY = atof(poLayerExt->get_attr("y_min").c_str());            sExtent.MaxY = atof(poLayerExt->get_attr("y_max").c_str());        }    }/* ==================================================================== *//*      Are we actually referencing a nested subsequence?  If so, we    *//*      need to find the super sequence so we can do the layered        *//*      stepping.                                                       *//* ==================================================================== */}/************************************************************************//*                           ~OGRDODSLayer()                            *//************************************************************************/OGRDODSLayer::~OGRDODSLayer(){    if( m_nFeaturesRead > 0 && poFeatureDefn != NULL )    {        CPLDebug( "DODS", "%d features read on layer '%s'.",                  (int) m_nFeaturesRead,                   poFeatureDefn->GetName() );    }    if( papoFields != NULL )    {        int iField;        for( iField = 0; iField < poFeatureDefn->GetFieldCount(); iField++ )            delete papoFields[iField];        CPLFree( papoFields );    }    if( poSRS != NULL )        poSRS->Release();    if( poFeatureDefn != NULL )        poFeatureDefn->Release();    CPLFree( pszFIDColumn );    pszFIDColumn = NULL;    CPLFree( pszTarget );    pszTarget = NULL;    if( poConnection != NULL )        delete poConnection;    delete poDataDDS;}/************************************************************************//*                            ResetReading()                            *//************************************************************************/void OGRDODSLayer::ResetReading(){    iNextShapeId = 0;}/************************************************************************//*                           GetNextFeature()                           *//************************************************************************/OGRFeature *OGRDODSLayer::GetNextFeature(){    OGRFeature *poFeature;    for( poFeature = GetFeature( iNextShapeId++ );          poFeature != NULL;         poFeature = GetFeature( iNextShapeId++ ) )    {        if( FilterGeometry( poFeature->GetGeometryRef() )            && (m_poAttrQuery == NULL                || m_poAttrQuery->Evaluate( poFeature )) )            return poFeature;        delete poFeature;    }    return NULL;}/************************************************************************//*                           TestCapability()                           *//************************************************************************/int OGRDODSLayer::TestCapability( const char * pszCap ){    return FALSE;}/************************************************************************//*                           GetSpatialRef()                            *//************************************************************************/OGRSpatialReference *OGRDODSLayer::GetSpatialRef(){    return poSRS;}/************************************************************************//*                           ProvideDataDDS()                           *//************************************************************************/int OGRDODSLayer::ProvideDataDDS(){    if( bDataLoaded )        return poTargetVar != NULL;    bDataLoaded = TRUE;    try    {        poConnection = new AISConnect( poDS->oBaseURL );        CPLDebug( "DODS", "request_data(%s,%s)",                  poDS->oBaseURL.c_str(),                  (poDS->oProjection + poDS->oConstraints).c_str() );        // We may need to use custom constraints here.         poConnection->request_data( *poDataDDS,                                     poDS->oProjection + poDS->oConstraints );    }    catch (Error &e)    {        CPLError( CE_Failure, CPLE_AppDefined,                  "DataDDS request failed:\n%s",                   e.get_error_message().c_str() );        return FALSE;    }    poTargetVar = poDataDDS->var( pszTarget );    return poTargetVar != NULL;}/************************************************************************//*                             GetExtent()                              *//************************************************************************/OGRErr OGRDODSLayer::GetExtent(OGREnvelope *psExtent, int bForce){    OGRErr eErr;    if( bKnowExtent )    {        *psExtent = this->sExtent;        return OGRERR_NONE;    }    if( !bForce )        return OGRERR_FAILURE;    eErr = OGRLayer::GetExtent( &sExtent, bForce );    if( eErr == OGRERR_NONE )    {        bKnowExtent = TRUE;        *psExtent = sExtent;    }    return eErr;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美黄色| 亚洲午夜国产一区99re久久| 不卡的av在线| 日本三级亚洲精品| 国产精品久久久久久久久快鸭| 日本久久一区二区| 免费成人结看片| 国产精品久久久久婷婷| 亚洲精品在线免费观看视频| kk眼镜猥琐国模调教系列一区二区 | 欧美精品日韩综合在线| 国产馆精品极品| 日本成人在线网站| 一区二区久久久久| 国产精品成人午夜| 久久午夜电影网| 精品蜜桃在线看| 91精品国产乱| 在线不卡免费欧美| 欧美色手机在线观看| 成人精品视频一区二区三区| 捆绑调教美女网站视频一区| 久久久久久久性| 久久久久久久久久久久电影 | 亚洲福利视频导航| 亚洲一区二区精品视频| 亚洲精品综合在线| 一区二区激情视频| 日韩精品电影在线| 奇米一区二区三区| 日本女人一区二区三区| 天天影视涩香欲综合网| 国产一区二区精品久久99| 国产一区二区三区免费看| 国产成人免费在线视频| 成人福利电影精品一区二区在线观看| 天堂午夜影视日韩欧美一区二区| 香蕉成人啪国产精品视频综合网| 日本不卡123| 国产剧情一区二区| 欧美性做爰猛烈叫床潮| 日韩西西人体444www| 国产网站一区二区| 香蕉av福利精品导航| 国产精品影音先锋| 欧美在线观看视频一区二区三区 | 91在线精品一区二区三区| 欧美亚洲动漫另类| 欧美激情一区二区三区四区| 亚洲一区电影777| 精品在线观看视频| 日本精品裸体写真集在线观看 | 欧美日韩性生活| 国产精品美女一区二区三区| 欧美aⅴ一区二区三区视频| 粉嫩aⅴ一区二区三区四区五区| 色八戒一区二区三区| 欧美一区二区三区精品| 一区二区三区视频在线观看| 国产一区二区三区在线观看免费 | 一区二区三区影院| 日本成人在线看| 91精品欧美综合在线观看最新| 免费的国产精品| 成人欧美一区二区三区白人| 国产又粗又猛又爽又黄91精品| 欧美体内she精高潮| 国产精品乱人伦| 国产一区二区三区四区五区入口 | 91成人免费在线| 首页欧美精品中文字幕| 在线影视一区二区三区| 亚洲图片一区二区| 欧美精品v国产精品v日韩精品| 日本三级亚洲精品| 国产欧美日韩不卡免费| av一区二区三区在线| 亚洲精品国产a久久久久久| 在线国产电影不卡| 亚洲伦理在线精品| 亚洲视频一二三| 在线不卡a资源高清| 成人sese在线| 国产校园另类小说区| 国产精品国产三级国产| 亚洲视频免费在线观看| 免费高清在线一区| 欧美国产精品一区二区三区| 亚洲黄色av一区| 不卡的av电影| 国产亚洲短视频| 天堂精品中文字幕在线| 美女诱惑一区二区| 91网站在线播放| av中文字幕不卡| 91精品欧美一区二区三区综合在| 欧美成人精精品一区二区频| 亚洲色图欧洲色图| 日韩av一二三| 国产精品18久久久| 色94色欧美sute亚洲线路一久 | 美国三级日本三级久久99| 91污片在线观看| 久久久美女艺术照精彩视频福利播放| 国产亚洲污的网站| 免费看日韩精品| 91猫先生在线| 国产精品视频yy9299一区| 免费在线观看一区| 欧洲国产伦久久久久久久| 国产精品久久福利| 狠狠色丁香婷婷综合| 北条麻妃一区二区三区| 日韩精品一区二区在线观看| 亚洲黄色片在线观看| 91香蕉国产在线观看软件| 久久综合久久鬼色中文字| 一级精品视频在线观看宜春院 | 亚洲精品成人少妇| 91啪九色porn原创视频在线观看| 亚洲欧洲在线观看av| 91免费版在线| 日韩av高清在线观看| 欧美岛国在线观看| 成人app网站| 亚洲大尺度视频在线观看| 日韩欧美专区在线| 蜜臀国产一区二区三区在线播放| 精品视频999| 肉丝袜脚交视频一区二区| 91麻豆精品国产自产在线观看一区| 一区二区成人在线| 日韩一区二区三区视频在线观看| 精品亚洲国内自在自线福利| 久久午夜羞羞影院免费观看| 成人av在线资源网站| 激情综合网激情| 中文字幕一区二区三| 欧美伊人久久久久久午夜久久久久| 亚洲一区二区在线视频| 日韩一区二区在线观看视频| 蜜臀av性久久久久蜜臀av麻豆| 久久影视一区二区| 欧洲激情一区二区| 麻豆精品视频在线| 国产精品传媒视频| 日韩欧美在线影院| 日本高清不卡在线观看| 奇米在线7777在线精品| 中文字幕一区二区在线播放| 欧美日韩国产综合一区二区| 国产不卡视频一区二区三区| 蜜桃久久久久久久| 夜夜嗨av一区二区三区四季av | 精品亚洲免费视频| 五月婷婷色综合| 亚洲激情图片一区| 国产欧美日韩精品一区| 欧美成人艳星乳罩| 久久奇米777| 精品99一区二区| 91麻豆精品国产91久久久久久久久| av电影在线观看完整版一区二区 | 日韩视频永久免费| 在线观看视频91| 一本大道久久a久久精二百| 成人性生交大合| 不卡一二三区首页| 不卡的av在线| 色嗨嗨av一区二区三区| 男男视频亚洲欧美| 国内一区二区在线| 国产麻豆精品久久一二三| 激情综合网天天干| www.欧美亚洲| 欧美日韩午夜影院| 欧美高清精品3d| 日韩午夜av电影| 精品国产sm最大网站| 国产精品女人毛片| 亚洲欧洲精品一区二区精品久久久 | 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲国产高清在线| 亚洲国产视频在线| 麻豆91在线播放免费| 成人福利在线看| 3d成人h动漫网站入口| 国产无一区二区| 亚洲国产一二三| 国产成a人无v码亚洲福利| 欧美性极品少妇| 国产精品天天摸av网| 午夜精品久久久久久久99水蜜桃| 狠狠色伊人亚洲综合成人| 色婷婷综合久色| 国产欧美日本一区二区三区| 水蜜桃久久夜色精品一区的特点| 国产精品亚洲第一| 91精品国产91久久久久久最新毛片| 国产色一区二区|