本文整理汇总了C++中OGRSFDriver::Open方法的典型用法代码示例。如果您正苦于以下问题:C++ OGRSFDriver::Open方法的具体用法?C++ OGRSFDriver::Open怎么用?C++ OGRSFDriver::Open使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OGRSFDriver
的用法示例。
在下文中一共展示了OGRSFDriver::Open方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OpenShapefile
void CShapefileLayer::OpenShapefile(const std::string& filename)
{
m_FileName_ = filename;
OGRRegisterAll();
std::string pszDriverName = "ESRI Shapefile";
//CPLSetConfigOption("SHAPE_ENCODING", ""); //支持中文
OGRSFDriver* poDriver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(pszDriverName.c_str());
m_pDataSource_ = poDriver->Open(m_FileName_.c_str(), false); //打开shapefile文件,获取数据源
if(m_pDataSource_ == NULL)
{
m_bExistFile_ = false;
return;
}
m_pLayer_ = m_pDataSource_->GetLayer(0); //获取shapefile第0层
if(m_pLayer_ == NULL)
{
m_bExistFile_ = false;
return ;
}
int theFeatureCount = m_pLayer_->GetFeatureCount(); //层里面的数据数量
OGRFeature *poFeature = NULL; //读取的数据指针
m_pLayer_->ResetReading(); //重新读取
m_ShapefileType_ = m_pLayer_->GetLayerDefn()->GetGeomType(); //类型
m_bExistFile_ = true;
}
示例2:
JNIEXPORT jlong JNICALL Java_es_gva_cit_jogr_OGRSFDriver_openNat
(JNIEnv *env, jobject obj, jlong cPtr, jstring pszName, jboolean bUpdate){
OGRSFDriver *drv = (OGRSFDriver *) 0 ;
OGRDataSource *ds;
long ptr_ds;
drv = *(OGRSFDriver **)&cPtr;
const char *name = env->GetStringUTFChars( pszName, 0);
if(bUpdate==true)
ds=drv->Open(name,1);
else
ds=drv->Open(name,0);
env->ReleaseStringUTFChars( pszName, name);
if(ds==NULL)return -1;
ptr_ds = (long)&(*ds);
return (jlong)ptr_ds;
}