All Projects → MagicCube → g3d

MagicCube / g3d

Licence: other
Realtime WebGL rendering maps and big data visualizations based on MXFramework and Three.js.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to g3d

Shadoweditor
Cross-platform 3D scene editor based on three.js, golang and mongodb for desktop and web. https://tengge1.github.io/ShadowEditor-examples/
Stars: ✭ 1,060 (+1938.46%)
Mutual labels:  threejs, gis
Three Geo
3D geographic visualization library
Stars: ✭ 389 (+648.08%)
Mutual labels:  threejs, gis
Cga.js
CGA 3D 计算几何算法库 | 3D Compute Geometry Algorithm Library webgl three.js babylon.js等任何库都可以使用
Stars: ✭ 313 (+501.92%)
Mutual labels:  threejs, gis
val3dity
Validation of 3D primitives according to the international standard ISO19107
Stars: ✭ 65 (+25%)
Mutual labels:  gis, 3d-gis
model-browser
model-browser is a command line tool available on npm, for browsing local 3D models via a web browser. It currently only supports GLB files.
Stars: ✭ 19 (-63.46%)
Mutual labels:  threejs
inverse kinematics 3D
A inverse kinematics simulation in webGL
Stars: ✭ 19 (-63.46%)
Mutual labels:  threejs
mongoid-geospatial
A MongoDB/Mongoid Extension with optional GeoRuby/RGeo support.
Stars: ✭ 79 (+51.92%)
Mutual labels:  gis
oskari-server
Backend implementation for Oskari Map Application Framework
Stars: ✭ 33 (-36.54%)
Mutual labels:  gis
accessibility-cloud
👩🏽‍🦯🦮👩🏻‍🦽👩🏿‍🦼 the platform to exchange physical accessibility data in a standardized, future-proof, easy-to-use way.
Stars: ✭ 37 (-28.85%)
Mutual labels:  gis
polylabel cmd
A command-line utility for generating optimum polygon label coordinates from GeoJSON
Stars: ✭ 12 (-76.92%)
Mutual labels:  gis
building-footprint-segmentation
Building footprint segmentation from satellite and aerial imagery
Stars: ✭ 26 (-50%)
Mutual labels:  gis
vimeo-threejs-player
A plugin for streaming video from Vimeo to WebGL/VR/AR apps
Stars: ✭ 75 (+44.23%)
Mutual labels:  threejs
aframe-hit-test
A-Frame hit-testing example
Stars: ✭ 39 (-25%)
Mutual labels:  threejs
bigquery-geo-viz
Visualize Google BigQuery geospatial data using Google Maps Platform APIs
Stars: ✭ 68 (+30.77%)
Mutual labels:  gis
tailormap
B3partners Tailormap repository
Stars: ✭ 26 (-50%)
Mutual labels:  gis
kalwalt-interactivity-AR
Some various experiments with Ar.js and Three.js
Stars: ✭ 65 (+25%)
Mutual labels:  threejs
wxee
A Python interface between Earth Engine and xarray for processing time series data
Stars: ✭ 113 (+117.31%)
Mutual labels:  gis
Agamari
🍙 Katamari × Agar.io
Stars: ✭ 46 (-11.54%)
Mutual labels:  threejs
reboot-min-os
🎮 Three.js video game 🎮 Explore a spaceship and solve puzzles with a ball robot tethered to an electric cable.
Stars: ✭ 17 (-67.31%)
Mutual labels:  threejs
Spatial pre2021
This repo has been archived. The latest version of the GIS and Spatial Analysis online book is at https://github.com/mgimond/Spatial
Stars: ✭ 88 (+69.23%)
Mutual labels:  gis

VIDEO DEMOS

https://www.youtube.com/watch?v=fFMc5P8F7SY

https://www.youtube.com/watch?v=9rUGYhHJJ6E

https://www.youtube.com/watch?v=PQuNo-mrLKU

https://www.youtube.com/watch?v=DNW6VwIxl4w

MagicCube g3d Framework

MagicCube g3D Framework is a web GIS library for 3D visualization using WebGL technology. In this early version, it supports

  • Designed for geo-based big data visualization
  • Powered by MagicCube MXFramework
  • High-performance real-time 3D rendering and animations based on Three.js and WebGL
  • Open Street Map / MapBox / Google Map / Nokia HERE Map / Baidu Map / AutoNavi supported
  • Multi-layer supported
  • Basic 2D/3D geometries and features supported
  • GeoJSON supported
  • Cache tile images using HTML5 LocalStorage
  • Build-in ToolBar and Compass
  • Anaglyph Effect (Red/Blue 3D Glasses are needed)

Live Demo

Open the live demo page with Chrome, Safari or any other Webkit-based modern browser.

How to Use

  • Drag with left button to pan.
  • Drag with right button to rotate.
  • Scroll to zoom in and out.

If you have a multi-finger touchable device, you can

  • Touch with one finger to pan.
  • Touch with two fingers to rotate.
  • Pinch with two fingers to zoom in and out.

If you have a Red/Blue 3D Glasses

  • Click the glasses button of the toolbar on the left side to switch between 2D and 3D mode.

Screenshots

Dependencies

The g3d Framework is built on top of MagicCube MXFramework, Three.js, Tween.js, jQuery and jquery.transit.

Usage

Create a new 3D map view with an OSM-based layer.

$import("g3d.view.MapScene3DView");

var mapView = null;
mx.whenReady(function()
{
    // Create a new MapProvider using MapBox tiles.
    var mapProvider = new g3d.map.MapProvider({
        urlFormat: "http://{s}.tiles.mapbox.com/v3/nicki.uxdh1tt9/{z}/{x}/{y}.png32",
        tileSize: 256,    // Normally the tile size is always 256 in OSM and Google
    });
    
    
    // Create an instance of MapScene3DView
    mapView = new g3d.view.MapScene3DView({
        $element: $("#map"),
        mapProvider: mapProvider,
        centerLocation: [118.778845, 32.04386],
        zoom: 12,                // The same 'zoom level' rules as Google Map.
        statsVisible: true,      // Whether display the WebGL status bar.
        displayCompass: true,    // Whether the compass should be displayed.
        displayToolBar: true,    // Whether the tool bar should be displayed.
        onzooming: function(e)
        {
            console.log("Zooming from %d to %d.", e.zoomFrom, e.zoomTo);
        },
        onzoomed: function(e)
        {
            console.log("Zoom level is now set to %d.", e.zoomTo);
        }
    });

    // Add a OSM-based tile layer.
    var tileLayer = new g3d.layer.TileLayer3D({
        useLocalStorage: true     // Use HTML5 Local Storage to cache the tiles.
    });
    mapView.addLayer(tileLayer);
    
    // Start animation, so the user can interactive with the map.
    mapView.startAnimation();
});

Now let's add a polygon mesh to display 'Zifeng Tower'. Please refer to http://www.openstreetmap.org/way/140809508

// Add a feature layer to diaplay buildings.
var buildingLayer = new g3d.layer.FeatureLayer3D();
mapView.addLayer(buildingLayer);

buildingLayer.addPolygon(
    [
        [ 118.7781014, 32.062422 ],
        [ 118.7777385, 32.0627166 ],
        [ 118.7777183, 32.0627721 ],
        [ 118.7779384, 32.0628862 ],
        [ 118.7782096, 32.0629544 ],
        [ 118.7782587, 32.0629002 ],
        [ 118.7782337, 32.0624534 ],
        [ 118.7781786, 32.0624179 ]
    ],
    200,   // Height of the polygon mesh in pixels.
    {
        color : 0xff0000,
        opacity : 0.8
    }     // Alternatively you can use any THREE.Material instead
);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].