diff --git a/gdal/keadriver.cpp b/gdal/keadriver.cpp index 8ad3f4d..a16965d 100644 --- a/gdal/keadriver.cpp +++ b/gdal/keadriver.cpp @@ -50,25 +50,48 @@ void GDALRegister_KEA() "KEA Image Format (.kea)" ); poDriver->SetMetadataItem( GDAL_DMD_EXTENSION, "kea" ); poDriver->SetMetadataItem( GDAL_DMD_CREATIONDATATYPES, - "Byte Int16 UInt16 Int32 UInt32 " + "Byte Int8 Int16 UInt16 Int32 UInt32 " #ifdef HAVE_64BITIMAGES - "Int64 UInt64 " + "Int64 UInt64 " #endif - "Float32 Float64" ); - poDriver->SetMetadataItem( GDAL_DMD_CREATIONOPTIONLIST, "\ - \ -" ); - + "Float32 Float64" ); + poDriver->SetMetadataItem( + GDAL_DMD_CREATIONOPTIONLIST, + CPLSPrintf( + " " + "", + static_cast(kealib::KEA_IMAGE_CHUNK_SIZE), + static_cast(kealib::KEA_ATT_CHUNK_SIZE), + static_cast(kealib::KEA_MDC_NELMTS), + static_cast(kealib::KEA_RDCC_NELMTS), + static_cast(kealib::KEA_RDCC_NBYTES), kealib::KEA_RDCC_W0, + static_cast(kealib::KEA_SIEVE_BUF), + static_cast(kealib::KEA_META_BLOCKSIZE), kealib::KEA_DEFLATE)); + poDriver->SetMetadataItem(GDAL_DCAP_VIRTUALIO, "YES"); + poDriver->SetMetadataItem(GDAL_DCAP_OPEN, "YES"); + poDriver->SetMetadataItem(GDAL_DCAP_CREATE, "YES"); + poDriver->SetMetadataItem(GDAL_DCAP_CREATECOPY, "YES"); + // pointer to open function poDriver->pfnOpen = KEADataset::Open; // pointer to identify function diff --git a/gdal/keaoverview.cpp b/gdal/keaoverview.cpp index 506b6ef..f9a3e35 100644 --- a/gdal/keaoverview.cpp +++ b/gdal/keaoverview.cpp @@ -45,7 +45,8 @@ KEAOverview::KEAOverview(KEADataset *pDataset, int nSrcBand, GDALAccess eAccess, KEAOverview::~KEAOverview() { - + // according to the docs, this is required + this->FlushCache(); } // overridden implementation - calls readFromOverview instead