GDAL:3.OGR库说明

使用OGRayer图层操作的代码示例

(代码不完全,只将重要部分列出)

OGRRegisterAll();  //注册

//打开数据

OGRDataSource *poSrcDS=OGRSFDriverRegistrar::open(pszSrcShp,FALSE);

OGRDataSource *poMethodDS=OGRSFDriverRegistrar::open(poMethodDS,FALSE);

//创建数据

OGRSFDriver *poDriver=OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(“ESRI Shapefile”);//创建OGRSFDriver类对象

OGRDataSource *poDstDS=poDriver->CreateDataSource(pszDstShp,NULL);//通过OGRSFDriver类对象创建OGRDataSource类对象

OGRLayer *poSrcLayer=poSrcDS->GetLayer(0);//通过OGRDataSource类对象采用GetLayer()函数创建OGRLayer 类对象

OGRLayer *poMethodLayer=poMethodDS->GetLayer(0);

OGRSpatialReference *pSRS=poSrcLayer->GetSpatialRef();

OGRLayer *poDstLayer=poDstDS->CreateLayer(“polygon”,pSRS,wkbPolygon,NULL);通过OGRDataSource类对象采用CreateLayer()函数创建OGRLayer 类对象

……  //一些关于OGRLayer类对象(poSrcLayer、poMethodLayer、poDstLayer)的操作

OGRDataSource::DestroyDataSource(poSrcDS);//销毁对象

OGRDataSource::DestroyDataSource(poMethodDS);

OGRDataSource::DestroyDataSource(poDstDS);

一、(src、method)

1.打开数据

OGRDataSource *poSrcDS=OGRSFDriverRegistrar::open(pszSrcShp,FALSE);

2.创建图层

OGRLayer *poSrcLayer=poSrcDS->GetLayer(0);

二、(dst)

1.创建驱动

OGRSFDriver *poDriver=OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(“ESRI Shapefile”);

2.创建数据

OGRDataSource *poDstDS=poDriver->CreateDataSource(pszDstShp,NULL);

3.创建图层

OGRSpatialReference *pSRS=poSrcLayer->GetSpatialRef();

OGRLayer *poDstLayer=poDstDS->CreateLayer(“polygon”,pSRS,wkbPolygon,NULL);

转载自:https://blog.csdn.net/wuyunbiao/article/details/51096061

You may also like...

退出移动版