UNPKG

terriajs

Version:

Geospatial data visualization platform.

1,477 lines (785 loc) 37.2 kB
<!DOCTYPE html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="lang:clipboard.copy" content="Copy to clipboard"> <meta name="lang:clipboard.copied" content="Copied to clipboard"> <meta name="lang:search.language" content="en"> <meta name="lang:search.result.none" content="No matching documents"> <meta name="lang:search.result.one" content="1 matching document"> <meta name="lang:search.result.other" content="# matching documents"> <meta name="lang:search.tokenizer" content="[\s\-]+"> <link rel="shortcut icon" href="../../../assets/images/favicon.png"> <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.2.3"> <title>Feature Information Template - TerriaJS</title> <link rel="stylesheet" href="../../../assets/stylesheets/application.bcabdff3.css"> <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono"> <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <svg class="md-svg"> <defs> </defs> </svg> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search"> <label class="md-overlay" data-md-component="overlay" for="drawer"></label> <header class="md-header" data-md-component="header"> <nav class="md-header-nav md-grid"> <div class="md-flex"> <div class="md-flex__cell md-flex__cell--shrink"> <a href="../../.." title="TerriaJS" class="md-header-nav__button md-logo"> <img src="../../../terria.png" width="24" height="24"> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title"> <span class="md-header-nav__topic"> TerriaJS </span> <span class="md-header-nav__topic"> Feature Information Template </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for="search"></label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="search"></label> <div class="md-search__inner"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" required placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query"> <label class="md-icon md-search__icon" for="search"></label> <button type="reset" class="md-icon md-search__icon" data-md-component="reset">&#xE5CD;</button> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="result"> <div class="md-search-result__meta"> Type to start searching </div> <ol class="md-search-result__list"></ol> </div> </div> </div> </div> </div> </div> </div> </nav> </header> <div class="md-container"> <main class="md-main"> <div class="md-main__inner md-grid" data-md-component="container"> <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" data-md-level="0"> <label class="md-nav__title md-nav__title--site" for="drawer"> <span class="md-nav__button md-logo"> <img src="../../../terria.png" width="24" height="24"> </span> TerriaJS </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../.." title="Home" class="md-nav__link"> Home </a> </li> <li class="md-nav__item"> <a href="../../../getting-started/" title="Getting Started" class="md-nav__link"> Getting Started </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3"> <label class="md-nav__link" for="nav-3"> Customizing </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> <label class="md-nav__title" for="nav-3"> Customizing </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../customizing/" title="Overview" class="md-nav__link"> Overview </a> </li> <li class="md-nav__item"> <a href="../../../customizing/client-side-config/" title="Client-side Config" class="md-nav__link"> Client-side Config </a> </li> <li class="md-nav__item"> <a href="../../../customizing/initialization-files/" title="Initialization Files" class="md-nav__link"> Initialization Files </a> </li> <li class="md-nav__item"> <a href="../../../customizing/server-side-config/" title="Server-side Config" class="md-nav__link"> Server-side Config </a> </li> <li class="md-nav__item"> <a href="../../../customizing/skinning/" title="Skinning" class="md-nav__link"> Skinning </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked> <label class="md-nav__link" for="nav-4"> Connecting to Data </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> <label class="md-nav__title" for="nav-4"> Connecting to Data </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../" title="Overview" class="md-nav__link"> Overview </a> </li> <li class="md-nav__item"> <a href="../../cross-origin-resource-sharing/" title="Cross-Origin Resource Sharing" class="md-nav__link"> Cross-Origin Resource Sharing </a> </li> <li class="md-nav__item"> <a href="../../catalog-groups/" title="Catalog Groups" class="md-nav__link"> Catalog Groups </a> </li> <li class="md-nav__item"> <a href="../../catalog-items/" title="Catalog Items" class="md-nav__link"> Catalog Items </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-5" type="checkbox" id="nav-4-5" checked> <label class="md-nav__link" for="nav-4-5"> Customizing Data Appearance </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> <label class="md-nav__title" for="nav-4-5"> Customizing Data Appearance </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../overview/" title="Overview" class="md-nav__link"> Overview </a> </li> <li class="md-nav__item"> <a href="../imagery-data/" title="Imagery Data" class="md-nav__link"> Imagery Data </a> </li> <li class="md-nav__item"> <a href="../tabular-data/" title="Tabular Data" class="md-nav__link"> Tabular Data </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc"> <label class="md-nav__link md-nav__link--active" for="toc"> Feature Information Template </label> <a href="./" title="Feature Information Template" class="md-nav__link md-nav__link--active"> Feature Information Template </a> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#more-details" title="More details" class="md-nav__link"> More details </a> </li> <li class="md-nav__item"> <a href="#formatting-numbers" title="Formatting numbers" class="md-nav__link"> Formatting numbers </a> </li> <li class="md-nav__item"> <a href="#url-encoding-strings" title="URL-encoding strings" class="md-nav__link"> URL-encoding strings </a> </li> <li class="md-nav__item"> <a href="#formatting-dates" title="Formatting dates" class="md-nav__link"> Formatting dates </a> </li> <li class="md-nav__item"> <a href="#time-series-charts" title="Time-series charts" class="md-nav__link"> Time-series charts </a> </li> <li class="md-nav__item"> <a href="#other-supporting-data" title="Other supporting data" class="md-nav__link"> Other supporting data </a> </li> <li class="md-nav__item"> <a href="#more-examples" title="More examples" class="md-nav__link"> More examples </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../catalog-functions/" title="Catalog Functions" class="md-nav__link"> Catalog Functions </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-7" type="checkbox" id="nav-4-7"> <label class="md-nav__link" for="nav-4-7"> Catalog Type Details </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> <label class="md-nav__title" for="nav-4-7"> Catalog Type Details </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../catalog-type-details/abs-itt-dataset-list/" title="ABS ITT (group)" class="md-nav__link"> ABS ITT (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/abs-itt/" title="ABS ITT (item)" class="md-nav__link"> ABS ITT (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/esri-featureServer-group/" title="ArcGIS FeatureServer (group)" class="md-nav__link"> ArcGIS FeatureServer (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/esri-featureServer/" title="ArcGIS FeatureServer (item)" class="md-nav__link"> ArcGIS FeatureServer (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/esri-mapServer-group/" title="ArcGIS MapServer (group)" class="md-nav__link"> ArcGIS MapServer (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/esri-mapServer/" title="ArcGIS MapServer (item)" class="md-nav__link"> ArcGIS MapServer (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/esri-group/" title="ArcGIS Server (group)" class="md-nav__link"> ArcGIS Server (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/bing-maps/" title="Bing Maps (item)" class="md-nav__link"> Bing Maps (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/csw/" title="Catalog Service for the Web (CSW) (group)" class="md-nav__link"> Catalog Service for the Web (CSW) (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/czml/" title="Cesium Language (CZML) (item)" class="md-nav__link"> Cesium Language (CZML) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/cesium-terrain/" title="Cesium Terrain (item)" class="md-nav__link"> Cesium Terrain (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/ckan/" title="CKAN (group)" class="md-nav__link"> CKAN (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/ckan-resource/" title="CKAN Resource (item)" class="md-nav__link"> CKAN Resource (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/csv/" title="Comma-Separated Values (CSV) (item)" class="md-nav__link"> Comma-Separated Values (CSV) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/composite/" title="Composite (item)" class="md-nav__link"> Composite (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/ogr/" title="Format Conversion Service (based on OGR) (item)" class="md-nav__link"> Format Conversion Service (based on OGR) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/geojson/" title="GeoJSON (item)" class="md-nav__link"> GeoJSON (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/gpx/" title="GPX (item)" class="md-nav__link"> GPX (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/group/" title="Group (Manual) (group)" class="md-nav__link"> Group (Manual) (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/kml/" title="Keyhole Markup Language (KML) (item)" class="md-nav__link"> Keyhole Markup Language (KML) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/open-street-map/" title="OpenStreetMap (item)" class="md-nav__link"> OpenStreetMap (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/places-like-me-function/" title="Places Like Me (function)" class="md-nav__link"> Places Like Me (function) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/sdmx-json/" title="SDMX-JSON (item)" class="md-nav__link"> SDMX-JSON (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/sos/" title="Sensor Observation Service (SOS) (item)" class="md-nav__link"> Sensor Observation Service (SOS) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/socrata/" title="Socrata (group)" class="md-nav__link"> Socrata (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/spatial-detailing-function/" title="Spatial Detailing (function)" class="md-nav__link"> Spatial Detailing (function) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/terria-json/" title="TerriaJS JSON (function)" class="md-nav__link"> TerriaJS JSON (function) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/url-template/" title="URL Template (item)" class="md-nav__link"> URL Template (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wfs-getCapabilities/" title="Web Feature Service (WFS) (group)" class="md-nav__link"> Web Feature Service (WFS) (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wfs/" title="Web Feature Service (WFS) (item)" class="md-nav__link"> Web Feature Service (WFS) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wms-getCapabilities/" title="Web Map Service (WMS) (group)" class="md-nav__link"> Web Map Service (WMS) (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wms/" title="Web Map Service (WMS) (item)" class="md-nav__link"> Web Map Service (WMS) (item) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wps/" title="Web Processing Service (WPS) (function)" class="md-nav__link"> Web Processing Service (WPS) (function) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wps-getCapabilities/" title="Web Processing Service (WPS) (group)" class="md-nav__link"> Web Processing Service (WPS) (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/wfs-features-group/" title="WFS Features (group)" class="md-nav__link"> WFS Features (group) </a> </li> <li class="md-nav__item"> <a href="../../catalog-type-details/why-am-i-special-function/" title="Why Am I Special (function)" class="md-nav__link"> Why Am I Special (function) </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5"> <label class="md-nav__link" for="nav-5"> Deploying </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> <label class="md-nav__title" for="nav-5"> Deploying </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../deploying/" title="Overview" class="md-nav__link"> Overview </a> </li> <li class="md-nav__item"> <a href="../../../deploying/deploying-terriamap/" title="Deploying TerriaMap" class="md-nav__link"> Deploying TerriaMap </a> </li> <li class="md-nav__item"> <a href="../../../deploying/deploying-to-aws/" title="Deploying to AWS" class="md-nav__link"> Deploying to AWS </a> </li> <li class="md-nav__item"> <a href="../../../deploying/deploying-with-kubernetes/" title="Deploying with Kubernetes" class="md-nav__link"> Deploying with Kubernetes </a> </li> <li class="md-nav__item"> <a href="../../../deploying/setting-up-a-region-mapping-server/" title="Setting Up a Region Mapping Server" class="md-nav__link"> Setting Up a Region Mapping Server </a> </li> <li class="md-nav__item"> <a href="../../../deploying/setting-up-geoserver/" title="Setting Up Geoserver" class="md-nav__link"> Setting Up Geoserver </a> </li> <li class="md-nav__item"> <a href="../../../deploying/using-as-a-ckan-previewer/" title="Using as a CKAN Previewer" class="md-nav__link"> Using as a CKAN Previewer </a> </li> <li class="md-nav__item"> <a href="../../../deploying/controlling-with-url-parameters/" title="Controlling with URL Parameters" class="md-nav__link"> Controlling with URL Parameters </a> </li> <li class="md-nav__item"> <a href="../../../deploying/controlling-in-an-iframe-or-popup/" title="Controlling in an &lt;iframe&gt; or Popup" class="md-nav__link"> Controlling in an &lt;iframe&gt; or Popup </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6"> <label class="md-nav__link" for="nav-6"> Contributing </label> <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> <label class="md-nav__title" for="nav-6"> Contributing </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../contributing/" title="Overview" class="md-nav__link"> Overview </a> </li> <li class="md-nav__item"> <a href="../../../contributing/development-environment/" title="Development Environment" class="md-nav__link"> Development Environment </a> </li> <li class="md-nav__item"> <a href="../../../contributing/architecture/" title="Architecture" class="md-nav__link"> Architecture </a> </li> <li class="md-nav__item"> <a href="../../../contributing/using-a-custom-version-of-cesium/" title="Using a Custom Version of Cesium" class="md-nav__link"> Using a Custom Version of Cesium </a> </li> <li class="md-nav__item"> <a href="../../../contributing/setting-up-saucelabs/" title="Setting up Saucelabs" class="md-nav__link"> Setting up Saucelabs </a> </li> <li class="md-nav__item"> <a href="../../../contributing/problems-and-solutions/" title="Problems and Solutions" class="md-nav__link"> Problems and Solutions </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#more-details" title="More details" class="md-nav__link"> More details </a> </li> <li class="md-nav__item"> <a href="#formatting-numbers" title="Formatting numbers" class="md-nav__link"> Formatting numbers </a> </li> <li class="md-nav__item"> <a href="#url-encoding-strings" title="URL-encoding strings" class="md-nav__link"> URL-encoding strings </a> </li> <li class="md-nav__item"> <a href="#formatting-dates" title="Formatting dates" class="md-nav__link"> Formatting dates </a> </li> <li class="md-nav__item"> <a href="#time-series-charts" title="Time-series charts" class="md-nav__link"> Time-series charts </a> </li> <li class="md-nav__item"> <a href="#other-supporting-data" title="Other supporting data" class="md-nav__link"> Other supporting data </a> </li> <li class="md-nav__item"> <a href="#more-examples" title="More examples" class="md-nav__link"> More examples </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content"> <article class="md-content__inner md-typeset"> <h1 id="feature-information-template">Feature Information Template</h1> <p>You can add a <code>featureInfoTemplate</code> to the items in your catalog <code>json</code> file like so:</p> <pre><code>{ "catalog": [ { "name": "ArcGIS Server", "type": "group", "items": [ { "name": "Gravity Anomaly two", "type": "esri-mapServer", "url": "http://www.ga.gov.au/gisimg/rest/services/earth_science/Geoscience_Australia_National_Geophysical_Grids/MapServer/6", "attribution" : { "text" : "Geoscience Australia", "link" : "http://www.ga.gov.au" }, "featureInfoTemplate" : "Pixel colour: &lt;b&gt;Red={{Red}} Blue={{Blue}} Green={{Green}}&lt;/b&gt;." } ] } ] } </code></pre> <p>The template will replace all occurrences of <code>{{property}}</code> with the value of the property for that feature.</p> <p>The result is:</p> <p><img src="../img/template.png"></p> <p>instead of:</p> <p><img src="../img/no_template.png"></p> <p>You can provide a template to use for the name of the collapsible section (eg. to replace <code>RGB</code> in the example above), like so:</p> <pre><code> "featureInfoTemplate" : { "template": "&lt;div&gt;Pixel colour: {{&gt;foobar}}&lt;/div&gt;", "name": "Red {{Red}}" } </code></pre> <h2 id="more-details">More details</h2> <p>The template is rendered using <a href="https://github.com/janl/mustache.js#usage">Mustache</a>, so you can use all of its features here.</p> <p>In particular, you can render properties that include html by using triple-braces, eg. <code>{{{property}}}</code>.</p> <p>You can make use of partial templates (and even recursive templates) by specifying your template and partials as a json object, eg.:</p> <pre><code> "featureInfoTemplate" : { "template": "&lt;div&gt;Pixel colour: {{&gt;foobar}}&lt;/div&gt;", "partials": { "foobar": "&lt;b&gt;Red={{Red}} Blue={{Blue}} Green={{Green}}&lt;/b&gt;" } } </code></pre> <p>After Mustache has rendered the template, the result is displayed using <a href="https://help.github.com/articles/markdown-basics/">Markdown</a>, so you could also write:</p> <pre><code> "featureInfoTemplate" : "Pixel colour: *Red={{Red}} Blue={{Blue}} Green={{Green}}*." </code></pre> <h2 id="formatting-numbers">Formatting numbers</h2> <p>The preferred way to format numbers is using the <code>formats</code> option, eg:</p> <pre><code> "featureInfoTemplate": { "template": "Pixel colour: &lt;b&gt;Red={{Red}} Blue={{Blue}} Green={{Green}}&lt;/b&gt;.", "formats": { "Red": { "type": "number", "maximumFractionDigits": 2 }, "Green": { "type": "number", "maximumFractionDigits": 2 }, "Blue": { "type": "number", "maximumFractionDigits": 2 } } } </code></pre> <p><code>"type"</code> specifies the type of formatting that will be applied to the property. Here we are using <code>"number"</code> formatting which is also the default formatting if <code>"type"</code> is not supplied.</p> <p>The supported format options are:</p> <ul> <li><code>"maximumFractionDigits": X</code>: To reduce the number of decimal places to a maximum of X digits.</li> <li><code>"minimumFractionDigits": X</code>: To increase the number of decimal places to a minimum of X digits.</li> <li><code>"useGrouping": true</code>: To show thousands separators.</li> <li><code>"style": "percent"</code>: To show 0.15 as 15%.</li> </ul> <p>A second method is to use <code>terria.formatNumber</code> directly in the template. This accepts an initial JSON string describing the same options as above. To simplify the notation, the quotes around the keys are optional here.</p> <pre><code> "featureInfoTemplate": "template": "Pixel colour: &lt;b&gt;Red={{#terria.formatNumber}}{maximumFractionDigits:3}{{Red}}{{/terria.formatNumber}}&lt;/b&gt;." </code></pre> <h2 id="url-encoding-strings">URL-encoding strings</h2> <p>To URL-encode a value in a template, use <code>terria.urlEncode</code> or <code>terria.urlEncodeComponent</code>. For example:</p> <pre><code>Test: {{#terria.urlEncode}}http://example.com/a b{{/terria.urlEncode}} Test: {{#terria.urlEncodeComponent}}W/HOE#1{{/terria.urlEncodeComponent}} </code></pre> <h2 id="formatting-dates">Formatting dates</h2> <p>Similar to formatting numbers you can format dates in the <code>"formats"</code> section by suppliying <code>"dateTime"</code> in the <code>"type"</code> property, eg:</p> <pre><code> "featureInfoTemplate": { "template": "Date: {{Date}}", "formats": { "Date": { "type": "dateTime"; "format": "dd-mm-yyyy HH:MM:ss"; } } } </code></pre> <p>The date format style used for the <code>"format"</code> property is the style from the <a href="https://www.npmjs.com/package/dateformat#usage">npm dateformat package</a>, e.g. <code>"dd-mm-yyyy HH:MM:ss"</code> or <code>"isoDateTime"</code>.</p> <p>As with number you can also use <code>terria.dateTimeformat</code> directly in the template. This accepts an initial JSON string describing the same options as above.</p> <pre><code> "featureInfoTemplate": "template": "{{#terria.formatDateTime}}{"format": "dd-mm-yyyy HH:MM:ss"}2017-11-23T08:47:53Z{{/terria.formatDateTime}}&lt;/b&gt;." </code></pre> <h2 id="time-series-charts">Time-series charts</h2> <p>For features with time-varying table-based data structures (eg. CSV, SOS2, SDMX-JSON, if there is a time column), the feature info panel also includes a chart of the data over time, eg.</p> <p><img src="../img/feature_info_with_time_series.png"></p> <p>You can place this chart in your template using <code>{{terria.timeSeries.chart}}</code>. Alternatively, you can access the following component information:</p> <ul> <li><code>{{terria.timeSeries.xName}}</code> - the x-column name</li> <li><code>{{terria.timeSeries.yName}}</code> - the y-column name</li> <li><code>{{terria.timeSeries.title}}</code></li> <li><code>{{terria.timeSeries.id}}</code></li> <li><code>{{terria.timeSeries.units}}</code> - the column units as a comma-separated string.</li> <li><code>{{terria.timeSeries.data}}</code> - the data as a comma-separated string.</li> </ul> <p>Please note: <em> If any of the component information above contains double-quotes, double quotes will be removed before TerriaJS processes the template further. </em> If any of the component information above is used as part of tag attributes, it must be surrounded by double-quotes. e.g. <code>&lt;chart y-column="{{terria.timeSeries.yName}}"&gt;&lt;/chart&gt;</code></p> <p>So you could reconstruct the chart manually as:</p> <pre><code>&lt;h4&gt;{{terria.timeSeries.title}}&lt;/h4&gt; &lt;chart x-column=&quot;{{terria.timeSeries.xName}}&quot; y-column=&quot;{{terria.timeSeries.yName}}&quot; id=&quot;{{terria.timeSeries.id}}&quot; column-units=&quot;{{terria.timeSeries.units}}&quot;&gt; {{terria.timeSeries.data}} &lt;/chart&gt; </code></pre> <p>or use this as a basis to customise the chart.</p> <h2 id="other-supporting-data">Other supporting data</h2> <p>The clicked point's latitude and longitude are also available as <code>{{terria.coords.latitude}}</code> and <code>{{terria.coords.longitude}}</code>.</p> <p>The current time for the layer is avaliable as <code>{{terria.currentTime}}</code>.</p> <h2 id="more-examples">More examples</h2> <p>Some examples are here: <a href="https://github.com/TerriaJS/terriajs/blob/master/wwwroot/test/init/csv.json">https://github.com/TerriaJS/terriajs/blob/master/wwwroot/test/init/csv.json</a>, and <a href="https://github.com/TerriaJS/terriajs/blob/master/wwwroot/test/init/charts.json">charts.json</a>.</p> <p>You can add this directly to your catalog by appending <code>#build/TerriaJS/test/init/csv.json</code> to the URL to your map, eg. <code>http://localhost:3001/#build/TerriaJS/test/init/csv.json</code>.</p> </article> </div> </div> </main> <footer class="md-footer"> <div class="md-footer-nav"> <nav class="md-footer-nav__inner md-grid"> <a href="../tabular-data/" title="Tabular Data" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev"> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class="md-flex__ellipsis"> <span class="md-footer-nav__direction"> Previous </span> Tabular Data </span> </div> </a> <a href="../../catalog-functions/" title="Catalog Functions" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next"> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class="md-flex__ellipsis"> <span class="md-footer-nav__direction"> Next </span> Catalog Functions </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-footer-copyright"> powered by <a href="http://www.mkdocs.org">MkDocs</a> and <a href="https://squidfunk.github.io/mkdocs-material/"> Material for MkDocs</a> </div> </div> </div> </footer> </div> <script src="../../../assets/javascripts/application.6cdc17f0.js"></script> <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script> </body> </html>