TerriaJS
An open-source framework for web-based geospatial catalog explorers

launch demo
TerriaJS is an open-source framework for building federated spatial data explorers for the web.
Assemble your catalog of geospatial datasets with a combination of hand curation and live querying of online catalog services, such as CKAN, CSW, WMS, WFS, and ArcGIS.
Present your users with a rich user interface for discovering, exploring, mapping, searching, and sharing the potentially thousands of datasets in your catalog.
Visualise your geospatial data in 2D and 3D!
TerriaJS was originally built to power Australia's NationalMap, and is now used by sites around the world.

2D and 3D visualisation

Visualise your data on 3D terrain, fall back to 2D on older systems or switch between them on the fly, based on Cesium and Leaflet.

Live catalogs

Present a dynamic catalog from your existing WMS, ArcGIS, CKAN, CSW, Socrata, WMTS or WFS server, curate your catalog by hand, or use any combination thereof.

Geospatial formats

Visualise WMS, WMTS, WFS, KML, GeoJSON, CSV, CZML, GPX, and many more spatial formats out of the box, or easily add your own.

Intuitive, responsive UI

Includes a React-based user interface designed and tested by UX professionals to excel on phone, tablet and desktop.

Automatic region mapping

Simply drag-and-drop a CSV file of region names and values for TerriaJS to automatically visualise it on the map.

Time-series support

Explore time-varying WMS layers, watch vehicles move smoothly across the map, and observe your CSV data change over time.

Charting

Easily compare the underlying data from map features or external sources using rich and interactive charts, and export the results.

Geoprocessing

Allow your users to specify Web Processing Service parameters from within the UI and immediately visualise the result.

Open source

Released under the Apache 2.0 license, making it easy to modify and use for commercial or non-commercial purposes.

Get started

The easiest way to start is by cloning our boilerplate project TerriaMap:

git clone https://github.com/TerriaJS/TerriaMap.git

cd TerriaMap

npm install && npm run gulp && npm start

# Open at http://localhost:3001