# osgearth
**Repository Path**: gengumeng/osgearth
## Basic Information
- **Project Name**: osgearth
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: LGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-21
- **Last Updated**: 2024-10-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README



## 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`:
```bat
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.
```bat
:: Online imagery and elevation:
osgearth_imgui tests\readymap.earth
:: OpenStreetMap:
osgearth_imgui tests\osm.earth
:: Local GeoTIFFs:
osgearth_imgui tests\simple.earth
```
## Integrate it into your project
CMakeLists.txt
```cmake
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
```c++
#include
#include
#include
#include
#include
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](http://docs.osgearth.org/en/latest/)
* [Gallery](https://www.pelicanmapping.com/home-1/opensource)
* [Custom Software Development](https://www.pelicanmapping.com/software)
---
© Copyright [Pelican Mapping](http://pelicanmapping.com)