leylinesjs 7.11.5

Contributors Forks Stargazers Issues Apache-2.0 License

ko-fi


Logo

LeylinesJS

leylines.net documents, researches and archives ley lines and places of high energy and tries to find a global network interconnectng local ley lines to a big energynet.
Explore the docs »

Homepage · The Map · The Hub

Table of Contents

About

LeylineJS is a library for building rich, web-based geospatial data explorers, used to drive leylines.net. It uses Cesium and WebGL for a full 3D globe in the browser with no plugins. It gracefully falls back to 2D with Leaflet on systems that can't run Cesium. It can handle catalogs of thousands of layers, with dozens of geospatial file and web service types supported. It is almost entirely JavaScript in the browser, meaning it can even be deployed as a static website, making it simple and cheap to host.

Features

  • Nested catalog of layers which can be independently enabled to create mashups of many layers.
  • Supports GeoJSON, KML, CSV (point and region-mapped), GPX and CZML file types natively, and others including zipped shapefiles with an optional server-side conversion service.
  • Supports WMS, WFS, Esri MapServer, ABS ITT, Bing Maps, OpenStreetMap-style raster tiles, Mapbox, Urthecast, and WMTS item types.
  • Supports querying WMS, WFS, Esri MapServer, CSW, CKAN and Socrata services for groups of items.
  • 3D globe (Cesium) or 2D mode (Leaflet). 3D objects supported in CZML format.
  • Time dimensions supported for CSV, CZML, WMS. Automatically animate layers, or slide the time control forward and backward.
  • Drag-and-drop files from your desktop to the browser, for instant visualisation (no file upload to server required).
  • Wider range of file types supported through server-side OGR2OGR service (requires upload).
  • Users can generate a reusable URL link of their current map view, to quickly share mashups of web-hosted data.

Technical

  • Built in ECMAScript 2015, compiled with Babel to ES5.
  • Supports IE9 and later. A few features require IE11+.
  • TerriaJS Server component runs in NodeJS and provides proxying for web services that don't support CORS or require authentication.
  • Dependencies are managed in NPM and assembled using WebPack.

Built With

Getting Started

The easiest way to build your own Terria-based map is using the TerriaMap starting point. This gives you the HTML structure, server and build processes you need to get a site up and running immediately.

See Getting Started in the Documentation for all the details.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Contact

Joerg Roth - @earthanddata - info@leylines.net

Project Link: https://github.com/leylines/leylinesjs

Acknowledgements

  • Terria™ is the overall name for the spatial data platform and the team that built TerriaJS.
  • TerriaJS is this JavaScript library consisting of the 2D/3D map, catalog management and many spatial data connectors.
  • Cesium is the 3D WebGL rendering library used by TerriaJS, which provides many low-level functions for loading and displaying imagery and spatial formats such as GeoJSON and KML.
  • TerriaMap is a complete website starting point, using TerriaJS.
  • TerriaJS-Server is a NodeJS-based server that provides proxying and support services for TerriaJS.
  • NationalMap is the flagship Terria deployment, and the origin of the TerriaJS library.
  • Choose an Open Source License
  • Best-README-Template