Welcome to osgEarth!
osgEarth adds geospatially accurate 3D maps to your C++ application.
osgEarth builds on trusted open source technologies like OpenSceneGraph and GDAL to give you high-performance, accurate terrain and map rendering. It supports a myriad of geospatial data formats and map projections.
Install the SDK
Windows users can install the latest version of osgEarth through vcpkg:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && bootstrap-vcpkg.bat
vcpkg install osgearth:x64-windows
This will take a while the first time as vcpkg builds osgEarth and its dependencies.
Check out some examples
osgearth_imgui is the main command-line viewer. osgearth_viewer is a stripped-down viewer without any GUI.
Both of these read “earth files”, XML files that describe the contents of a map.
You can find example earth files in the tests folder of the repo.
:: Online imagery and elevation:
osgearth_imgui testsreadymap.earth
:: OpenStreetMap:
osgearth_imgui testsosm.earth
:: Local GeoTIFFs:
osgearth_imgui testssimple.earth
Integrate it into your project
CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(myApp)
find_package(osgEarth CONFIG REQUIRED)
add_executable(myApp main.cpp)
target_link_libraries(myApp PRIVATE osgEarth::osgEarth)
install(TARGETS myApp RUNTIME DESTINATION bin)
main.cpp
#include <osgEarth/MapNode>
#include <osgEarth/TMS>
#include <osgEarth/EarthManipulator>
#include <osg/ArgumentParser>
#include <osgViewer/Viewer>
int main(int argc, char** argv)
{
osgEarth::initialize();
osg::ArgumentParser args(&argc, argv);
osgViewer::Viewer viewer(args);
auto imagery = new osgEarth::TMSImageLayer();
imagery->setURL("https://readymap.org/readymap/tiles/1.0.0/7/");
auto mapNode = new osgEarth::MapNode();
mapNode->getMap()->addLayer(imagery);
viewer.setSceneData(mapNode);
viewer.setCameraManipulator(new osgEarth::EarthManipulator(args));
return viewer.run();
}
Resources
- Documentation
- Gallery
- Custom Software Development
© Copyright Pelican Mapping
osgEarth
Project Details
- xixilidao/osgearth
- Other
- Last Updated: 10/7/2024
Recomended MCP Servers
mcp webhook
browser-tools-mcp
A Model Context Protocol (MCP) server for ATLAS, a Neo4j-powered task management system for LLM Agents - implementing...
connectwise-mcp-server to use with Claude Desktop
MCP server implementation for Kibela API integration
Use Figma in a MCP with Chunking Support
MCP server providing healthcare analytics capabilities for Smartsheet, including clinical note summarization, patient feedback analysis, and research impact...





