Skip to content

Handle extended filename for DataSource class

Antoine Regimbeau requested to merge OGR_extended_filename into develop

Summary

This branch enable extension filename for OGRDataSource

Rationale

This feature comes from the issue #1520 (closed)

Implementation Details

On the same base as the ExtendedFilenameTo(Writer/Reader)Options we created a new class OGRExtendedFilenameToOptions that handle extended filename for OGRDataSource

Classes and files

A new class has been created :

A       Modules/Adapters/GdalAdapters/include/otbOGRExtendedFilenameToOptions.h
A       Modules/Adapters/GdalAdapters/src/otbOGRExtendedFilenameToOptions.cxx
M       Modules/Adapters/GdalAdapters/src/CMakeLists.txt

It interacts closely with the OGRDataSource class :

M       Modules/Adapters/GdalAdapters/include/otbOGRDataSourceWrapper.h
M       Modules/Adapters/GdalAdapters/src/otbOGRDataSourceWrapper.cxx

A small change in the api has been done : all layer creation/copy need the papszOptions as argument as a std::vector< std::string > (empty by default).

In order to be able to use the ExtendedFilenameHelper (the base class for extended filename) it has been moved to OTBCommon module.

A       Modules/Core/Common/include/otbExtendedFilenameHelper.h
M       Modules/Core/Common/otb-module.cmake
M       Modules/Core/Common/src/CMakeLists.txt
A       Modules/Core/Common/src/otbExtendedFilenameHelper.cxx
D       Modules/IO/ExtendedFilename/include/otbExtendedFilenameHelper.h
M       Modules/IO/ExtendedFilename/otb-module.cmake
M       Modules/IO/ExtendedFilename/src/CMakeLists.txt
D       Modules/IO/ExtendedFilename/src/otbExtendedFilenameHelper.cxx

Applications

No changes in application

Tests

A test has been created in order to test the new class.

M       Modules/Adapters/GdalAdapters/test/CMakeLists.txt
A       Modules/Adapters/GdalAdapters/test/otbOGRExtendedFilenameToOptionsTest.cxx

Documentation

TODO

Additional notes

This branch need real application testing so feel free to test and give feedback!

Edited by Antoine Regimbeau

Merge request reports