{
    "version":"0.0.1",
    "id":"get-shortest-path-to-outlet",
    "use_case":"hydrography90m",
    "title":"Shortest path to the outlet (i.e. to the sea)",
    "description":"Return the shortest path (using the Dijkstra algorithm) from the stream segment to which the given start point belongs to sea (outlet). The path is returned as GeoJSON FeatureCollection or GeometryCollection, depending  on user input. The geometries are LineStrings in both cases. The start and end segments are included.",
    "jobControlOptions":[
        "sync-execute",
        "async-execute"
    ],
    "keywords":[
        "dijkstra",
        "shortest-path",
        "stream",
        "stream-segment",
        "geojson",
        "GeoFRESH",
        "hydrography90m",
        "routing"
    ],
    "links":[
        {
            "type":"text/html",
            "rel":"about",
            "title":"GeoFRESH website",
            "href":"https://geofresh.org/",
            "hreflang":"en-US"
        },
        {
            "type":"text/html",
            "rel":"about",
            "title":"On Stream segments (Hydrography90m)",
            "href":"https://hydrography.org/hydrography90m/hydrography90m_layers",
            "hreflang":"en-US"
        },
        {
            "type":"application/json",
            "rel":"self",
            "href":"https://aqua.igb-berlin.de/pygeoapi-dev/processes/get-shortest-path-to-outlet?f=json",
            "title":"Process description as JSON",
            "hreflang":"en-US"
        },
        {
            "type":"text/html",
            "rel":"alternate",
            "href":"https://aqua.igb-berlin.de/pygeoapi-dev/processes/get-shortest-path-to-outlet?f=html",
            "title":"Process description as HTML",
            "hreflang":"en-US"
        },
        {
            "type":"text/html",
            "rel":"http://www.opengis.net/def/rel/ogc/1.0/job-list",
            "href":"https://aqua.igb-berlin.de/pygeoapi-dev/jobs?f=html",
            "title":"Jobs list as HTML",
            "hreflang":"en-US"
        },
        {
            "type":"application/json",
            "rel":"http://www.opengis.net/def/rel/ogc/1.0/job-list",
            "href":"https://aqua.igb-berlin.de/pygeoapi-dev/jobs?f=json",
            "title":"Jobs list as JSON",
            "hreflang":"en-US"
        },
        {
            "type":"application/json",
            "rel":"http://www.opengis.net/def/rel/ogc/1.0/execute",
            "href":"https://aqua.igb-berlin.de/pygeoapi-dev/processes/get-shortest-path-to-outlet/execution?f=json",
            "title":"Execution for this process as JSON",
            "hreflang":"en-US"
        }
    ],
    "inputs":{
        "lon":{
            "title":"Longitude (WGS84)",
            "description":"Longitude of the starting point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "longitude",
                "wgs84"
            ]
        },
        "lat":{
            "title":"Latitude (WGS84)",
            "description":"Latitude of the starting point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "latitude",
                "wgs84"
            ]
        },
        "comment":{
            "title":"Comment",
            "description":"Arbitrary string that will not be processed but returned, for user\"s convenience.",
            "schema":{
                "type":"string"
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "comment"
            ]
        },
        "geometry_only":{
            "title":"Get only GeoJSON GeometryCollection?",
            "description":"Specify whether to return only a GeoJSON GeometryCollection (in this case, LineStrings), instead of a GeoJSON FeatureCollection containing additional properties.",
            "schema":{
                "type":"boolean"
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "GeoJSON",
                "GeometryCollection",
                "FeatureCollection"
            ]
        },
        "downstream_ids_only":{
            "title":"Only downstream ids (no geometries)",
            "description":"Specify whether ONLY to return the subcatchment ids of each segment along the path.",
            "schema":{
                "type":"boolean"
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[]
        },
        "add_downstream_ids":{
            "title":"Add downstream ids?",
            "description":"Specify whether to add the subcatchment ids of each segment along the path to the GeoJSON Feature's properties.",
            "schema":{
                "type":"boolean"
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[]
        }
    },
    "outputs":{
        "downstream_path":{
            "title":"Shortest path to sea outlet",
            "description":"Shortest path from the provided location and the outlet of the river basin, as a FeatureCollection or GeometryCollection. Routing is done via Dijkstra algorithm. Subcatchment ids and strahler order of each line segment along the way are included.",
            "schema":{
                "type":"object",
                "contentMediaType":"application/json"
            }
        }
    },
    "example":{
        "inputs":{
            "lon_start":"9.937520027160646",
            "lat_start":"54.69422745526058",
            "comment":"test query",
            "add_downstream_ids":"true",
            "geometry_only":"false"
        }
    },
    "outputTransmission":[
        "value"
    ]
}