New Feature: Curbside approach

We are excited to announce a new feature which lets you specify whether you want to approach your delivery locations from the right or the left side. We call it curbside approach. It is as simple as adding a new field called “curbside” to your address object as follows:

"address": {
      "location_id": "myLocation",
      "lon": 11.539346,
      "lat": 48.118248,
      "curbside": "right"
}

The allowed values for “curbside” are right, left and any.

If you want to ignore your curbside specifications, you can just add this:

    "configuration": {
        "routing": {
            "ignore_curbsides": true
        }
    }

It is a beta feature. If you have questions or comments, please let us know. Happy testing!

Complete example:

{
    "configuration": {
        "routing": {
            "ignore_curbsides": false
        }
    },
    "vehicles": [
        {
            "vehicle_id": "my_vehicle",
            "start_address": {
                "location_id": "11.542511_48.118478",
                "lon": 11.540194,
                "lat": 48.119895
            }
        }
    ],
    "services": [
        {
            "id": "1",
            "address": {
                "location_id": "11.539335_48.118421",
                "lon": 11.539346,
                "lat": 48.118248,
                "curbside": "right"
            }
        },
        {
            "id": "2",
            "address": {
                "location_id": "11.538563_48.118450",
                "lon": 11.538563,
                "lat": 48.11845,
                "curbside": "right"
            }
        },
        {
            "id": "3",
            "address": {
                "location_id": "same",
                "lon": 11.538992,
                "lat": 48.118448,
                "curbside": "right"
            }
        },
        {
            "id": "4",
            "address": {
                "location_id": "same",
                "lon": 11.538992,
                "lat": 48.118448,
                "curbside": "right"
            }
        },
        {
            "id": "5",
            "address": {
                "location_id": "11.537833_48.120212",
                "lon": 11.537833,
                "lat": 48.120212,
                "curbside": "left"
            }
        }
    ]
}
2 Likes

If the curb side approach isn’t valid is there a way to ignore it instead of throwing an error? Such as exposing force_curb_side from https://github.com/graphhopper/graphhopper/pull/1697#issuecomment-532873172

You mean not valid because for example its on the wrong side of a one-way street? Thats a good question we discussed this internally and postponed the decision whether or not to expose the force_curbside parameter from GH (partly because for the optimization it might be easy to confuse with ignore_curbsides). What would you prefer?

  • current behavior (apparently not)
  • expose the force_curbside parameter (you seem to understand what it does)
  • auto-ignore curbside parameters that cannot be fulfilled?

Probably the second option assuming you don’t think it makes it confusing (I personally don’t think it does). I think it makes sense to default force_curbside to true as in GH, but the option to turn it off would be great.

Powered by Discourse