OpenGlobus - a JavaScript library for interactive 3d maps
6/21/2018 the Sun is shining, the clouds are high!

Welcome to the OpenGlobus overview page! OpenGlobus is a javascript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers and 3d objects. It uses the WebGL technology, open source and completely free.

The OpenGlobus main goal is to make 3d map features fast, good lookin, user friendly and easy to implement in any related project.

Here we create a globe in the 'globus' div with useful controls, tile layer of OpenStreetMap tiles, and then add a marker with some label:

        
    var osm = new og.layer.XYZ("OpenStreetMap", {
        isBaseLayer: true,
        url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
        visibility: true,
        attribution: 'Data @ OpenStreetMap contributors, ODbL'
    });

    var globus = new og.Globe({
        "target": "globus",
        "name": "Earth",
        "terrain": new og.terrain.GlobusTerrain(),
        "layers": [osm],
        "autoActivated": true
    });

    new og.layer.Vector("Markers", {
        clampToGround: true
    })
        .addTo(globus.planet)
        .add(new og.Entity({
            lonlat: [5.73, 45.183],
            label: {
                text: "Hi, Globus!",
                outline: 0.77,
                outlineColor: "rgba(255,255,255,.4)",
                size: 27,
                color: "black",
                face: "Lucida Console",
                offset: [10, -2]
            },
            billboard: {
                src: "./marker.png",
                width: 64,
                height: 64,
                offset: [0, 32]
            }
        }));

	
    globus.planet.viewExtentArr([5.54,45.141,5.93,45.23]);
            
        

Features

Layers

  • Tile layers, WMS
  • Billbords, labels
  • Vector layers: linestrings, polygons
  • GeoImage overlays: images, videos, webgl framebuffers
  • Custom canvas tiles
  • GeoJSON

Engine Performance

  • Pure WebGL based scene rendering interface
  • Simple shader program connection
  • Several globus instances on the page
  • Realtime rendering
  • Internal timers
  • Simple interface for custom controls
  • Events: draw, click, mouseenter, etc.
  • Picking: layers, objects etc.
  • Level of detail customization
  • Comfortable interaction
  • No external dependencies

Default Controls

  • Zoom buttons
  • Geodesic coordinates display
  • Layer switcher
  • Real sun positioning
  • Arcball navigation: mouse, touch, keyboard
  • Real moon positioning: in develop

3D Visualization

  • Terrain and heightmap sources customization
  • Terrain picking and collision detection
  • Custom skybox
  • Smooth lighting
  • Layers appearance customization: lighting parameters, height over ground, transparent color, opacity, visible bounds
  • Axis aligned billboards and labels
  • Atmosphere scattering - in develop
  • Collada objects - in develop
  • LIDAR terrain overlay - in develop
  • KML/KMZ overlay - in develop
  • glTF objects - in develop
(c) 2018 Mike Gevlich