EOX GitLab Instance

Skip to content
Snippets Groups Projects
vhr18_mapcache-ops.xml 40.9 KiB
Newer Older
<mapcache>
  <default_format>mixed</default_format>
  <format name="mypng" type="PNG">
    <compression>fast</compression>
  </format>
  <format name="myjpeg" type="JPEG">
    <quality>75</quality>
    <photometric>ycbcr</photometric>
  </format>
  <format name="mixed" type="MIXED">
    <transparent>mypng</transparent>
    <opaque>myjpeg</opaque>
  </format>
  <service type="wms" enabled="true">
    <full_wms>assemble</full_wms>
    <resample_mode>bilinear</resample_mode>
    <format>mixed</format>
    <maxsize>4096</maxsize>
  </service>
  <service type="wmts" enabled="true"/>
  <metadata>
Lubomir Dolezal's avatar
Lubomir Dolezal committed
    <title>PRISM View Server (PVS) developed by EOX</title>
    <abstract>PRISM View Server (PVS) developed by EOX</abstract>
    <url>https://vhr18.pass.copernicus.eu/cache/ows</url>
Lubomir Dolezal's avatar
Lubomir Dolezal committed
    <keyword>View Server</keyword>
    <accessconstraints>UNKNOWN</accessconstraints>
    <fees>UNKNOWN</fees>
    <contactname>Stephan Meissl</contactname>
    <contactphone>Please contact via mail.</contactphone>
    <contactfacsimile>None</contactfacsimile>
    <contactorganization>EOX IT Services GmbH</contactorganization>
    <contactcity>Vienna</contactcity>
    <contactstateorprovince>Vienna</contactstateorprovince>
    <contactpostcode>1090</contactpostcode>
    <contactcountry>Austria</contactcountry>
    <contactelectronicmailaddress>office@eox.at</contactelectronicmailaddress>
    <contactposition>CTO</contactposition>
    <providername>EOX</providername>
    <providerurl>https://eox.at</providerurl>
    <inspire_profile>true</inspire_profile>
    <inspire_metadataurl>TBD</inspire_metadataurl>
    <defaultlanguage>eng</defaultlanguage>
    <language>eng</language>
  </metadata>
  <errors>empty_img</errors>
  <lock_dir>/tmp</lock_dir>
  <threaded_fetching>true</threaded_fetching>

  <!-- Cache -->
  <cache name="vhr18" type="swift">
    <auth_version>{{ST_AUTH_VERSION}}</auth_version>
    <tenant>{{OS_TENANT_ID}}</tenant>
    <username>{{OS_USERNAME}}</username>
    <password>{{OS_PASSWORD}}</password>
    <container>{{BUCKET_NAME}}</container>
    <key>{tileset}/{grid}/{dim:time}/{z}/{x}/{y}.{ext}</key>
  </cache>
  <cache name="vhr18_full" type="swift">
    <auth_url>{{OS_AUTH_URL_SHORT}}</auth_url>
    <auth_version>{{ST_AUTH_VERSION}}</auth_version>
    <tenant>{{OS_TENANT_ID}}</tenant>
    <username>{{OS_USERNAME}}</username>
    <password>{{OS_PASSWORD}}</password>
    <container>{{BUCKET_NAME_FULL}}</container>
    <key>{tileset}/{grid}/{z}/{x}/{y}.{ext}</key>
  </cache>
  <!-- SOURCES VHR_IMAGE_2018 -->
  <source type="wms" name="vhr18_true_color">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018__TRUE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_validity">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018__masked_validity</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_false_color">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018__FALSE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_ndvi">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018__NDVI</LAYERS>
        <STYLES>earth</STYLES>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>

  <!-- TILESETS VHR_IMAGE_2018 -->
  <tileset name="VHR_IMAGE_2018__TRUE_COLOR">
    <metadata>
      <title>VHR Image 2018 True Color</title>
      <abstract>VHR Image 2018 True Color</abstract>
    </metadata>
    <source>vhr18_true_color</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018__masked_validity">
    <metadata>
      <title>VHR Image 2018 True Color with masked validity</title>
      <abstract>VHR Image 2018 True Color with masked validity</abstract>
    </metadata>
    <source>vhr18_validity</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018__FALSE_COLOR">
    <metadata>
      <title>VHR Image 2018 False Color</title>
      <abstract>VHR Image 2018 False Color</abstract>
    </metadata>
    <source>vhr18_false_color</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018__NDVI">
    <metadata>
      <title>VHR Image 2018 NDVI</title>
      <abstract>VHR Image 2018 NDVI</abstract>
    </metadata>
    <source>vhr18_ndvi</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>

  <!-- SOURCES VHR_IMAGE_2018_Level_1 -->
  <source type="wms" name="vhr18_true_color_l1">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_1__TRUE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_validity_l1">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_1__masked_validity</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_false_color_l1">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_1__FALSE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_ndvi_l1">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_1__NDVI</LAYERS>
        <STYLES>earth</STYLES>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>

  <!-- TILESETS VHR_IMAGE_2018_Level_1 -->
  <tileset name="VHR_IMAGE_2018_Level_1__TRUE_COLOR">
    <metadata>
      <title>VHR Image 2018 Level 1 True Color</title>
      <abstract>VHR Image 2018 Level 1 True Color</abstract>
    </metadata>
    <source>vhr18_true_color_l1</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_1__masked_validity">
    <metadata>
      <title>VHR Image 2018 Level 1 True Color with masked validity</title>
      <abstract>VHR Image 2018 Level 1 True Color with masked validity</abstract>
    </metadata>
    <source>vhr18_validity_l1</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_1__FALSE_COLOR">
    <metadata>
      <title>VHR Image 2018 Level 1 False Color</title>
      <abstract>VHR Image 2018 Level 1 False Color</abstract>
    </metadata>
    <source>vhr18_false_color_l1</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_1__NDVI">
    <metadata>
      <title>VHR Image 2018 Level 1 NDVI</title>
      <abstract>VHR Image 2018 Level 1 NDVI</abstract>
    </metadata>
    <source>vhr18_ndvi_l1</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_1' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>

  <!-- SOURCES VHR_IMAGE_2018_Level_3 -->
  <source type="wms" name="vhr18_true_color_l3">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_3__TRUE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_validity_l3">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_3__masked_validity</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_false_color_l3">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_3__FALSE_COLOR</LAYERS>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>
  <source type="wms" name="vhr18_ndvi_l3">
    <getmap>
      <params>
        <LAYERS>VHR_IMAGE_2018_Level_3__NDVI</LAYERS>
        <STYLES>earth</STYLES>
        <TRANSPARENT>true</TRANSPARENT>
      </params>
    </getmap>
    <http>
      <url>http://renderer/ows?</url>
      <connection_timeout>10</connection_timeout>
      <timeout>120</timeout>
    </http>
  </source>

  <!-- TILESETS VHR_IMAGE_2018_Level_3 -->
  <tileset name="VHR_IMAGE_2018_Level_3__Full">
    <metadata>
      <title>VHR Image 2018 Level 3 True Color Full Coverage</title>
      <abstract>VHR Image 2018 Level 3 True Color Full Coverage</abstract>
    </metadata>
    <source>vhr18_true_color_l3</source>
    <grid restricted_extent="-24.7 27.5 45 71.3" max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__masked_validity__Full">
    <metadata>
      <title>VHR Image 2018 Level 3 True Color with masked validity Full Coverage</title>
      <abstract>VHR Image 2018 Level 3 True Color with masked validity Full Coverage</abstract>
    </metadata>
    <source>vhr18_validity_l3</source>
    <grid restricted_extent="-24.7 27.5 45 71.3" max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__FALSE_COLOR__Full">
    <metadata>
      <title>VHR Image 2018 Level 3 False Color Full Coverage</title>
      <abstract>VHR Image 2018 Level 3 False Color Full Coverage</abstract>
    </metadata>
    <source>vhr18_false_color_l3</source>
    <grid restricted_extent="-24.7 27.5 45 71.3" max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__TRUE_COLOR">
    <metadata>
      <title>VHR Image 2018 Level 3 True Color</title>
      <abstract>VHR Image 2018 Level 3 True Color</abstract>
    </metadata>
    <source>vhr18_true_color_l3</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__masked_validity">
    <metadata>
      <title>VHR Image 2018 Level 3 True Color with masked validity</title>
      <abstract>VHR Image 2018 Level 3 True Color with masked validity</abstract>
    </metadata>
    <source>vhr18_validity_l3</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__FALSE_COLOR">
    <metadata>
      <title>VHR Image 2018 Level 3 False Color</title>
      <abstract>VHR Image 2018 Level 3 False Color</abstract>
    </metadata>
    <source>vhr18_false_color_l3</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>
  <tileset name="VHR_IMAGE_2018_Level_3__NDVI">
    <metadata>
      <title>VHR Image 2018 Level 3 NDVI</title>
      <abstract>VHR Image 2018 Level 3 NDVI</abstract>
    </metadata>
    <source>vhr18_ndvi_l3</source>
    <cache>vhr18</cache>
    <grid max-cached-zoom="15" out-of-zoom-strategy="reassemble">WGS84</grid>
    <format>mixed</format>
    <metatile>1 1</metatile>
    <expires>3600</expires>
    <dimensions>
      <assembly_type>stack</assembly_type>
      <store_assemblies>false</store_assemblies>
      <subdimensions_read_only>false</subdimensions_read_only>
      <dimension type="postgresql" name="time" default="2017/2019" time="true" unit="ISO8601">
        <connection>host={{DB_HOST}} user={{DB_USER}} password={{DB_PW}} dbname={{DB_NAME}} port={{DB_PORT}}</connection>
        <list_query>SELECT CONCAT(to_char(MIN(T5."begin_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(MAX(T5."end_time"),'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE "coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3';</list_query>
        <validate_query>SELECT DISTINCT interval FROM (SELECT CONCAT(to_char(T5."begin_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'), CONCAT('/', to_char(T5."end_time",'YYYY-MM-DD"T"HH24:MI:SS"Z"'))) AS "interval" FROM "coverages_product" INNER JOIN "coverages_product_collections" ON ("coverages_product"."eoobject_ptr_id" = "coverages_product_collections"."product_id") INNER JOIN "coverages_collection" ON ("coverages_product_collections"."collection_id" = "coverages_collection"."eoobject_ptr_id") INNER JOIN "coverages_eoobject" ON ("coverages_collection"."eoobject_ptr_id" = "coverages_eoobject"."id") INNER JOIN "coverages_eoobject" T5 ON ("coverages_product"."eoobject_ptr_id" = T5."id") WHERE ("coverages_eoobject"."identifier" = 'VHR_IMAGE_2018_Level_3' AND ((T5."begin_time" &lt; to_timestamp(:end_timestamp) AND T5."end_time" &gt; to_timestamp(:start_timestamp)) or (T5."begin_time" = T5."end_time" AND T5."begin_time" &lt;= to_timestamp(:end_timestamp) AND T5."end_time" &gt;= to_timestamp(:start_timestamp)))) AND T5."footprint" &amp;&amp; ST_MakeEnvelope(:minx,:miny,:maxx,:maxy,4326) ORDER BY T5."end_time" DESC) AS sub ORDER BY interval ASC LIMIT 30;</validate_query>
      </dimension>
    </dimensions>
  </tileset>

</mapcache>