Init sources
InitSource
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:
- URL to Initialization file specified in
initializationUrlsin Client-side config - Init fragment paths, for example
#simple- will be resolved usinginitFragmentPathsin Client-side config#https://some.url/config.json- Start data -
#start=ShareData - Note: uses
ShareDataformat - which is slightly different from Initialization file format - See
StartDataexamples
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.
Example
We have the following map URL
http://ci.terria.io/main/#https://some.url/config.json
Which loads http://ci.terria.io/main with the following Client-side config:
http://ci.terria.io/main/config.json
The config has :
initializationUrls = ["simple"]initFragmentPaths = undefined(default is["init/"])
So the init URL then resolves to:
http://ci.terria.io/main/init/simple.json
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:
http://ci.terria.io/main/init/simple.jsonhttps://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/:idroute/story/:shareIdroute (same as#share=shareId, but will automatically start story)
StartData examples
http://ci.terria.io/main/#start={%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
http://ci.terria.io/main/#start={%22version%22:%228.0.0%22,%22initSources%22:[{%22catalog%22:[]}]}
{
"version": "8.0.0",
"initSources": [
{
"catalog": []
}
]
}