Workflow improvement for OGR::DataSet
What changes will be made and why they would make a better Orfeo ToolBox?
The changes made would be :
- improving base filter for
otb::ogr::DataSource
and forotb::GeometriesSet
- refactoring filters using
otb::VectorData
- refactoring VectorData parameter in application
High level description
Assiociated tasks:
-
Streaming capabilities on otb::ogr::DataSource
(13pts) -
Improving otb::ogr::DataSource
filters (34pts) -
Migrating filter using otb::VectorData
(13pts) -
Adding an OGR parameter in application (13pts)
otb::ogr::DataSource
Streaming capabilities on Different types of streaming can be implemented on otb::ogr::DataSource
:
- on feature id (Range region)
- on spatial extend (Spatial region)
We need to be careful on the way those two streaming types may work with each other in the same pipeline.
otb::ogr::DataSource
and for otb::GeometriesSet
Improving filter base for We do have some base filters for processing vector data structure, however they are rarely used.
With some improvement, those filters could be the equivalents of itk::ImageToImageFilter
and itk::ImageSource
. One major improvement will be the streaming on ogr::DataSet
.
Once developed, we will be able to make already existing filters using ogr::DataSet
to derive from those filters and thus improve the processing of this data structure.
Refactoring filters using otb::VectorData
After those changes we will be able to migrate the different functionalities using VectorData. At this point if a filter seems irrelevant or useless we can remove it if the community agrees on it.
Adding an OGR parameter in application
This modification will benefit applications using filename parameters to load otb::ogr::DataSource
. We might also be able to refactor applications so that they will use OGR parameter rather than VectorData one.
Risks and benefits
API might be broken.
This work will benefit to lots of users and developers, as it introduces new features for ogr::DataSet
manipulation.
We need to decide if otb::VectorData
will be removed, and if so this can be done during this story.