A JavaScript library for building web-based geospatial data explorers with 2D/3D visualization and extensive data format support.
TerriaJS is a JavaScript library for creating web-based geospatial data exploration platforms that combine 2D and 3D visualization. It enables users to interact with complex geospatial datasets directly in the browser, supporting dozens of file formats and web services. The library powers major spatial data portals like Digital Earth Australia Map and NSW Spatial Digital Twin.
Government agencies, research institutions, and organizations building public-facing geospatial data portals that require interactive exploration of large catalogs of spatial data. Developers creating applications that need to visualize and mash up multiple geospatial data sources in both 2D and 3D environments.
Developers choose TerriaJS for its ability to handle catalogs of tens of thousands of layers with support for numerous geospatial formats and services, all with client-side processing that enables static deployment. Its unique combination of Cesium-based 3D globe visualization with graceful fallback to Leaflet for 2D ensures broad compatibility across devices and systems.
A library for building rich, web-based geospatial 2D & 3D data platforms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports dozens of geospatial formats including GeoJSON, KML, CSV, shapefiles, and web services like WMS and Esri MapServer, as detailed in the README's feature list.
Can handle catalogs of tens of thousands of layers with nested organization, enabling complex data mashups for large-scale portals like Digital Earth Australia.
Allows drag-and-drop file visualization entirely in the browser without server uploads, facilitating cheap static deployment as highlighted in the philosophy section.
Uses Cesium for 3D globe rendering with graceful fallback to Leaflet for 2D on unsupported systems, ensuring broad compatibility across devices.
Includes translations for French, Italian, and Japanese via Weblate, with partial support for other languages, making it accessible for global audiences.
Active region mappings focus heavily on Australian Statistical Geographic Standard (ASGS) types, limiting utility for global projects without custom extensions, as noted in the CSV region mapping section.
Getting started requires using TerriaMap or similar, involving NodeJS and build processes like WebPack, which adds overhead compared to simpler mapping libraries.
Requires TerriaJS-Server or an alternative proxy for handling web services without CORS support, introducing additional infrastructure and complexity for full functionality.
The architecture is complex with multiple components (e.g., TerriaJS, Cesium, TerriaMap), making customization and deep integration challenging for new developers.