1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
// Objets GDAL
GDALDataset* GDAL_dataSet;
GDALRasterBand* GDAL_raster;
// Objets OGR
OGRSFDriverRegistrar* OGR_driverRegistar;
OGRSFDriver* OGR_driver;
OGRDataSource* OGR_dataSource;
OGRLayer* OGR_layer;
// Variables d'erreurs GDAL & OGR
CPLErr GDAL_err;
OGRErr OGR_err;
// Initialiser GDAL & OGR
GDALAllRegister();
OGRRegisterAll();
// Récupérer le raster
GDAL_dataSet = (GDALDataset*) GDALOpen("pedologie", GA_ReadOnly );
GDAL_raster = GDAL_dataSet->GetRasterBand(1);
// Créer un layer
OGR_driverRegistar = OGRSFDriverRegistrar::GetRegistrar();
OGR_driver = OGR_driverRegistar->GetDriverByName("ESRI ShapeFile");
OGR_dataSource = OGR_driver->CreateDataSource("datasource1");
OGR_layer = OGR_dataSource->CreateLayer("layer1",NULL,wkbMultiPolygon,NULL);
// Ajouter un champ au layer de type Integer
OGRFieldDefn OGR_field("index", OFTInteger);
OGR_layer->CreateField(&OGR_field);
// Passer de raster en vecteur
GDALPolygonize((GDALRasterBandH)GDAL_raster, NULL, (OGRLayerH)OGR_layer, 0,NULL, NULL, NULL); |
Partager