WebGL-powered geographical maps.
A JS library for WebGL-powered geographic maps.
Gleo is a library for displaying geographical maps (and map-like things on cartesian planes), leveraging WebGL1 via the Glii abstraction library. It aims to cover the use cases of Leaflet, OpenLayers or MapboxGL/MaplibreGL, but since it's a one-man project, it's not quite there yet.
Go to https://ivansanchez.gitlab.io/gleo/ , then.
1. Clone the repo
2. Run a git submodule init plus git submodule update
- This pulls the glii and arrugator dependencies from their git repos
3. Spin up a local webserver
4. Browse the demos in /browser-demos, or the REPL in /website
No bundling needed! Gleo leverages the magic of ES6 modules.
Running npm install then npm run docs will build the API documentation and the graphviz UML diagram.
Gleo itself is licensed under a GPL-3.0 license. See the LICENSE file for details.
Gleo depends on some javascript libraries, which are bundled under src/3rd-party:
- shelf-pack by Bryan Housel, ISC licensed.
- css-color-parser by Dean McNamee, MIT licensed.
- earcut by Volodymir Agafonkin, ISC licensed.
- glmatrix by Brandon Jones, Catto Petter, _et al_, MIT licensed.
- point-geometry by Tom McWright, _et al_, ISC licensed.
- rbush-knn by Volodymir Agafonkin, ISC licensed, plus dependencies:
- rbush by Volodymir Agafonkin, MIT licensed.
- tinyqueue by Volodymir Agafonkin, ISC licensed.
- quickselect by Volodymir Agafonkin, ISC licensed.
- vector-tile-js by Volodymir Agafonkin, John Firebaugh, Tom McWright, _et al_, BSD-3 licensed, plus dependencies:
- pbf by Volodymir Agafonkin, BSD-3 licensed.
- ieee754 by Feross Aboukhadijeh, BSD-3 licensed.
- delaunator by Volodymir Agafonkin, ISC licensed, plus dependencies:
- robust-predicates by Volodymir Agafonkin, on public domain dedication.
As well, Gleo uses some geographical data, assets and non-required javascript libraries in the demos:
- proj4js
- Natural Earth
- geoboundaries
- OpenStreetMap data in several forms
- Leaflet.ExtraMarkers spritesheet
- geographiclib
- geotiff.js by Fabian Schindler, Daniel J. Dufour, Andreas Hocevar _et al_, plus dependencies:
- xml-utils by Daniel J. Dufour
- float16 by Kenta Moriuchi
- quick-lru by Sindre Sorhus
- pmtiles by Brandon Liu (part of protomaps)