リージョンモードでルートを計算

次のチュートリアルでは、ドイツのベルリンにある 3 x 3 の簡単なマトリックスの例を示します。このマトリックスの原点と目的地は次のとおりです。

  1. アレクサンダー広場 (52.52103,13.41268)
  2. ブランデンブルク門 (52.51628, 13.37771)
  3. テンペルホーフ畑 (52.47342,13.40357)

自動車走行距離のマトリックスを計算するには、以下のリクエストを使用します。 リクエストでは目的地の配列が指定されていないため、出発地は宛先と見なされ、結果のマトリックスは 3 x 3 のマトリックスになります。 リージョン の定義は、経由地 を囲むバウンディング ボックス です。経由地 の近くで適切にルーティングできるように、小さなマージンが追加されています。 既定では、サービスは移動時間のマトリックスを計算しますが、レスポンスでは、時間ではなく距離を取得するため、リクエストではdistances値を使用してmatrixAttributesプロパティが指定されます。

{
    "origins": [
        {"lat": 52.52103, "lng": 13.41268},
        {"lat": 52.51628, "lng": 13.37771},
        {"lat": 52.47342, "lng": 13.40357}
    ],
    "regionDefinition": {
        "type": "boundingBox",
        "north": 52.53,
        "south": 52.46,
        "west": 13.35,
        "east": 13.42
    },
    "matrixAttributes": ["distances"]
}

表示される内容は次のとおりです。

ベルリンでのマトリックスリクエスト
図 1. ベルリンでのマトリックスリクエスト

マーカーは出発地 / 目的地で、バウンディング ボックスは青色の四角形です。

マトリックスリクエストを送信するすべての手順については、「利用開始」セクションで説明しています。 レスポンスは次のようになります。

{
    "matrixId": "0b7f828f-49c8-43e4-9727-063eafbf7d7a",
    "matrix": {
        "numOrigins": 3,
        "numDestinations": 3,
        "distances": [0, 2907, 6446, 3258, 0, 5954, 6669, 5966, 0]
    },
    "regionDefinition": {
        "type": "boundingBox",
        "north": 52.53,
        "south": 52.46,
        "west": 13.35,
        "east": 13.42
    }
}

この応答は、メートル単位のエントリを含むこのマトリックスに対応しています。

出発地 \ 目的地 1 2 3
1 0 2908 11262
2 3506 0 10207
3 11333 9414 0

オートサークル リージョン定義

出発地を中心にバウンディング ボックス、サークルを定義する代わりに、サークルの自動派生をリクエストできます。 以下のリクエストは、上記のリクエストautoCircle と同じですが、このフィーチャーを使用しています。

{
    "origins": [
        {"lat": 52.52103, "lng": 13.41268},
        {"lat": 52.51628, "lng": 13.37771},
        {"lat": 52.47342, "lng": 13.40357}
    ],
    "regionDefinition": {
        "type": "autoCircle"
    },
    "matrixAttributes": ["distances"]
}

このフィールドmarginは指定されていないため、サービスではデフォルト値の 10 km が使用されます。 派生したサークルがマトリックスレスポンスで返されます。

{
    "matrixId": "05fef3ee-dd1a-450f-a5fe-15c95b7ee8a0",
    "matrix": {
        "numOrigins": 3,
        "numDestinations": 3,
        "distances": [0, 2907, 6446, 3258, 0, 5954, 6669, 5966, 0 ]
    },
    "regionDefinition": {
        "type": "circle",
        "center": {"lat": 52.497225, "lng": 13.395195},
        "radius": 12900
    }
}

これが表示される領域です。

'autoCircle' Berlin
図 2.'autoCircle' Berlin

余白を小さくすることで、リージョンのサイズを小さくできます。

{
    "origins": [
        {"lat": 52.52103, "lng": 13.41268},
        {"lat": 52.51628, "lng": 13.37771},
        {"lat": 52.47342, "lng": 13.40357}
    ],
    "regionDefinition": {
        "type": "autoCircle",
        "margin": 1000
    },
    "matrixAttributes": ["distances"]
}

これは対応するマトリックスのレスポンスです。

{
    "matrixId": "b76f08be-9cc2-4a4e-9b27-deb766df9e90",
    "matrix": {
        "numOrigins": 3,
        "numDestinations": 3,
        "distances": [0, 2907, 6446, 3258, 0, 5954, 6669, 5966, 0 ]
    },
    "regionDefinition": {
        "type": "circle",
        "center": {"lat": 52.497225, "lng": 13.395195},
        "radius": 3900
    }
}

サークルには、マージンの小さい出発地が含まれています。

ベルリンの小さなオートサークル
図 3. ベルリンの小さなオートサークル

autoCircle には、限られたリージョンで行列エントリを計算するために使用されるリージョンサイズを制限するために使用できるパラメーター maxRadius があります。これは、次のいずれかの操作を行う必要がある場合に特に役立ちます。

  1. 通常は、autoCircleがリージョンサイズの制限を超過しても、常に結果が得られるようにしてください。
  2. リージョンが大きくなりすぎないようにして、応答時間を制限します。

マージンに一致するWaypoints、または対応するエントリの計算されたauto autoCircle, you will instead geterrorCodes=4` の外側のWaypointの場合。

{
    "origins": [
        {"lat": 52.586821, "lng": 13.581717},
        {"lat": 52.607613, "lng": 13.197346},
        {"lat": 52.4087162, "lng": 13.2962859},
        {"lat": 52.3999995, "lng": 17.0103584}
    ],
    "regionDefinition": {
        "type": "autoCircle",
        "maxRadius": 20000
    },
    "matrixAttributes": ["distances"]
}

これは対応するマトリックスのレスポンスです。

{
    "matrixId": "b76f08be-9cc2-4a4e-9b27-deb766df9e90",
    "matrix": {
        "numOrigins": 4,
        "numDestinations": 4,
        "distances": [
            0,      50367,  40323,  0,
            49747,  0,      39525,  0,
            40119,  30042,  0,      0,
            0,      0,      0,      0
         ],
        "errorCodes": [
            0, 0, 0, 4,
            0, 0, 0, 4,
            0, 0, 0, 4,
            4, 4, 4, 4
        ]
    },
    "regionDefinition": {
        "type": "circle",
        "center": {"lat": 52.5081646, "lng": 13.3895315},
        "radius": 27062
    }
}

次の図に、waypoints と計算された autoCircleを示します。

オートサークル の最大半径
図 4. オートサークル の最大半径

」に一致する結果は 件です

    」に一致する結果はありません