Add Int32 support for gdal driver
This commit is contained in:
parent
1784c4f03e
commit
5a73efbb07
3 changed files with 21 additions and 2 deletions
|
@ -397,6 +397,25 @@ feature_ptr gdal_featureset::get_feature(mapnik::query const& q)
|
|||
feature->set_raster(raster);
|
||||
break;
|
||||
}
|
||||
case GDT_Int32:
|
||||
{
|
||||
mapnik::image_gray32s image(im_width, im_height);
|
||||
image.set(std::numeric_limits<std::int32_t>::max());
|
||||
raster_nodata = band->GetNoDataValue(&raster_has_nodata);
|
||||
raster_io_error = band->RasterIO(GF_Read, x_off, y_off, width, height,
|
||||
image.data(), image.width(), image.height(),
|
||||
GDT_Int32, 0, 0);
|
||||
if (raster_io_error == CE_Failure)
|
||||
{
|
||||
throw datasource_exception(CPLGetLastErrorMsg());
|
||||
}
|
||||
mapnik::raster_ptr raster = std::make_shared<mapnik::raster>(feature_raster_extent, intersect, image, filter_factor);
|
||||
// set nodata value to be used in raster colorizer
|
||||
if (nodata_value_) raster->set_nodata(*nodata_value_);
|
||||
else raster->set_nodata(raster_nodata);
|
||||
feature->set_raster(raster);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case GDT_Int16:
|
||||
{
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit e83b7f7c6d2d646a638bba404a0d637609722a09
|
||||
Subproject commit eaf64519e4aecc0b1f689aa96d4d741b22a75a87
|
|
@ -1 +1 @@
|
|||
Subproject commit 54a2c2595c81e838810e413d42a57f09fcf41331
|
||||
Subproject commit bacfd251da550fa82ea56f6710dc6f85431480c2
|
Loading…
Reference in a new issue