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 CDB Common Database Open Source

osgEarth Viewer with Colorodo Springs CDB Coverage (contains both geo-specific and geotypical features) video

osgEarth CDB Common Database