回避設定

ルートは特定のマップフィーチャーやエリアを回避するように計算できます。

エリアを回避する

領域をバウンディングボックス、ポリゴン、またはコリドーとして指定することで、地理的領域全体を回避できます。たとえば、ベルリンエリアを回避するルートは、avoid[areas]=bbox:13.082,52.416,13.628,52.626と指定すると計算できます。

エリアを回避する方法については、「ルート内のエリアを回避するには」を参照してください。

ルート検索ゾーンを回避する

ルート検索ゾーンとその回避方法の詳細については、「ルート検索ゾーンの使用方法」を参照してください。

セグメントを回避する

マップの特定の場所は、回避するセグメントの識別子を指定することで回避できます。たとえば、ベルリンのInvalidenstrasseの一部である特定セグメントを回避するルートは、avoid[segments]=here:cm:segment:207551710と指定すると計算できます。

フィーチャーを回避する

マップフィーチャーは、回避するフィーチャーカテゴリーのリストを指定することで回避できます。たとえば、有料道路を回避するルートは、ルートをリクエストするときにavoid[features]=tollRoadと指定すると計算できます。

トラックのルーティングで高速道路や有料道路を回避する

非常に長いトラックルートで高速道路や有料道路を避けると、レスポンス時間が非常に長くなるか、ルートがまったく返されない可能性があります。ルート検索アルゴリズムでは通常、特に長距離運転の場合、ルートの大部分が高速道路で行われるものと想定されます。この想定から外れると、前述のような動作が発生します。これはトラックルートの場合に特に問題となります。高速道路以外の代替ルートにはトラック制限が多い場合があり、その結果、ルートが見つからないかルートを見つけるのに非常に長い計算時間がかかるおそれがあります。

さらに、多くの国では、主要道路のほとんどまたはすべてが有料道路であるため (特にトラックの場合)、「avoid toll-roads」オプションにも同様の制限があります。たとえば、transportMode=truckavoid[features]=tollRoadsを使用してヨーロッパを横断するルートでは、多くの場合、すべての主要道路を回避する必要があり、その結果、計算できたとしても、トラックにとっては非常に長くて不便なルートになります。

季節閉鎖を回避する

季節閉鎖の詳細と回避方法については、「季節閉鎖」を参照してください。

回避リクエストの違反

avoidリクエストに違反せずにルートを計算できない場合があります。 たとえば、他の方法ではアクセスできない島にルーティングする際にavoid[features]=ferryを指定する場合です。この場合、そのフィーチャーの使用を最小限に抑えたルートが返される可能性があります。利用可能な唯一のルートがavoidリクエストに違反する場合、ルートが返されないこともあります。

または、そのフィーチャーが多くの高速/shortルートに存在するために、それを回避するルートを見つけるのが非常に困難な場合もあります。この例として、多くのトンネルがある山岳地帯を横断するルートの計算にavoid[feature]=tunnelsを使用することが考えられます。

avoidリクエストに違反するルートが返された場合、そのルートがそのフィーチャーを回避しないことを示す通知が示されます。

指定された回避オプションを回避する例

次のリクエストでは、avoidオプションを使用してtollRoadフィーチャーを正常に回避します。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'destination=47.168076,11.861380&'\
'origin=47.257410,11.351458&'\
'transportMode=car&'\
'avoid[features]=tollRoad&'\
'apiKey=YOUR_API_KEY'

指定された回避オプションに違反する例

次のリクエストは回避オプションに違反しています。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'destination=37.88185,24.7415&'\
'origin=37.999226,24.015409&'\
'transportMode=car&'\
'avoid[features]=ferry&'\
'apiKey=YOUR_API_KEY'

次の応答では、violatedAvoidFerryコードを含む重大なnoticeが指定されています。

{
  "routes": [
    {
      "id": "bcdb75f3-404e-4364-a860-9d781754cc72",
      "sections": [
        {
          "id": "71f42a70-fb99-4265-a857-4f24920dd4ce",
          "type": "vehicle",
          "departure": {
            "time": "2026-05-07T17:20:12+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 37.9992305,
                "lng": 24.0154473
              },
              "originalLocation": {
                "lat": 37.9992259,
                "lng": 24.0154089
              }
            }
          },
          "arrival": {
            "time": "2026-05-07T17:28:15+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 38.02229,
                "lng": 24.01034
              }
            }
          },
          "summary": {
            "duration": 483,
            "length": 4128,
            "baseDuration": 422
          },
          "polyline": "BG8npvoCul55tBwCNwb_ET0UT8fUwbwC8kBU0KoBgU8B8kBUgjBTgeA0KA8QTgeTgZAoV4IAkN7BwHvCoLzFsYjSoLzKgUnVsd_YwM7L0UzU8LnLwH7G8GrJ4DnLoB7G4D3coBzUUzZT3XjDzeTvMUjIsErOwH3N4InQ8Q_iBkI_JgK3IoVrOkI_E4c3SgUzK4S_E0UrEofrEwR7BsOjDoQnG4hBnLsiB_JsJ7B0KT4XoB8LUkXT4IoBoQsE4SsEsdoGsTsE4IoBsOTwHnB0PrE8LzFkcnQwMzFwHvCgPjDgPTkNoBwH8BoV8GwHkD8LgF4N0F0FwC8L8G8LkIoQ8L4N8LgK8G8GkD4mBsJ8Gv-B4DrY4DzekI_OwC_EkD3NgFnLwCrJsErYsEvWsEjNwC_EsEnG0KzKwb7VsTzP8GwbsOg3B4DwH0FsEwCAkDnBgFrEoV_dgKzKkI3IkSnQ4XrTkNrJsEgKgF0KoG0K8G8G4D8BgFoBsEAkIjDwHvHoQjcsEzF4IjI4IrEoLnB8kBnBsJ8B0FsEwC4DgFgK8L0jBkD4IwCwH7BoG7BwC_EsErJgF7GUrEnB",
          "transport": {
            "mode": "car"
          }
        },
        {
          "id": "d2442b8c-01e7-48b9-8b53-4a90a122ffe1",
          "type": "transit",
          "preActions": [
            {
              "action": "board",
              "duration": 1200
            }
          ],
          "postActions": [
            {
              "action": "deboard",
              "duration": 600
            }
          ],
          "departure": {
            "time": "2026-05-07T17:48:15+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 38.02229,
                "lng": 24.01034
              }
            }
          },
          "arrival": {
            "time": "2026-05-07T19:32:52+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 37.8846799,
                "lng": 24.7356599
              }
            }
          },
          "summary": {
            "duration": 8077,
            "length": 69753
          },
          "polyline": "BGkp2woComv5tB_Eoa77C4rL3ixDoi5Lvy_DslvL3rBgiEjwQwtvB763B4-iGn1jB883I8ukBs3nD4ncgrR0yLkzCg4DwyC8jE85DkIg6C3D8f",
          "notices": [
            {
              "title": "Violated avoid ferry.",
              "code": "violatedAvoidFerry",
              "severity": "critical"
            },
            {
              "title": "No schedule information available.",
              "code": "noSchedule",
              "severity": "info"
            }
          ],
          "transport": {
            "mode": "ferry",
            "name": "Rafina-Andros"
          }
        },
        {
          "id": "2a9f438c-5ea2-45da-aeb3-c542fda6cf85",
          "type": "vehicle",
          "departure": {
            "time": "2026-05-07T19:42:52+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 37.8846799,
                "lng": 24.7356599
              }
            }
          },
          "arrival": {
            "time": "2026-05-07T19:44:54+03:00",
            "place": {
              "type": "place",
              "location": {
                "lat": 37.8815861,
                "lng": 24.7414224
              },
              "originalLocation": {
                "lat": 37.8818499,
                "lng": 24.7414999
              }
            }
          },
          "summary": {
            "duration": 122,
            "length": 711,
            "baseDuration": 110
          },
          "polyline": "BGwwpooC463lvBzF4XvH4hBjS7BrO7BvCAjNjDzFjD7LnGrJkN7GoL3IoQ7L8VrOkcnLwWnGgP3DgZ3DslCnBwH3D4N7L4XnLsT_EoLjDsJjCsL",
          "transport": {
            "mode": "car"
          }
        }
      ]
    }
  ]
}

回避オプションが失敗する例

次のリクエストでは回避オプションに失敗しています。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.531106,13.384915&'\
'transportMode=car&'\
'destination=55.954408,-3.194735&'\
'avoid[features]=ferry,carShuttleTrain&'\
'return=summary&'\
'apiKey=YOUR_API_KEY'
{
  "notices": [
    {
      "title": "Route calculation failed: Couldn't find a route.",
      "code": "noRouteFound"
    }
  ],
  "routes": []
}

このページは役に立ちましたか?