{
    "version":"0.0.1",
    "id":"get-shortest-path-between-points",
    "use_case":"hydrography90m",
    "title":"Shortest path between two points",
    "description":"Return the shortest path (using the Dijkstra algorithm) stream from the stream segment to which the given start point belongs to the stream segment to which the given end point belongs. They have to be in the same river basin. 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-between-points?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-between-points?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-between-points/execution?f=json",
            "title":"Execution for this process as JSON",
            "hreflang":"en-US"
        }
    ],
    "inputs":{
        "lon_start":{
            "title":"Longitude (WGS84)",
            "description":"Longitude of the starting point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "longitude",
                "wgs84"
            ]
        },
        "lat_start":{
            "title":"Latitude (WGS84)",
            "description":"Latitude of the starting point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "latitude",
                "wgs84"
            ]
        },
        "lon_end":{
            "title":"Longitude (WGS84)",
            "description":"Longitude of the destination point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "longitude",
                "wgs84"
            ]
        },
        "lat_end":{
            "title":"Latitude (WGS84)",
            "description":"Latitude of the destination point.",
            "schema":{
                "type":"string"
            },
            "minOccurs":1,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "latitude",
                "wgs84"
            ]
        },
        "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. Please write \"true\" or \"false\".",
            "schema":{
                "enum":[
                    "true",
                    "false"
                ]
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[
                "GeoJSON",
                "GeometryCollection",
                "FeatureCollection"
            ]
        },
        "add_segment_ids":{
            "title":"Add segment ids?",
            "description":"Specify whether to add the subcatchment ids of each segment along the path to the GeoJSON Feature's properties. Please write \"true\" or \"false\".",
            "schema":{
                "enum":[
                    "true",
                    "false"
                ]
            },
            "minOccurs":0,
            "maxOccurs":1,
            "metadata":null,
            "keywords":[]
        },
        "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"
            ]
        }
    },
    "outputs":{
        "connecting_path":{
            "title":"Shortest path between two points",
            "description":"Shortest path between the provided locations, 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",
            "lon_end":"9.9217",
            "lat_end":"54.6917",
            "comment":"test query",
            "geometry_only":"false",
            "add_segment_ids":"true"
        }
    },
    "outputTransmission":[
        "value"
    ]
}