本文整理汇总了C++中OGRDataSource::DeleteLayer方法的典型用法代码示例。如果您正苦于以下问题:C++ OGRDataSource::DeleteLayer方法的具体用法?C++ OGRDataSource::DeleteLayer怎么用?C++ OGRDataSource::DeleteLayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OGRDataSource
的用法示例。
在下文中一共展示了OGRDataSource::DeleteLayer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
JNIEXPORT jint JNICALL Java_es_gva_cit_jogr_OGRDataSource_deleteLayerNat
(JNIEnv *env, jobject obj, jlong cPtr, jint layer){
OGRDataSource *ds = (OGRDataSource *) 0 ;
int ogrerr;
ds = *(OGRDataSource **)&cPtr;
if(ds!=NULL){
ogrerr = ds->DeleteLayer(layer);
}
return ogrerr;
}
示例2: GetLayer
OGRErr OGRDataSourceWithTransaction::DeleteLayer(int iIndex)
{
if( !m_poBaseDataSource ) return OGRERR_FAILURE;
OGRLayer* poLayer = GetLayer(iIndex);
CPLString osName;
if( poLayer )
osName = poLayer->GetName();
OGRErr eErr = m_poBaseDataSource->DeleteLayer(iIndex);
if( eErr == OGRERR_NONE && osName.size())
{
std::map<CPLString, OGRLayerWithTransaction*>::iterator oIter = m_oMapLayers.find(osName);
if(oIter != m_oMapLayers.end())
{
delete oIter->second;
m_oSetLayers.erase(oIter->second);
m_oMapLayers.erase(oIter);
}
}
return eErr;
}