Skip to content

Init sources


Init sources contain information used to load a Terria instance - for example catalog, homeCamera etc.

See Initialization file for JSON structure. This document outlines InitSource for developers

Types of InitSource

In order they are applied:

Any number of InitSources can be specified

When they are applied, some properties may overwrite each other - for example workbench. Other properties will be merged - for example catalog.


We have the following map URL


Which loads with the following Client-side config:


The config has :

  • initializationUrls = ["simple"]
  • initFragmentPaths = undefined (default is ["init/"])

So the init URL then resolves to:


Then, as the URL has fragment path (#https://some.url/config.json), another InitSource is created:

  • https://some.url/config.json

Terria will then load both InitSources in order:

  2. https://some.url/config.json

Secondary types

These are also treated as InitSources - but don't provide ability to set init JSON or URL to init JSON

  • #share=shareId
  • /catalog/:id route
  • /story/:shareId route (same as #share=shareId, but will automatically start story)

StartData examples{%22version%22:%228.0.0%22,%22initSources%22:[%22https://some.url/config.json%22]}

Uses JSON:

  "version": "8.0.0",
  "initSources": ["https://some.url/config.json"]

Or you can include Init JSON instead of URL{%22version%22:%228.0.0%22,%22initSources%22:[{%22catalog%22:[]}]}

  "version": "8.0.0",
  "initSources": [
      "catalog": []