<?xml version="1.0" encoding="utf-8"?>
<!--

        (:- flipflip's favourite Swisstopo layers :-)

This is a map definition file for the Alpine Quest Android app
(https://play.google.com/store/apps/details?id=psyberia.alpinequest.full).

As of 01.03.2021 the Swisstopo maps are "Free basic geodata (OGD)":
https://www.swisstopo.admin.ch/en/swisstopo/free-geodata.html

It is no longer needed to register for the free WMTS web access and configuring your own referer here.

Copyright:

- https://www.geo.admin.ch/de/about-swiss-geoportal/impressum.html#copyright
- https://www.swisstopo.admin.ch/de/home.html

Terms of use:

- https://www.geo.admin.ch/vanity/geo-internet/terms-of-use

Some references and notes:

- https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification
- https://www.alpinequest.net/en/help/v2/maps/on-demand-create
- https://api3.geo.admin.ch/services/sdiservices.html
  - WGS84/Pseudo-Mercator (EPSG:3857, as used in OSM, Bing, Google Map)
    - https://wmts.geo.admin.ch/EPSG/3857/1.0.0/WMTSCapabilities.xml
    - https://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml?lang=de
    - E.g.:
        - https://b.tile.openstreetmap.org/16/34319/22949.png
        - https://wmts0.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/16/34319/22949.jpeg
- XML validation: xmllint -.-.noout file.xml (remove "."s)
- TODO, maybe..
  - PLZ und Ortschaften
  - Sperrungen Wanderwege, Velowege, Mountainbikewege
  - Lotabweichungen
  - Lagefixpunkte
  - Skirouten
  - Luftfahrtkate (check z!)
  - Segelflugkarte (check z!)
  - SwissNAMES3D

-->
<aqx version="9">
    <name>Swisstopo Maps (CH)</name>
    <description>© swisstopo (www.swisstopo.admin.ch)</description>

    <!-- **************************************** base maps **************************************** -->

    <source id="SWISSTOPO_LK_FARBE" type="topo"><!-- ch.swisstopo.pixelkarte-farbe -->
        <name>Landeskarten (farbig)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>
        <key-url><![CDATA[https://api.geo.admin.ch/static/images/legends/ch.swisstopo.pixelkarte-farbe-pk25.noscale_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{$z}/{$x}/{$y}.jpeg]]></server>
        </zoom-levels>

    </source>

    <source id="SWISSTOPO_LK_GRAU" type="topo"><!-- ch.swisstopo.pixelkarte-grau -->
        <name>Landeskarten (grau)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>
        <key-url><![CDATA[https://api.geo.admin.ch/static/images/legends/ch.swisstopo.pixelkarte-farbe-pk25.noscale_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-grau/default/current/3857/{$z}/{$x}/{$y}.jpeg]]></server>
        </zoom-levels>

    </source>

    <source id="SWISSIMAGE_HG" type="satellite"><!-- ch.swisstopo.swissimage -->
        <name>Swissimage (Mosaik)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{$z}/{$x}/{$y}.jpeg]]></server>
        </zoom-levels>

    </source>

    <!-- **************************************** overlays **************************************** -->

    <source id="SWISSTLM_WANDERWEGE" type="roads" layer="true"><!-- ch.swisstopo.swisstlm3d-wanderwege -->
        <name>Wanderwege (swissTLM3D)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.25,46.8,12</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.swisstopo.swisstlm3d-wanderwege_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="HERDENSCHUTZHUNDE" layer="true" opacity="50"><!-- ch.bafu.alpweiden-herdenschutzhunde -->
        <name>Alpweiden mit Herdenschutzhunden</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.76,46.32,14</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.bafu.alpweiden-herdenschutzhunde_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <clear-color r="240-255" g="240-255" b="240-255"/>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.bafu.alpweiden-herdenschutzhunde/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="VELOLAND_SCHWEIZMOBIL" type="roads" layer="true"><!-- ch.astra.veloland -->
        <name>Veloland Schweiz (SchweizMobil)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,11</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.astra.veloland_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.astra.veloland/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="MBLAND_SCHWEIZMOBIL" type="roads" layer="true"><!-- ch.astra.mountainbikeland -->
        <name>Mountainbikeland Schweiz (SchweizMobil)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,11</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.astra.mountainbikeland_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.astra.mountainbikeland/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="HALTESTELLEN_OEV" type="roads" layer="true"><!-- ch.bav.haltestellen-oev -->
        <name>ÖV-Haltestellen</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,16</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.bav.haltestellen-oev_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.bav.haltestellen-oev/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <!-- **************************************** relief **************************************** -->

    <source id="SWISSALTI3D" type="hillshade"><!-- ch.swisstopo.swissalti3d-reliefschattierung -->
        <name>swissALTI3D multidirektionales Relief</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,14</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <user-agent><![CDATA[Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0]]></user-agent>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissalti3d-reliefschattierung/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="LEICHTRELIEF" type="hillshade"><!-- ch.swisstopo.leichte-basiskarte_reliefschattierung -->
        <name>Leichte Basiskarte Relief</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,14</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <user-agent><![CDATA[Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0]]></user-agent>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.leichte-basiskarte_reliefschattierung/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <!-- <source id="SWISSASURFACE3D" type="hillshade"><! - - ch.swisstopo.swisssurface3d-reliefschattierung-multidirektional - - >
        <name>swissSURFACE3D Raster multidirektionales Relief</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,14</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swisssurface3d-reliefschattierung-multidirektional/default/current/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source> -->

    <!-- **************************************** historical **************************************** -->

    <source id="DUFOUR_EA" type="historical"><!-- ch.swisstopo.hiks-dufour -->
        <name>Dufourkarte Erstausgaben (1844-1864, 1939)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.hiks-dufour/default/18650101/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="SIEGFRIED_EA" type="historical"><!-- ch.swisstopo.hiks-siegfried -->
        <name>Siegfriedkarte Erstausgabe (1870-1926)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.hiks-siegfried/default/19260101/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

    <source id="SWISSIMAGE_HIST" type="satellite"><!-- ch.swisstopo.swissimage-product_1946 -->
        <name>Swissimage (1946)</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.535679,47.379581,15</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissimage-product_1946/default/1946/3857/{$z}/{$x}/{$y}.jpeg]]></server>
        </zoom-levels>

    </source>

    <!-- **************************************** special interest **************************************** -->

    <source id="GEOID_ETRS89" type="hillshade"><!-- ch.swisstopo.geoidmodell-etrs89 -->
        <name>Geoidmodell in ETRS89</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.3,47.0,9</preview-location>
        <key-url><![CDATA[https://api3.geo.admin.ch/static/images/legends/ch.swisstopo.geoidmodell-etrs89_de.png]]></key-url>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.geoidmodell-etrs89/default/20041231/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels><!--  -->

    </source>

    <source id="GRAVI_GA100" type="contour"><!-- ch.swisstopo.geologie-gravimetrischer_atlas -->
        <name>Gravimetrischer Atlas 100</name>

        <update-delay>3M</update-delay>
        <max-threads>2</max-threads>
        <outline>5.140242,45.398181 5.140242,48.230651 11.47757,48.230651 11.47757,45.398181</outline>
        <preview-location>8.3,47.1,15</preview-location>

        <zoom-levels z="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
            <tiles-size>256</tiles-size>
            <server><![CDATA[https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.geologie-gravimetrischer_atlas/default/20021231/3857/{$z}/{$x}/{$y}.png]]></server>
        </zoom-levels>

    </source>

</aqx>
