{
    "type": "process",
    "processor": {
        "name": "RiverRunner"
    },
    "title": "River Runner",
    "description": "A process that takes a set of coordinates in the world, and returns the largest flowpath from it to its terminal flowpoint.",
    "keywords": [
        "rivers",
        "river-runner"
    ],
    "links": [
        {
            "type": "application/html",
            "rel": "canonical",
            "title": "source",
            "href": "https://www.sciencebase.gov/catalog/item/614a8864d34e0df5fb97572d",
            "hreflang": "en-US"
        },
        {
            "type": "application/html",
            "rel": "cannonical",
            "title": "github",
            "href": "https://github.com/ksonda/global-river-runner",
            "hreflang": "en-US"
        },
        {
            "type": "application/html",
            "rel": "cannonical",
            "title": "application",
            "href": "https://river-runner-global.vercel.app/",
            "hreflang": "en-US"
        },
        {
            "type": "application/html",
            "rel": "canonical",
            "title": "information",
            "href": "https://www.usgs.gov/core-science-systems/ngp/national-hydrography/value-added-attributes-vaas",
            "hreflang": "en-US"
        },
        {
            "type": "application/json",
            "rel": "self",
            "href": "https://merit-nldi.internetofwater.app/processes/river-runner?f=json",
            "title": "Process description as JSON",
            "hreflang": "en-US"
        },
        {
            "type": "text/html",
            "rel": "alternate",
            "href": "https://merit-nldi.internetofwater.app/processes/river-runner?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://merit-nldi.internetofwater.app/jobs?f=html",
            "title": "jobs for this process as HTML",
            "hreflang": "en-US"
        },
        {
            "type": "application/json",
            "rel": "http://www.opengis.net/def/rel/ogc/1.0/job-list",
            "href": "https://merit-nldi.internetofwater.app/jobs?f=json",
            "title": "jobs for this process as JSON",
            "hreflang": "en-US"
        },
        {
            "type": "application/json",
            "rel": "http://www.opengis.net/def/rel/ogc/1.0/execute",
            "href": "https://merit-nldi.internetofwater.app/processes/river-runner/execution?f=json",
            "title": "Execution for this process as JSON",
            "hreflang": "en-US"
        }
    ],
    "version": "0.5.0",
    "id": "river-runner",
    "inputs": {
        "bbox": {
            "title": "Bounding Box",
            "description": "Boundary box to begin a river runner query",
            "keywords": [
                "bounding",
                "box",
                "coordinates"
            ],
            "schema": {
                "type": "object",
                "default": [
                    "minLng",
                    "minLat",
                    "maxLng",
                    "maxLat"
                ]
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "lat": {
            "title": "Latitude",
            "description": "Latitude coordinate of a point",
            "keywords": [
                "latitude",
                "eastwest",
                "coordinate"
            ],
            "schema": {
                "type": "number",
                "default": null
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "lng": {
            "title": "Longitude",
            "description": "Longitude coordinate of a point",
            "keywords": [
                "longitude",
                "northsouth",
                "coordinate"
            ],
            "schema": {
                "type": "number",
                "default": null
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "latlng": {
            "title": "Latitude and Longitude",
            "description": "Lat and Lng coordinates in order [lng,lat]",
            "keywords": [
                "latitude",
                "longitude",
                "coordinates"
            ],
            "schema": {
                "type": "object",
                "default": [
                    "lng",
                    "lat"
                ]
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "id": {
            "title": "OGC Feature Identifier",
            "description": "Identifier of starting feature",
            "keywords": [
                "feature",
                "ogc",
                "id",
                "identifier"
            ],
            "schema": {
                "type": "number",
                "default": ""
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "sorted": {
            "title": "Sorted",
            "description": "Sort features by flow direction",
            "keywords": [
                "downstream",
                "upstream",
                "unset"
            ],
            "schema": {
                "type": "string",
                "default": "downstream"
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "sortby": {
            "title": "Sort By",
            "description": "Property by which to sort features",
            "keywords": [
                "sort",
                "comid",
                "hydroseq"
            ],
            "schema": {
                "type": "string",
                "default": "hydroseq"
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "groupby": {
            "title": "Group By",
            "description": "Properties by which to group features",
            "keywords": [
                "group",
                "nameid",
                "streamlev"
            ],
            "schema": {
                "type": [
                    "string",
                    "list"
                ],
                "default": null
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        },
        "properties": {
            "title": "Properties",
            "description": "Properties to retain",
            "keywords": [
                "properties",
                "property",
                "select"
            ],
            "schema": {
                "type": [
                    "string",
                    "list"
                ],
                "default": null
            },
            "minOccurs": 0,
            "maxOccurs": 1,
            "metadata": null
        }
    },
    "outputs": {
        "path": {
            "title": "FeatureCollection",
            "description": "A geoJSON FeatureCollection of the path generated by the river runner process",
            "schema": {
                "type": "object",
                "contentMediaType": "application/json"
            }
        }
    },
    "example": {
        "inputs": {
            "bbox": [
                -86.2,
                39.7,
                -86.15,
                39.75
            ],
            "sorted": "downstream",
            "groupby": "nameid,streamlev,levelpathi"
        }
    },
    "jobControlOptions": [
        "sync-execute"
    ],
    "outputTransmission": [
        "value"
    ]
}