The TerriaJS Map is a web-based geospatial catalog explorer powered by the TerriaJS library to display and manage 2D/3D/4D geospatial data layers. It supports common geospatial data formats, such as GeoJSON, KML, CSV, GPX, CZML, and shapefile, as well as geospatial web services including WMS, WFS, WMTS, Esri MapServer, ABS ITT, Bing Maps, OpenStreetMap-style raster tiles, and Mapbox. The TerriaJS has been enabled in collaboration with geospatial data platforms of government agencies and organizations, such as Australia’s NationalMap (https://nationalmap.gov.au/), National Environmental Information Infrastructure (http://neii.gov.au/viewer/), State of Environment 2016 (https://soe.terria.io/), Group on Earth Observations (GEO) and its Global Agricultural Monitoring (GEOGLAM) Rangeland and Pasture Productivity (https://map.geo-rapp.org/), and many other applications.

Installation

GDAL

Import the minted package:

sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt-get update
sudo apt-get install gdal-bin

Node

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version

Gulp

npm run gulp:

npm install --save-dev -g gulp

TerriaJS

Install TerriaJS:

git clone https://github.com/TerriaJS/TerriaJS.git
npm install

Install TerriaJS Map:

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

Build:

npm run gulp release

Start:

npm start

Deploy and hide the port:

ProxyPass /terria/ http://localhost:3001/
ProxyPassReverse /terria/ http://localhost:3001/

Q&A

Github connection error while installing with npm:

npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/TerriaJS/pell.git /root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6: Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6'...
npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/TerriaJS/pell.git /root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6: fatal: unable to connect to github.com:
npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/TerriaJS/pell.git /root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6: github.com[0: 140.82.113.4]: errno=Connection timed out
npm ERR! code 128
npm ERR! Command failed: git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/TerriaJS/pell.git /root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6
npm ERR! Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-TerriaJS-pell-git-master-d15617c6'...
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: 140.82.113.4]: errno=Connection timed out
npm ERR!
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-11T03_58_52_831Z-debug.log

Solution:

git config --global url.https://github.com/.insteadOf git://github.com/

References

TerriaJS: Getting Started

Apache VirtualHost Proxy with a Subdirectory

NodeSource Node.js Binary Distributions

Fatal: Unable to connect to github.com #6285