工具:vs2012+GDAL 2.0
数据:中国省界SHP文件bou2_4p.shp 可
包含头文件:
#include ""
代码:
int main() { GDALAllRegister(); GDALDataset *poDS; CPLSetConfigOption("SHAPE_ENCODING",""); //解决中文乱码问题 //读取shp文件 poDS = (GDALDataset*) GDALOpenEx("d:/shapefile/bou2_4p.shp", GDAL_OF_VECTOR, NULL, NULL, NULL ); if( poDS == NULL ) { printf( "Open failed.\n%s" ); return 0; } OGRLayer *poLayer; poLayer = poDS->GetLayer(0); //读取层 OGRFeature *poFeature; poLayer->ResetReading(); int i=0; while( (poFeature = poLayer->GetNextFeature()) != NULL ) { if(poFeature->GetFieldAsDouble("AREA")<1) continue; //去掉面积过小的polygon i=i++; cout<<<" "; OGRFeatureDefn *poFDefn = poLayer->GetLayerDefn(); int iField; int n=poFDefn->GetFieldCount(); //获得字段的数目,不包括前两个字段(FID,Shape); for( iField = 0; iFieldGetFieldAsString(iField)<<" "; } cout<
结果显示: