# =================================================================
#
# Authors: Just van den Broecke <justb4@gmail.com>
#          Tom Kralidis <tomkralidis@gmail.com>
#          Francesco Bartoli <xbartolone@gmail.com>
#
# Copyright (c) 2019 Just van den Broecke
# Copyright (c) 2020 Tom Kralidis
# Copyright (c) 2020 Francesco Bartoli
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
# files (the "Software"), to deal in the Software without
# restriction, including without limitation the rights to use,
# copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following
# conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# =================================================================


# Default config for base Docker Image, override via DockerVolume
# mapping with your own config.
server:
    bind:
        host: 0.0.0.0
        port: 80
    url: http://localhost:5000
    mimetype: application/json; charset=UTF-8
    encoding: utf-8
    gzip: false
    language: en-US
    cors: true
    pretty_print: true
    limit: 10
    # templates: /path/to/templates
    map:
        url: https://tile.openstreetmap.org/{z}/{x}/{y}.png
        attribution: '&copy; <a href="https://openstreetmap.org/copyright">OpenStreetMap contributors</a>'
    ogc_schemas_location: /schemas.opengis.net

logging:
    level: ERROR
    #logfile: /tmp/pygeoapi.log

metadata:
    identification:
        title: pygeoapi Demo instance - running latest GitHub version
        description: pygeoapi provides an API to geospatial data
        keywords:
            - geospatial
            - data
            - api
        keywords_type: theme
        terms_of_service: https://creativecommons.org/licenses/by/4.0/
        url: https://github.com/geopython/pygeoapi
    license:
        name: CC-BY 4.0 license
        url: https://creativecommons.org/licenses/by/4.0/
    provider:
        name: pygeoapi Development Team
        url: https://pygeoapi.io
    contact:
        name: Kralidis, Tom
        position: Lead Dev
        address: Mailing Address
        city: City
        stateorprovince: Administrative Area
        postalcode: Zip or Postal Code
        country: Canada
        phone: +xx-xxx-xxx-xxxx
        fax: +xx-xxx-xxx-xxxx
        email: you@example.org
        url: Contact URL
        hours: Hours of Service
        instructions: During hours of service.  Off on weekends.
        role: pointOfContact

resources:
    obs:
        type: collection
        title: Observations
        description: My cool observations
        keywords:
            - observations
            - monitoring
        linked-data:
            context:
                - datetime: https://schema.org/DateTime
                - vocab: https://example.com/vocab#
                  stn_id: "vocab:stn_id"
                  value: "vocab:value"
        links:
            - type: text/csv
              rel: canonical
              title: data
              href: https://github.com/mapserver/mapserver/blob/branch-7-0/msautotest/wxs/data/obs.csv
              hreflang: en-US
            - type: text/csv
              rel: alternate
              title: data
              href: https://raw.githubusercontent.com/mapserver/mapserver/branch-7-0/msautotest/wxs/data/obs.csv
              hreflang: en-US
        extents:
            spatial:
                bbox: [-180,-90,180,90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin: 2000-10-30T18:24:39Z
                end: 2007-10-30T08:57:29Z
        providers:
            - type: feature
              name: CSV
              data: tests/data/obs.csv
              id_field: id
              geometry:
                  x_field: long
                  y_field: lat

    lakes:
        type: collection
        title: Large Lakes
        description: lakes of the world, public domain
        keywords:
            - lakes
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.naturalearthdata.com/
              hreflang: en-US
        extents:
            spatial:
                bbox: [-180,-90,180,90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin: 2011-11-11
                end: null  # or empty (either means open ended)
        providers:
            - type: feature
              name: GeoJSON
              data: tests/data/ne_110m_lakes.geojson
              id_field: id

    countries:
        type: collection
        title: Countries in the world (SpatialLite Provider)
        description: Countries of the world (SpatialLite)
        keywords:
            - countries
            - natural eart
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.naturalearthdata.com/
              hreflang: en-US
        extents:
            spatial:
                bbox: [-180, -90, 180, 90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: SQLiteGPKG
              data: tests/data/ne_110m_admin_0_countries.sqlite
              id_field: ogc_fid
              table: ne_110m_admin_0_countries

    dutch_georef_stations:
        type: collection
        title: Dutch Georef Stations via OGR WFS
        description: Locations of RD/GNSS-reference stations from Dutch Kadaster PDOK a.k.a RDInfo. Uses MapServer WFS v2 backend via OGRProvider.
        keywords:
            - Netherlands
            - GNSS
            - Surveying
            - Holland
            - RD
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/3ebe56dc-5f09-4fb3-b224-55c2db4ca2fd?tab=general
              hreflang: nl-NL
        extents:
            spatial:
                bbox: [3.37,50.75,7.21,53.47]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: WFS
                  source: WFS:https://service.pdok.nl/kadaster/rdinfo/wfs/v1_0?
#                  source_srs: EPSG:28992
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  source_options:
  #                    OGR_WFS_VERSION: 1.1.0
                      OGR_WFS_LOAD_MULTIPLE_LAYER_DEFN: NO
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              crs:
                - http://www.opengis.net/def/crs/EPSG/0/4258
                - http://www.opengis.net/def/crs/EPSG/0/28992
              storage_crs: http://www.opengis.net/def/crs/EPSG/0/28992
              id_field: gml_id
              layer: rdinfo:stations

    utah_city_locations:
        type: collection
        title: Cities in Utah via OGR WFS
        description: Data from the state of Utah. Standard demo dataset from the deegree WFS server that is used as backend WFS.
        keywords:
            - USA
            - deegree
            - Utah
            - Demo data
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://download.deegree.org/documentation/3.3.20/html/lightly.html#example-workspace-2-utah-webmapping-services
              hreflang: en-US
        extents:
            spatial:
                bbox: [-112.108489, 39.854053, -111.028628, 40.460098]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: WFS
                  source: WFS:http://demo.deegree.org/utah-workspace/services/wfs?TYPENAME=app:SGID93_LOCATION_UDOTMap_CityLocations
#                  source_srs: EPSG:26912
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  source_options:
  #                    OGR_WFS_VERSION: 2.0.0
                      OGR_WFS_LOAD_MULTIPLE_LAYER_DEFN: NO
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              crs:
                - http://www.opengis.net/def/crs/EPSG/0/4258
                - http://www.opengis.net/def/crs/EPSG/0/26912
              storage_crs: http://www.opengis.net/def/crs/EPSG/0/26912
              id_field: NAME
              layer: app:SGID93_LOCATION_UDOTMap_CityLocations

    unesco_pois_italy:
        type: collection
        title: Unesco POIs in Italy via OGR WFS
        description: Unesco Points of Interest in Italy. Using GeoSolutions GeoServer WFS demo-server as backend WFS.
        keywords:
            - Italy
            - Unesco
            - Demo
        links:
            - type: text/html
              rel: canonical
              title: information
              href: https://mapstore2.geo-solutions.it/mapstore/#/dashboard/5593
              hreflang: en-US
        extents:
            spatial:
                bbox: [5.0,36.0,20.0,46.0]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: WFS
                  source: WFS:https://gs-stable.geosolutionsgroup.com/geoserver/wfs
#                  source_srs: EPSG:32632
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  source_options:
  #                    OGR_WFS_VERSION: 1.1.0
                      OGR_WFS_LOAD_MULTIPLE_LAYER_DEFN: NO
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              crs:
                - http://www.opengis.net/def/crs/EPSG/0/4258
                - http://www.opengis.net/def/crs/EPSG/0/32632
              storage_crs: http://www.opengis.net/def/crs/EPSG/0/32632
              id_field: gml_id
              layer: unesco:Unesco_point

    ogr_gpkg_poi:
        type: collection
        title: Portuguese Points of Interest via OGR GPKG
        description: Portuguese Points of Interest obtained from OpenStreetMap. Dataset includes Madeira and Azores islands. Uses GeoPackage backend via OGR provider.
        keywords:
            - Portugal
            - POI
            - Point of Interest
            - Madeira
            - Azores
            - OSM
            - Open Street Map
            - NaturaGIS
        links:
            - type: text/html
              rel: canonical
              title: information
              href: https://wiki.openstreetmap.org/wiki/Points_of_interest/
              hreflang: en-US
        extents:
            spatial:
                bbox: [-31.2687, 32.5898, -6.18992, 42.152]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: GPKG
                  source: tests/data/poi_portugal.gpkg
#                  source_srs: EPSG:4326
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              id_field: osm_id
              layer: poi_portugal

    ogr_geojson_lakes:
        type: collection
        title: Large Lakes OGR GeoJSON Driver
        description: lakes of the world, public domain
        keywords:
            - lakes
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.naturalearthdata.com/
              hreflang: en-US
        extents:
            spatial:
                bbox: [-180, -90, 180, 90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin: 2011-11-11
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: GeoJSON
                  source: tests/data/ne_110m_lakes.geojson
#                  source_srs: EPSG:4326
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              id_field: id
              layer: ne_110m_lakes

    ogr_addresses_sqlite:
        type: collection
        title: Dutch addresses (subset Otterlo). OGR SQLite Driver
        description: Dutch addresses subset.
        keywords:
            - Netherlands
            - addresses
            - INSPIRE
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/4074b3c3-ca85-45ad-bc0d-b5fca8540z0b
              hreflang: nl-NL
        extents:
            spatial:
                bbox: [3.37,50.75,7.21,53.47]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: SQLite
                  # source: tests/data/ne_110m_admin_0_countries.sqlite
                  source: tests/data/dutch_addresses_4326.sqlite
#                  source_srs: EPSG:4326
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              id_field: id
              layer: ogrgeojson

    ogr_addresses_gpkg:
        type: collection
        title: Dutch addresses (subset Otterlo). OGR GeoPackage Driver
        description: Dutch addresses subset.
        keywords:
            - Netherlands
            - addresses
            - INSPIRE
        links:
            - type: text/html
              rel: canonical
              title: information
              href: http://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/4074b3c3-ca85-45ad-bc0d-b5fca8540z0b
              hreflang: nl-NL
        extents:
            spatial:
                bbox: [3.37,50.75,7.21,53.47]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin:
                end: null  # or empty
        providers:
            - type: feature
              name: OGR
              data:
                  source_type: GPKG
                  source: tests/data/dutch_addresses_4326.gpkg
#                  source_srs: EPSG:4326
#                  target_srs: EPSG:4326
                  source_capabilities:
                      paging: True
  
                  gdal_ogr_options:
                      EMPTY_AS_NULL: NO
                      GDAL_CACHEMAX: 64
                      # GDAL_HTTP_PROXY: (optional proxy)
                      # GDAL_PROXY_AUTH: (optional auth for remote WFS)
                      CPL_DEBUG: NO
  
              id_field: id
              layer: OGRGeoJSON

    hello-world:
        type: process
        processor:
            name: HelloWorld
