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パブリッククラウドにはhttps://atlas.microsoft.comを使いましょう。 特定のAzure Maps地理やソブリンクラウドをターゲットにする場合は、Azure Maps地理的範囲を参照してください。

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の認証管理Manage certificationをご覧ください。

Accept-Language

string

ルーティング結果を返す言語。

詳細については、Azure Mapsのローカリゼーションサポートをご覧ください。

要求本文

Media Types: "application/geo+json"

名前 必須 説明
features True

InputSnapToRoadsFeaturesItem[]

道路ネットワークにスナップするポイントのセット。 最小 2 ポイント、最大 5000 ポイントを獲得でき、連続する 2 つのポイントは互いに 6 キロメートル以内、総道路距離は最大 100 キロメートルである必要があります。 GeoJSON 形式の詳細については、 RFC 7946 を参照してください。

Note: API は、道路ネットワークにスナップできない GPS ポイントの応答でポイント オブジェクトを返しません。

type True

FeatureTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946を参照してください。

includeSpeedLimit

boolean

スナップされたポイントの速度制限情報を応答に含めるかどうかを指定します。 単位はキロメートル/時です。

interpolate

boolean

スナップされた点の間に追加の点を返して、道路ジオメトリにスムーズに従う完全なルート パスを完了するかどうかを指定します。

補間されたポイントは、補間されたポイントからスナップされたポイントを識別するために使用できる応答に isInterpolate:true されます。

travelMode

SnapToRoadsTravelModeEnum

ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。

応答

名前 説明
200 OK

SnapToRoadsResponse

要求は成功しました。

Media Types: "application/geo+json", "application/json"

Other Status Codes

MapsErrorResponse

予期しないエラー応答。

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
      }
    }
  ]
}

定義

名前 説明
FeaturesItemTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は Feature のみです。 詳細については、RFC 7946を参照してください。

FeatureTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946を参照してください。

GeoJsonObjectType

GeoJSON 型を指定します。 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection、Feature、FeatureCollection の 9 つの有効な GeoJSON オブジェクト タイプのいずれかである必要があります。

GeoJsonPoint

有効な GeoJSON Point geometry 型。 詳細については、RFC 7946 を参照してください。

InputSnapToRoadsFeaturesItem

道路ポイントへの入力スナップを指定します。 フィーチャー オブジェクトと追加のプロパティを GeoJSON します。 詳細については、RFC 7946 を参照してください。

MapsErrorDetail

エラーの詳細。

MapsErrorResponse

Azure Maps APIで失敗した操作のエラー詳細を返すための一般的なエラー応答。

MapsInnerError

エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。

SnapToRoadFeaturesItem

Geometry オブジェクトとルートの追加プロパティを含む GeoJSON フィーチャ オブジェクト。

SnapToRoadsFeatureProperties

[道路にスナップ] プロパティ

SnapToRoadsRequest

このオブジェクトは要求本文です。

SnapToRoadsResponse

このオブジェクトは、正常な呼び出しから返されます。

SnapToRoadsTravelModeEnum

ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。

FeaturesItemTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は Feature のみです。 詳細については、RFC 7946を参照してください。

説明
Feature

GeoJSON フィーチャー オブジェクトの種類を指定します。

FeatureTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946を参照してください。

説明
FeatureCollection

GeoJSON FeatureCollection オブジェクトの種類を指定します。

GeoJsonObjectType

GeoJSON 型を指定します。 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection、Feature、FeatureCollection の 9 つの有効な GeoJSON オブジェクト タイプのいずれかである必要があります。

説明
Point

ジオメトリを GeoJSON Point します。

MultiPoint

ジオメトリを GeoJSON MultiPoint します。

LineString

ジオメトリを GeoJSON LineString します。

MultiLineString

ジオメトリを GeoJSON MultiLineString します。

Polygon

ジオメトリを GeoJSON Polygon します。

MultiPolygon

ジオメトリを GeoJSON MultiPolygon します。

GeometryCollection

ジオメトリを GeoJSON GeometryCollection します。

Feature

GeoJSON Feature オブジェクト。

FeatureCollection

GeoJSON FeatureCollection オブジェクト。

GeoJsonPoint

有効な GeoJSON Point geometry 型。 詳細については、RFC 7946 を参照してください。

名前 説明
coordinates

number[] (double)

Position は、2 つ以上の要素を持つ数値の配列です。 最初の 2 つの要素は、経度 、緯度正確にその順序で示されます。 高度/標高 は、オプションの 3 番目の要素です。 詳細については、RFC 7946 を参照してください。

type string:

Point

GeoJSON 型を指定します。 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection、Feature、FeatureCollection の 9 つの有効な GeoJSON オブジェクト タイプのいずれかである必要があります。

InputSnapToRoadsFeaturesItem

道路ポイントへの入力スナップを指定します。 フィーチャー オブジェクトと追加のプロパティを GeoJSON します。 詳細については、RFC 7946 を参照してください。

名前 説明
geometry

GeoJsonPoint

有効な GeoJSON Point geometry 型。 詳細については、RFC 7946 を参照してください。

properties

有効な GeoJSON では properties オブジェクトが必要ですが、メタデータは道路へのスナップに使用されないため、空の場合があります。

type

FeaturesItemTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は Feature のみです。 詳細については、RFC 7946を参照してください。

MapsErrorDetail

エラーの詳細。

名前 説明
code

string

サーバー定義の一連のエラー コードの 1 つ。

details

MapsErrorDetail[]

この報告されたエラーの原因となった特定のエラーに関する詳細の配列。

innererror

MapsInnerError

エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。

message

string

エラーの人間が判読できる表現。

target

string

エラーのターゲット。

MapsErrorResponse

Azure Maps APIで失敗した操作のエラー詳細を返すための一般的なエラー応答。

名前 説明
error

MapsErrorDetail

エラーの詳細。

MapsInnerError

エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。

名前 説明
code

string

エラー コード。

innererror

MapsInnerError

エラーに関する現在のオブジェクトよりも具体的な情報を含むオブジェクト。

SnapToRoadFeaturesItem

Geometry オブジェクトとルートの追加プロパティを含む GeoJSON フィーチャ オブジェクト。

名前 説明
bbox

number[] (double)

境界ボックス オブジェクトとして定義された、地球の四角形領域。 四角形の辺は、緯度と経度の値によって定義されます。 詳細については、RFC 7946、セクション 5を参照してください。

例: "bbox": [-10.0, -10.0, 10.0, 10.0]

geometry

GeoJsonPoint

有効な GeoJSON Point geometry 型。 詳細については、RFC 7946 を参照してください。

properties

SnapToRoadsFeatureProperties

[道路にスナップ] プロパティ

type

FeaturesItemTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は Feature のみです。 詳細については、RFC 7946を参照してください。

SnapToRoadsFeatureProperties

[道路にスナップ] プロパティ

名前 説明
inputIndex

integer (int64)

スナップされた各ポイントのポイントの元のリスト内の対応するインデックスを識別します。 スナップされたポイントのみがインデックスを返し、補間されたポイントと区別するために使用できます。

isInterpolated

boolean

これが補間ポイントであるかどうかを識別します。

name

string

ポイントがスナップされる道路の名前。

speedLimitInKilometersPerHour

number (double)

毎時キロメートルの速度制限。

SnapToRoadsRequest

このオブジェクトは要求本文です。

名前 規定値 説明
features

InputSnapToRoadsFeaturesItem[]

道路ネットワークにスナップするポイントのセット。 最小 2 ポイント、最大 5000 ポイントを獲得でき、連続する 2 つのポイントは互いに 6 キロメートル以内、総道路距離は最大 100 キロメートルである必要があります。 GeoJSON 形式の詳細については、 RFC 7946 を参照してください。

Note: API は、道路ネットワークにスナップできない GPS ポイントの応答でポイント オブジェクトを返しません。

includeSpeedLimit

boolean

False

スナップされたポイントの速度制限情報を応答に含めるかどうかを指定します。 単位はキロメートル/時です。

interpolate

boolean

False

スナップされた点の間に追加の点を返して、道路ジオメトリにスムーズに従う完全なルート パスを完了するかどうかを指定します。

補間されたポイントは、補間されたポイントからスナップされたポイントを識別するために使用できる応答に isInterpolate:true されます。

travelMode

SnapToRoadsTravelModeEnum

driving

ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。

type

FeatureTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946を参照してください。

SnapToRoadsResponse

このオブジェクトは、正常な呼び出しから返されます。

名前 説明
features

SnapToRoadFeaturesItem[]

Geometry オブジェクトと追加のプロパティを含むフィーチャー オブジェクトを GeoJSON します。 詳細については、RFC 7946 セクション 3.2 を参照してください。

type

FeatureTypeEnum

GeoJSON 型を指定します。 サポートされているオブジェクトの種類は FeatureCollectionのみです。 詳細については、RFC 7946を参照してください。

SnapToRoadsTravelModeEnum

ポイントをスナップするためのルーティング プロファイルを指定します。 指定しない場合、既定のモードは "運転" であり、ルートを運転するためにスナップされたポイントを最適化します。

説明
driving

ポイントは車に適した道路にスナップされます。

truck

ポイントはトラックに適した道路にスナップされます。