diff --git a/modules/globebrowsing/tile/rawtiledatareader/gdalrawtiledatareader.cpp b/modules/globebrowsing/tile/rawtiledatareader/gdalrawtiledatareader.cpp index 92e6a3d177..59791f02a4 100644 --- a/modules/globebrowsing/tile/rawtiledatareader/gdalrawtiledatareader.cpp +++ b/modules/globebrowsing/tile/rawtiledatareader/gdalrawtiledatareader.cpp @@ -133,6 +133,9 @@ void GdalRawTileDataReader::initialize() { throw ghoul::RuntimeError("File path must not be empty"); } _dataset = openGdalDataset(_datasetFilePath); + if (!_dataset) { + throw ghoul::RuntimeError("Failed to load dataset: " + _datasetFilePath); + } // Assume all raster bands have the same data type _gdalDatasetMetaDataCached.rasterCount = _dataset->GetRasterCount(); @@ -223,21 +226,7 @@ RawTile::ReadError GdalRawTileDataReader::rasterRead( } GDALDataset* GdalRawTileDataReader::openGdalDataset(const std::string& filePath) { - GDALDataset* dataset = static_cast( - GDALOpen(filePath.c_str(), GA_ReadOnly) - ); - if (!dataset) { - using namespace ghoul::filesystem; - // std::string correctedPath = FileSystem::ref().pathByAppendingComponent( - // _initDirectory, filePath - // ); - - dataset = static_cast(GDALOpen(filePath.c_str(), GA_ReadOnly)); - if (!dataset) { - throw ghoul::RuntimeError("Failed to load dataset:\n" + filePath); - } - } - return dataset; + return static_cast(GDALOpen(filePath.c_str(), GA_ReadOnly)); } int GdalRawTileDataReader::calculateTileLevelDifference(int minimumPixelSize) const { diff --git a/modules/globebrowsing/tile/rawtiledatareader/gdalwrapper.cpp b/modules/globebrowsing/tile/rawtiledatareader/gdalwrapper.cpp index 0b2fcc97ca..47e7b8bba0 100644 --- a/modules/globebrowsing/tile/rawtiledatareader/gdalwrapper.cpp +++ b/modules/globebrowsing/tile/rawtiledatareader/gdalwrapper.cpp @@ -117,23 +117,18 @@ GdalWrapper::GdalWrapper(size_t maximumCacheSize, size_t maximumMaximumCacheSize 0, // Minimum: No caching static_cast(maximumMaximumCacheSize / (1024ULL * 1024ULL)), // Maximum 1 // Step: One MB - ) { + ) +{ addProperty(_logGdalErrors); addProperty(_gdalMaximumCacheSize); GDALAllRegister(); - CPLSetConfigOption( - "GDAL_DATA", - absPath("${MODULE_GLOBEBROWSING}/gdal_data").c_str() - ); - CPLSetConfigOption( - "CPL_TMPDIR", - absPath("${BASE}").c_str() - ); - CPLSetConfigOption( - "GDAL_HTTP_UNSAFESSL", - "YES" - ); + CPLSetConfigOption("GDAL_DATA", absPath("${MODULE_GLOBEBROWSING}/gdal_data").c_str()); + CPLSetConfigOption("CPL_TMPDIR", absPath("${BASE}").c_str()); + CPLSetConfigOption("GDAL_HTTP_UNSAFESSL", "YES"); + + CPLSetConfigOption("GDAL_HTTP_TIMEOUT", "3"); // 3 seconds + setGdalProxyConfiguration(); CPLSetErrorHandler(gdalErrorHandler);