Adapting Legacy Code with Boost.Geometry: A Hydrographic Perspective
QPS maintains a substantial legacy codebase of approximately 5.5 million lines of code, developed over the past 35 years to collect, process, analyze, and deliver hydrographic spatial data. Updating this codebase to incorporate new libraries often requires significant refactoring to accommodate new data types.
Recently, we successfully transitioned from an in-house solution to Boost.Geometry
for spatial indexing. This transition required far less refactoring than anticipated, primarily due to Boost.Geometry
's ability to adapt to our existing geometry types.
Boost.Geometry
's geometry types are concrete implementations of "concepts," which facilitate the adaptation of user-defined geometry types to seamlessly integrate with its algorithms and spatial indexing features.
In this presentation, I will:
- Provide an overview of the unique spatial data we handle in hydrography.
- Share our success story of transitioning to
Boost.Geometry
.
- Discuss how
Boost.Geometry
enabled us to generalize our spatial indexing.
- Demonstrate, through a brief code example, how to use concepts to adapt existing types for use with
Boost.Geometry
.
Join me to learn how Boost.Geometry
can streamline your transition to modern spatial indexing solutions while minimizing codebase disruption.