我们知道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();printf("图层个数:%d\n", iLayerCount);// 获取第一个图层OGRLayer *poLayer = poSrcDS->GetLayer(0);if (poLayer == NULL){printf("获取第%d个图层失败!\n", 0);OGRDa