Open source Application Program Interface (API) for reading CDB
CDB Read API
GAJ Geospatial Enterprises LLC open source API for CDB
GAJ Geospatial has produced an open source API for reading OGC CDB. While we publish the API implementation using the osgEarth library and Open Scene Graph (OSG) visualization capabilities,
the API may be implemented within other gaming and/or simulation systems. The API has been successfully utilized to provide direct CDB loading for both the
EPIC Unreal Engine and Unity game engines.
If you are interested in either of these two implementations for CDB, they are provided by SimBlocks.io, the Unity implementation can be found at
CDB SDK for Unity
while the Unreal implementation can be found at CDB Runtime Publisher SDK for Unreal. The API
consists of two dll's (cdbGlobals found in the provided osg source and CDBTile found in the osgEarth source as well modules that control the interface into the scene graph libraries. Two
versions of the OSG / osgEarth implementation are available on our GitHub site. The OSG and osgEarth can be built as follows: osgEarth-2.8
requires openscenegraph-3.4.0. In the osgEarth2.8 implementation CDB_TileLib can be found in the osgEarth Core libraries section of the project
and is accessed from Plugin osgearth_cdb (for raster elevation / imagery / raster materials), Plugin osgearth_feature_cdb (for geospecific and geotypical buildings and features), and Plugin osgearth_feature_cdbv
(for the roads, railroads, powerlines, and hydrography features). cdbGlobals can be found in the openscenegraph-3.4.0 solution under OSG Core. The osgEarth software contains some modifications to address
CDB's tiling scheme as well as some adaptations to allow for loading of CDB models. The OpenSceneGraph repository has modifications to the OpenFlight plugin to address CDB specific issues in handling
OpenFlight models. This repo also contains modifications to the plugins zip section to address optimizations for CDB's utilization of zip archive files. There is also an
osgEarth-3.0 repository that
requires openscenegraph-3.7.0. In the osgEarth-3.0 implementation CDB_Tile, CDB (rasters), and CDBFeatureSource are source modules that
are built into the osgEarth core library. These repositories have the required adaptations to the library implemented to process CDB. The capability for both versions
is dependent on several other open source libraries such as the Geospatial Data Abstraction Library (GDAL). GDAL provides an abstraction layer
to access to the myriad of different geospatial raster and vector formats that the industry needs to support including the native formats used in CDB. Along those lines a similar library
support for visualization applications of geospatial data, the OpenSceneGraph (OSG) provides a basic scene graph for the visualization process as well as the means to load and display OpenFlight
models which are a component of CDB. The osgEarth libraries provide a robust geospatial interface for the OSG libraries. Both of these libraries support the use of GDAL
to provide the file level access to the raster and vector elements of visualization. Windows builds of these, and all dependent libraries may be found own our GitHub site.
GAJ Geospatial offers services to adapt the CDB API to customer applications as needed.
For questions on exactly what aspects of the CDB specification are implemented in the drivers feel free to contact us here.
For questions on all of the dependent libraries used with the osgEarth build look at the windows build project. For Windows developers the entire set of dependencies may be built using the
Build osgEarth CDB project.
You can find unmodified osgEarth here. Link to osgEarth
You can find unmodified OSG here. Link to OpenSceneGraph
osgEarth Viewer with Global CDB Coverage created by CDB_Builder video
osgEarth Viewer with Colorodo Springs CDB Coverage (contains both geo-specific and geotypical features) video