我们知道shp文件是一种gis文件,里面包含一张属性数据表,可以用GIS桌面软件打开;
GDAL先初步读一下一个示例shp文件的信息,
#include "stdafx.h"
#include <ogrsf_frmts.h>
#include <ogr_spatialref.h>
int main()
{
// 为了使属性表字段支持中文,请添加下面这句
CPLSetConfigOption("SHAPE_ENCODING", "");
const char* pszVectorFile = "D:\\3dtile\\GDALtestdata\\3-Data\\beijing.shp";
OGRRegisterAll();
OGRDataSource *poSrcDS = OGRSFDriverRegistrar::Open(pszVectorFile, FALSE);
if (poSrcDS == NULL)
{
printf("打开文件 %s 失败!\n", pszVectorFile);
return 0;
}
printf("打开文件 %s 成功!\n", pszVectorFile);
// 获取该数据源中的图层个数,一般shp数据图层只有一个,
int iLayerCount = poSrcDS->GetLayerCount()