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

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

?? ogrfeature.cpp

?? mitab,讀取MapInfo的地圖文件
?? CPP
?? 第 1 頁 / 共 5 頁
字號(hào):
                              int *pnYear, int *pnMonth, int *pnDay,
                              int *pnHour, int *pnMinute, int *pnSecond,
                              int *pnTZFlag )
    
{
    return ((OGRFeature *)hFeat)->GetFieldAsDateTime( iField,
                                                      pnYear, pnMonth, pnDay,
                                                      pnHour, pnMinute,pnSecond,
                                                      pnTZFlag );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to integer value. 
 *
 * OFTInteger and OFTReal fields will be set directly.  OFTString fields
 * will be assigned a string representation of the value, but not necessarily
 * taking into account formatting constraints on this field.  Other field
 * types may be unaffected.
 *
 * This method is the same as the C function OGR_F_SetFieldInteger().
 *
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param nValue the value to assign.
 */

void OGRFeature::SetField( int iField, int nValue )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTInteger )
    {
        pauFields[iField].Integer = nValue;
        pauFields[iField].Set.nMarker2 = 0;
    }
    else if( poFDefn->GetType() == OFTReal )
    {
        pauFields[iField].Real = nValue;
    }
    else if( poFDefn->GetType() == OFTString )
    {
        char    szTempBuffer[64];

        sprintf( szTempBuffer, "%d", nValue );

        if( IsFieldSet( iField) )
            CPLFree( pauFields[iField].String );
        
        pauFields[iField].String = CPLStrdup( szTempBuffer );
    }
    else
        /* do nothing for other field types */;
}

/************************************************************************/
/*                       OGR_F_SetFieldInteger()                        */
/************************************************************************/

/**
 * Set field to integer value. 
 *
 * OFTInteger and OFTReal fields will be set directly.  OFTString fields
 * will be assigned a string representation of the value, but not necessarily
 * taking into account formatting constraints on this field.  Other field
 * types may be unaffected.
 *
 * This function is the same as the C++ method OGRFeature::SetField().
 *
 * @param hFeat handle to the feature that owned the field.
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param nValue the value to assign.
 */

void OGR_F_SetFieldInteger( OGRFeatureH hFeat, int iField, int nValue )

{
    ((OGRFeature *)hFeat)->SetField( iField, nValue );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to double value. 
 *
 * OFTInteger and OFTReal fields will be set directly.  OFTString fields
 * will be assigned a string representation of the value, but not necessarily
 * taking into account formatting constraints on this field.  Other field
 * types may be unaffected.
 *
 * This method is the same as the C function OGR_F_SetFieldDouble().
 *
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param dfValue the value to assign.
 */

void OGRFeature::SetField( int iField, double dfValue )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTReal )
    {
        pauFields[iField].Real = dfValue;
    }
    else if( poFDefn->GetType() == OFTInteger )
    {
        pauFields[iField].Integer = (int) dfValue;
        pauFields[iField].Set.nMarker2 = 0;
    }
    else if( poFDefn->GetType() == OFTString )
    {
        char    szTempBuffer[128];

        sprintf( szTempBuffer, "%.16g", dfValue );

        if( IsFieldSet( iField) )
            CPLFree( pauFields[iField].String );

        pauFields[iField].String = CPLStrdup( szTempBuffer );
    }
    else
        /* do nothing for other field types */;
}

/************************************************************************/
/*                        OGR_F_SetFieldDouble()                        */
/************************************************************************/

/**
 * Set field to double value. 
 *
 * OFTInteger and OFTReal fields will be set directly.  OFTString fields
 * will be assigned a string representation of the value, but not necessarily
 * taking into account formatting constraints on this field.  Other field
 * types may be unaffected.
 *
 * This function is the same as the C++ method OGRFeature::SetField().
 *
 * @param hFeat handle to the feature that owned the field.
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param dfValue the value to assign.
 */

void OGR_F_SetFieldDouble( OGRFeatureH hFeat, int iField, double dfValue )

{
    ((OGRFeature *)hFeat)->SetField( iField, dfValue );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to string value. 
 *
 * OFTInteger fields will be set based on an atoi() conversion of the string.
 * OFTReal fields will be set based on an atof() conversion of the string.
 * Other field types may be unaffected.
 *
 * This method is the same as the C function OGR_F_SetFieldString().
 *
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param pszValue the value to assign.
 */

void OGRFeature::SetField( int iField, const char * pszValue )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTString )
    {
        if( IsFieldSet(iField) )
            CPLFree( pauFields[iField].String );
            
        pauFields[iField].String = CPLStrdup( pszValue );
    }
    else if( poFDefn->GetType() == OFTInteger )
    {
        pauFields[iField].Integer = atoi(pszValue);
        pauFields[iField].Set.nMarker2 = OGRUnsetMarker;
    }
    else if( poFDefn->GetType() == OFTReal )
    {
        pauFields[iField].Real = atof(pszValue);
    }
    else if( poFDefn->GetType() == OFTDate 
             || poFDefn->GetType() == OFTTime
             || poFDefn->GetType() == OFTDateTime )
    {
        OGRField sWrkField;

        if( OGRParseDate( pszValue, &sWrkField, 0 ) )
            memcpy( pauFields+iField, &sWrkField, sizeof(sWrkField));
    }
    else
        /* do nothing for other field types */;
}

/************************************************************************/
/*                        OGR_F_SetFieldString()                        */
/************************************************************************/

/**
 * Set field to string value. 
 *
 * OFTInteger fields will be set based on an atoi() conversion of the string.
 * OFTReal fields will be set based on an atof() conversion of the string.
 * Other field types may be unaffected.
 *
 * This function is the same as the C++ method OGRFeature::SetField().
 *
 * @param hFeat handle to the feature that owned the field.
 * @param iField the field to fetch, from 0 to GetFieldCount()-1.
 * @param pszValue the value to assign.
 */

void OGR_F_SetFieldString( OGRFeatureH hFeat, int iField, const char *pszValue)

{
    ((OGRFeature *)hFeat)->SetField( iField, pszValue );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to list of integers value. 
 *
 * This method currently on has an effect of OFTIntegerList fields.
 *
 * This method is the same as the C function OGR_F_SetFieldIntegerList().
 *
 * @param iField the field to set, from 0 to GetFieldCount()-1.
 * @param nCount the number of values in the list being assigned.
 * @param panValues the values to assign.
 */

void OGRFeature::SetField( int iField, int nCount, int *panValues )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTIntegerList )
    {
        OGRField        uField;

        uField.IntegerList.nCount = nCount;
        uField.IntegerList.paList = panValues;

        SetField( iField, &uField );
    }
}

/************************************************************************/
/*                     OGR_F_SetFieldIntegerList()                      */
/************************************************************************/

/**
 * Set field to list of integers value. 
 *
 * This function currently on has an effect of OFTIntegerList fields.
 *
 * This function is the same as the C++ method OGRFeature::SetField().
 *
 * @param hFeat handle to the feature that owned the field.
 * @param iField the field to set, from 0 to GetFieldCount()-1.
 * @param nCount the number of values in the list being assigned.
 * @param panValues the values to assign.
 */

void OGR_F_SetFieldIntegerList( OGRFeatureH hFeat, int iField, 
                                int nCount, int *panValues )

{
    ((OGRFeature *)hFeat)->SetField( iField, nCount, panValues );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to list of doubles value. 
 *
 * This method currently on has an effect of OFTRealList fields.
 *
 * This method is the same as the C function OGR_F_SetFieldDoubleList().
 *
 * @param iField the field to set, from 0 to GetFieldCount()-1.
 * @param nCount the number of values in the list being assigned.
 * @param padfValues the values to assign.
 */

void OGRFeature::SetField( int iField, int nCount, double * padfValues )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTRealList )
    {
        OGRField        uField;
        
        uField.RealList.nCount = nCount;
        uField.RealList.paList = padfValues;
        
        SetField( iField, &uField );
    }
}

/************************************************************************/
/*                      OGR_F_SetFieldDoubleList()                      */
/************************************************************************/

/**
 * Set field to list of doubles value. 
 *
 * This function currently on has an effect of OFTRealList fields.
 *
 * This function is the same as the C++ method OGRFeature::SetField().
 *
 * @param hFeat handle to the feature that owned the field.
 * @param iField the field to set, from 0 to GetFieldCount()-1.
 * @param nCount the number of values in the list being assigned.
 * @param padfValues the values to assign.
 */

void OGR_F_SetFieldDoubleList( OGRFeatureH hFeat, int iField, 
                               int nCount, double *padfValues )

{
    ((OGRFeature *)hFeat)->SetField( iField, nCount, padfValues );
}

/************************************************************************/
/*                              SetField()                              */
/************************************************************************/

/**
 * Set field to list of strings value. 
 *
 * This method currently on has an effect of OFTStringList fields.
 *
 * This method is the same as the C function OGR_F_SetFieldStringList().
 *
 * @param iField the field to set, from 0 to GetFieldCount()-1.
 * @param papszValues the values to assign.
 */

void OGRFeature::SetField( int iField, char ** papszValues )

{
    OGRFieldDefn        *poFDefn = poDefn->GetFieldDefn( iField );

    CPLAssert( poFDefn != NULL || iField == -1 );
    if( poFDefn == NULL )
        return;
    
    if( poFDefn->GetType() == OFTStringList )
    {
        OGRField        uField;
        
        uField.StringList.nCount = CSLCount(papszValues);
        uField.StringList.paList = papszValues;
        
        SetField( iField, &uField );
    }
}

/**********************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影院久久久| 欧美日韩在线播放三区四区| 亚洲国产精品激情在线观看| 欧美成va人片在线观看| 日韩欧美高清在线| 成人激情小说网站| 久久国产尿小便嘘嘘| 日韩精品乱码av一区二区| 日韩va亚洲va欧美va久久| 污片在线观看一区二区| 色综合天天综合色综合av | 不卡的av在线| 成人在线综合网站| 首页国产欧美日韩丝袜| 国产色婷婷亚洲99精品小说| 91麻豆精品国产91久久久久| 免费的成人av| 亚洲国产精品尤物yw在线观看| 精品国产一区二区三区不卡| 3d动漫精品啪啪| 色综合激情五月| 成人网页在线观看| 欧美a级理论片| 欧美日本在线观看| 99热精品一区二区| 成人av网在线| 91在线视频网址| 国产乱一区二区| 亚洲欧美视频在线观看视频| www.一区二区| 日韩美女视频19| 日韩一区有码在线| 成人综合婷婷国产精品久久 | 亚洲女同女同女同女同女同69| 久久嫩草精品久久久精品| 欧美成人乱码一区二区三区| 中文字幕国产一区| 久久久亚洲午夜电影| 亚洲欧美日韩国产成人精品影院 | 国产高清在线观看免费不卡| 国产99久久久国产精品潘金| 91久久人澡人人添人人爽欧美| 4438x亚洲最大成人网| 久久久久国色av免费看影院| 亚洲欧美日韩国产手机在线| 蜜桃视频在线一区| 国产ts人妖一区二区| 欧美中文字幕一区| 精品国免费一区二区三区| 国产精品久久毛片a| 亚洲aⅴ怡春院| 国产成人99久久亚洲综合精品| 欧美性一区二区| 国产亚洲女人久久久久毛片| 亚洲午夜免费视频| 国产精品资源在线| 欧美中文字幕一区二区三区| www国产精品av| 亚洲高清视频中文字幕| 国产剧情av麻豆香蕉精品| 91国偷自产一区二区三区成为亚洲经典| 日韩欧美在线网站| 亚洲免费观看高清完整版在线观看熊| 另类小说图片综合网| 91亚洲国产成人精品一区二区三| 欧美一区二区三区色| 亚洲特级片在线| 国产老女人精品毛片久久| 欧美精品777| 亚洲乱码日产精品bd | 精品国产精品网麻豆系列 | 99精品久久99久久久久| 日韩视频中午一区| 亚洲最色的网站| 成人听书哪个软件好| 日韩精品一区二区在线| 亚洲最新视频在线观看| 波多野结衣中文字幕一区| 日韩精品一区二区三区四区| 夜夜夜精品看看| jlzzjlzz亚洲日本少妇| 久久久午夜电影| 美女免费视频一区二区| 欧美无乱码久久久免费午夜一区 | 日本一区二区三区高清不卡| 麻豆91在线播放免费| 91久久精品网| 亚洲女女做受ⅹxx高潮| eeuss鲁一区二区三区| 亚洲精品一区二区精华| 日韩成人一级片| 欧美精品123区| 日韩精品91亚洲二区在线观看| 色婷婷久久综合| 亚洲色图都市小说| www.66久久| 亚洲欧洲av在线| 不卡在线视频中文字幕| 中文字幕乱码一区二区免费| 国产一区二区三区电影在线观看| 日韩一区二区电影在线| 日本中文在线一区| 欧美精品国产精品| 日本伊人色综合网| 欧美一卡2卡3卡4卡| 图片区日韩欧美亚洲| 欧美日韩国产高清一区二区| 亚洲电影一级片| 欧美日韩精品电影| 丝袜亚洲精品中文字幕一区| 欧美男男青年gay1069videost| 亚洲成人黄色影院| 91麻豆精品国产综合久久久久久 | 成人av在线播放网站| 国产欧美日韩另类视频免费观看| 国产另类ts人妖一区二区| 欧美激情一区二区三区全黄| 高清在线成人网| 成人欧美一区二区三区视频网页| aaa亚洲精品| 亚洲影视资源网| 欧美精品日韩精品| 久久精品国产秦先生| 久久精品欧美一区二区三区不卡| 国产成人免费9x9x人网站视频| 国产精品久久久久久久午夜片| 99久久国产综合精品色伊| 伊人婷婷欧美激情| 欧美日韩黄色影视| 精品在线一区二区三区| 国产色婷婷亚洲99精品小说| 99精品一区二区| 午夜精品一区二区三区电影天堂 | 欧美高清在线一区二区| 99麻豆久久久国产精品免费| 一区二区三区不卡视频| 欧美日本视频在线| 国内成+人亚洲+欧美+综合在线| 国产欧美一区二区精品忘忧草| 99精品视频一区二区三区| 亚洲国产精品久久一线不卡| 日韩欧美一级二级三级| 成人精品国产免费网站| 亚洲一区二区精品视频| 日韩欧美亚洲一区二区| 成人午夜精品一区二区三区| 一个色妞综合视频在线观看| 日韩久久久久久| 91亚洲精品一区二区乱码| 日韩av不卡在线观看| 国产三级精品三级在线专区| 色婷婷精品大在线视频| 久久国产精品72免费观看| 成人免费一区二区三区视频| 8x福利精品第一导航| 岛国一区二区在线观看| 亚洲福利一区二区三区| 国产日韩精品一区二区三区在线| 欧洲一区二区三区在线| 国模娜娜一区二区三区| 亚洲图片欧美视频| 国产亚洲欧美日韩俺去了| 欧美精品粉嫩高潮一区二区| 久久久av毛片精品| 欧美中文字幕一区二区三区亚洲| 黄色资源网久久资源365| 亚洲一区在线观看免费观看电影高清 | 欧美视频第二页| 成人小视频在线| 久久精品久久99精品久久| 一区二区高清在线| 久久香蕉国产线看观看99| 精品视频一区三区九区| 懂色av一区二区夜夜嗨| 免费久久精品视频| 亚洲精品免费播放| 久久久精品中文字幕麻豆发布| 欧美日韩一区三区四区| aaa国产一区| 国产电影一区在线| 日本不卡一区二区三区 | 国产很黄免费观看久久| 亚洲成人av一区二区三区| 亚洲欧洲日韩在线| 国产喷白浆一区二区三区| 91精品国产高清一区二区三区| 91麻豆国产在线观看| 国产成人av电影在线观看| 蜜臀av一区二区| 日韩av中文字幕一区二区三区| 亚洲人妖av一区二区| 国产午夜久久久久| 久久嫩草精品久久久精品| 欧美一区二区三区日韩视频| 欧美精品自拍偷拍| 在线观看国产日韩| 91国产福利在线| 色综合久久天天| 色婷婷狠狠综合| 94-欧美-setu|