Route - Post Snap To Roads
Snap to Roads API は、経度と緯度の座標として表される GPS ポイント データを受け入れ、マップ上の既存の道路に沿ったポイントを生成します。 このプロセスは、"道路へのスナップ" と呼ばれ、道路ネットワークの近くのパスをトレースする一連のオブジェクトを生成します。 結果のデータには、通過したセグメントに関連する道路名とそれぞれの速度制限が含まれます。
さらに、Snap to Roads API には補間機能が用意されており、GPS ポイントを調整して、道路のジオメトリに準拠するよりスムーズなルートを作成できます。 この機能は、マッピング アプリケーションでの資産の追跡とデータ視覚化の強化に特に役立ちます。
Important
GPS ポイントは、互いに 6 km 以内にある必要があります。
国や地域ごとのルーティング利用可能性については、Azure Mapsルーティングカバレッジを参照してください。
POST {endpoint}/route/snapToRoads?api-version=2025-01-01
URI パラメーター
| 名前 | / | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Azure Mapsサービスのホストネーム。 Azureパブリッククラウドには |
|
api-version
|
query | True |
string minLength: 1 |
この操作に使用する API バージョン。 |
要求ヘッダー
Media Types: "application/geo+json"
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| x-ms-client-id |
string |
Microsoft Entra IDセキュリティモデルで使用されることを意図したアカウントを示します。 このAzure Mapsアカウントの一意IDは、Azure Maps管理プレーンのアカウントAPIから取得できます。
Azure MapsにおけるMicrosoft Entra IDセキュリティの使用についての詳細は、Azure Maps |
|
| Accept-Language |
string |
ルーティング結果を返す言語。 詳細については、Azure Mapsの |
要求本文
Media Types: "application/geo+json"
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| features | True |
道路ネットワークにスナップするポイントのセット。 最小 2 ポイント、最大 5000 ポイントを獲得でき、連続する 2 つのポイントは互いに 6 キロメートル以内、総道路距離は最大 100 キロメートルである必要があります。 GeoJSON 形式の詳細については、 RFC 7946 を参照してください。
|
|
| type | True |
|
|
| includeSpeedLimit |
boolean |
スナップされたポイントの速度制限情報を応答に含めるかどうかを指定します。 単位はキロメートル/時です。 |
|
| interpolate |
boolean |
スナップされた点の間に追加の点を返して、道路ジオメトリにスムーズに従う完全なルート パスを完了するかどうかを指定します。 補間されたポイントは、補間されたポイントからスナップされたポイントを識別するために使用できる応答に |
|
| travelMode |
ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。 |
応答
| 名前 | 型 | 説明 |
|---|---|---|
| 200 OK |
要求は成功しました。 Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
予期しないエラー応答。 Media Types: "application/geo+json", "application/json" |
セキュリティ
AadToken
これらはMicrosoft Entra OAuth 2.0フローです。 Azureロールベースアクセス制御と組み合わせることで、Azure Maps REST APIへのアクセス制御に利用できます。 Azure ロールベースのアクセス制御は、1つ以上の Azure Maps リソースアカウントまたはサブリソースへのアクセスを指定するために使用されます。 Azure Maps REST API に対する 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、任意のユーザー、グループ、またはサービス プリンシパルにアクセス権を付与できます。
シナリオを実装するには、認証の概念表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを介してアプリケーションをモデル化するためのソリューションを提供します。
Note
- このセキュリティ定義 使用して、アプリケーションがアクセスを要求している Azure Maps リソースを示す必要があります。 これは、Maps 管理 APIから取得できます。
-
Authorization URLは、Azure パブリック クラウド インスタンスに固有です。 ソブリンクラウドは固有の認可URLとMicrosoft Entra IDの設定を持っています。 - Azure ロールベースのアクセス制御は、Azure portal、PowerShell、CLI、Azure SDK、または REST API を使用して
Azure 管理プレーンから構成されます。 - Azure Maps Web SDK を使用すると、複数のユース ケースに対するアプリケーションの構成ベースのセットアップが可能になります。
- Microsoft ID プラットフォームの詳細については、「Microsoft ID プラットフォームの概要」を参照してください。
型:
oauth2
フロー:
implicit
Authorization URL (承認 URL):
https://login.microsoftonline.com/common/oauth2/authorize
スコープ
| 名前 | 説明 |
|---|---|
| https://atlas.microsoft.com/.default |
subscription-key
これは、Azure portal で、または PowerShell、CLI、Azure SDK、または REST API を使用して Azure Maps アカウント を作成 場合にプロビジョニングされる共有キーです。
このキーを使用すると、すべてのアプリケーションがすべての REST API にアクセスできます。 つまり、このキーは、発行されたアカウントのマスター キーとして使用できます。
パブリックに公開されているアプリケーションの場合は、キーを安全に格納できるように、機密クライアント アプリケーション アプローチを使用して Azure Maps REST API にアクセスすることをお勧めします。
型:
apiKey
/:
header
SAS Token
これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンを介して、Azure Maps リソース のリスト SAS 操作から作成される Shared Access Signature トークンです。
このトークンを使用すると、すべてのアプリケーションは、Azure ロールベースのアクセス制御と、特定のトークンに対する使用の有効期限、レート、およびリージョンに対するきめ細かな制御を使用してアクセスすることが承認されます。 つまり、SAS トークンを使用して、アプリケーションが共有キーよりもセキュリティで保護された方法でアクセスを制御できるようにします。
パブリックに公開されているアプリケーションの場合は、Map アカウント リソースの許可された配信元の特定の一覧を構成し、レンダリングの不正使用を制限し、SAS トークンを定期的に更新するように することをお勧めします。
型:
apiKey
/:
header
例
Successfully retrieve snap to roads points with additional parameters in the body
要求のサンプル
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336729,
47.590868
]
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336042,
47.601604
]
},
"properties": {}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
応答のサンプル
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336769,
47.590885
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 0,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336008,
47.601609
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 1,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
}
]
}
定義
| 名前 | 説明 |
|---|---|
|
Features |
|
|
Feature |
|
|
Geo |
|
|
Geo |
有効な |
|
Input |
道路ポイントへの入力スナップを指定します。 フィーチャー オブジェクトと追加のプロパティを |
|
Maps |
エラーの詳細。 |
|
Maps |
Azure Maps APIで失敗した操作のエラー詳細を返すための一般的なエラー応答。 |
|
Maps |
エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。 |
|
Snap |
Geometry オブジェクトとルートの追加プロパティを含む GeoJSON フィーチャ オブジェクト。 |
|
Snap |
[道路にスナップ] プロパティ |
|
Snap |
このオブジェクトは要求本文です。 |
|
Snap |
このオブジェクトは、正常な呼び出しから返されます。 |
|
Snap |
ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。 |
FeaturesItemTypeEnum
GeoJSON 型を指定します。 サポートされているオブジェクトの種類は Feature のみです。 詳細については、RFC 7946
| 値 | 説明 |
|---|---|
| Feature |
|
FeatureTypeEnum
GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946
| 値 | 説明 |
|---|---|
| FeatureCollection |
|
GeoJsonObjectType
GeoJSON 型を指定します。 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection、Feature、FeatureCollection の 9 つの有効な GeoJSON オブジェクト タイプのいずれかである必要があります。
| 値 | 説明 |
|---|---|
| Point |
ジオメトリを |
| MultiPoint |
ジオメトリを |
| LineString |
ジオメトリを |
| MultiLineString |
ジオメトリを |
| Polygon |
ジオメトリを |
| MultiPolygon |
ジオメトリを |
| GeometryCollection |
ジオメトリを |
| Feature |
|
| FeatureCollection |
|
GeoJsonPoint
有効な GeoJSON Point geometry 型。 詳細については、RFC 7946 を参照してください。
| 名前 | 型 | 説明 |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
|
InputSnapToRoadsFeaturesItem
道路ポイントへの入力スナップを指定します。 フィーチャー オブジェクトと追加のプロパティを GeoJSON します。 詳細については、RFC 7946 を参照してください。
| 名前 | 型 | 説明 |
|---|---|---|
| geometry |
有効な |
|
| properties |
有効な GeoJSON では properties オブジェクトが必要ですが、メタデータは道路へのスナップに使用されないため、空の場合があります。 |
|
| type |
|
MapsErrorDetail
エラーの詳細。
| 名前 | 型 | 説明 |
|---|---|---|
| code |
string |
サーバー定義の一連のエラー コードの 1 つ。 |
| details |
この報告されたエラーの原因となった特定のエラーに関する詳細の配列。 |
|
| innererror |
エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。 |
|
| message |
string |
エラーの人間が判読できる表現。 |
| target |
string |
エラーのターゲット。 |
MapsErrorResponse
Azure Maps APIで失敗した操作のエラー詳細を返すための一般的なエラー応答。
| 名前 | 型 | 説明 |
|---|---|---|
| error |
エラーの詳細。 |
MapsInnerError
エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。
| 名前 | 型 | 説明 |
|---|---|---|
| code |
string |
エラー コード。 |
| innererror |
エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。 |
SnapToRoadFeaturesItem
Geometry オブジェクトとルートの追加プロパティを含む GeoJSON フィーチャ オブジェクト。
| 名前 | 型 | 説明 |
|---|---|---|
| bbox |
number[] (double) |
境界ボックス オブジェクトとして定義された、地球の四角形領域。 四角形の辺は、緯度と経度の値によって定義されます。 詳細については、RFC 7946、セクション 5 例: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry |
有効な |
|
| properties |
[道路にスナップ] プロパティ |
|
| type |
|
SnapToRoadsFeatureProperties
[道路にスナップ] プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
| inputIndex |
integer (int64) |
スナップされた各ポイントのポイントの元のリスト内の対応するインデックスを識別します。 スナップされたポイントのみがインデックスを返し、補間されたポイントと区別するために使用できます。 |
| isInterpolated |
boolean |
これが補間ポイントであるかどうかを識別します。 |
| name |
string |
ポイントがスナップされる道路の名前。 |
| speedLimitInKilometersPerHour |
number (double) |
毎時キロメートルの速度制限。 |
SnapToRoadsRequest
このオブジェクトは要求本文です。
| 名前 | 型 | 規定値 | 説明 |
|---|---|---|---|
| features |
道路ネットワークにスナップするポイントのセット。 最小 2 ポイント、最大 5000 ポイントを獲得でき、連続する 2 つのポイントは互いに 6 キロメートル以内、総道路距離は最大 100 キロメートルである必要があります。 GeoJSON 形式の詳細については、 RFC 7946 を参照してください。
|
||
| includeSpeedLimit |
boolean |
False |
スナップされたポイントの速度制限情報を応答に含めるかどうかを指定します。 単位はキロメートル/時です。 |
| interpolate |
boolean |
False |
スナップされた点の間に追加の点を返して、道路ジオメトリにスムーズに従う完全なルート パスを完了するかどうかを指定します。 補間されたポイントは、補間されたポイントからスナップされたポイントを識別するために使用できる応答に |
| travelMode | driving |
ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。 |
|
| type |
|
SnapToRoadsResponse
このオブジェクトは、正常な呼び出しから返されます。
| 名前 | 型 | 説明 |
|---|---|---|
| features |
Geometry オブジェクトと追加のプロパティを含むフィーチャー オブジェクトを |
|
| type |
|
SnapToRoadsTravelModeEnum
ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。
| 値 | 説明 |
|---|---|
| driving |
ポイントは車に適した道路にスナップされます。 |
| truck |
ポイントはトラックに適した道路にスナップされます。 |