green-anger / GlobeViewer

View popular online maps in Orthographic projection
MIT License
10 stars 6 forks source link
2gis boost cmake glfw glm globe map mit multi-threading multithreading opengl openstreetmap proj4 projection

What is GlobeViewer?

GlobeViewer allows you to view popular online maps not in Mercator but Orthographic projection. Greenland will never be larger than Australia again. In addition to viewing tiles GlobeViewer caches them. So viewed once the tiles will be available to you afterwards even offline! Currently it supports OpenStreetMap and 2GIS tiles.

Keep in mind that the tiles are not changed, so switching to another projection (from Mercator to Orthographic) will distort them a bit. But all symbols remain readable at all zoom levels.

How to use it

GlobeViewer is designed to be used as a library in any application than can create OpenGL context. Currently it has only been tested with GLFW. You can find corresponding example next door.

If you have build the library (and all its dependencies in case of static build), you can easily use it in your project by adding single header GlobeViewer.h. And that's it. Just call API methods from your application.

Provided example controls

GLFW example has the following controls:

Highlights

Here is a short video that can give you the first impression of what the application is capable of:

Vimeo link

Screenshots

The Globe The North Pole The South Pole Melbourne from far away Melbourne from not so far away Melbourne at zoom level 19

Documentation

Library is fully documented with Doxygen. Docs can be easily generated from provided Doxyfile: if you have Doxygen installed go to doc directory and call 'doxygen' without parameters. If you don't have Graphviz installed in Doxyfile make sure HAVE_DOT is set to NO: HAVE_DOT = NO Or just comment it out as 'NO' is a default value: #HAVE_DOT = YES

Dependencies

General:

Embedded into the source code:

Library

GLFW example:

Versioning

GlobeViewer uses Semantic Versioning 2.0.0.

License

GlobeViewer is licensed under MIT License.