次の方法で共有


Route - Post Snap To Roads

Snap to Roads API は、経度と緯度の座標として表される GPS ポイント データを受け入れ、マップ上の既存の道路に沿ったポイントを生成します。 このプロセスは、"道路へのスナップ" と呼ばれ、道路ネットワークの近くのパスをトレースする一連のオブジェクトを生成します。 結果のデータには、通過したセグメントに関連する道路名とそれぞれの速度制限が含まれます。

さらに、Snap to Roads API には補間機能が用意されており、GPS ポイントを調整して、道路のジオメトリに準拠するよりスムーズなルートを作成できます。 この機能は、マッピング アプリケーションでの資産の追跡とデータ視覚化の強化に特に役立ちます。

Important

GPS ポイントは、互いに 6 km 以内にある必要があります。

国や地域ごとのルーティング利用可能性については、Azure Mapsルーティングカバレッジを参照してください。

POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01

URI パラメーター

名前 / 必須 説明
api-version
query True

string

Azure Maps 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

[OK]

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

Other Status Codes

MapsErrorResponse

予期しないエラーが発生しました。

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

ヘッダー

x-ms-error-code: string

セキュリティ

AADToken

これらはMicrosoft Entra OAuth 2.0フローです。 Azureロールベースアクセス制御と組み合わせることで、Azure Maps REST APIへのアクセス制御に利用できます。 Azure ロールベースのアクセス制御は、1つ以上の Azure Maps リソースアカウントまたはサブリソースへのアクセスを指定するために使用されます。 任意のユーザー、グループ、またはサービスプリンシパルは、組み込みの役割やAzure Maps REST APIに対する1つ以上の権限で構成されたカスタムロールを通じてアクセス権を付与できます。

シナリオを実装するには、認証の概念表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを介してアプリケーションをモデル化するためのソリューションを提供します。

  • このセキュリティ定義要求アプリケーションがどのAzure Mapsリソースにアクセスを要求しているかを示すためにx-ms-client-idヘッダーを使用します。 これは、Maps 管理 APIから取得できます。
  • Authorization URLはAzureパブリッククラウドインスタンス専用です。 ソブリンクラウドは固有の認可URLとMicrosoft Entra IDの設定を持っています。
  • Azureロールベースのアクセス制御は、Azureポータル、PowerShell、CLI、Azure SDKs、または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 https://atlas.microsoft.com/.default

subscription-key

これは共有キーで、Azure Mapsリソースを作成する際に、Azureポータル、PowerShell、CLI、Azure SDKs、REST APIを通じてAzure管理プレーンを通じてプロビジョニングされます。

このキーを使用すると、すべてのアプリケーションがすべての REST API にアクセスすることが承認されます。 つまり、これらは現在、発行先のアカウントのマスター キーとして扱うことができます。

公開されているアプリケーションについては、このキーを安全に保存できるAzure Maps REST APIのサーバー間アクセスを利用することを推奨します。

型: apiKey
/: header

SAS Token

これは共有アクセス署名トークンで、Azure MapsリソースのList SAS操作からAzureポータル、PowerShell、CLI、Azure SDKs、REST APIを通じてAzure管理プレーンを経由して作成されます。

このトークンにより、どのアプリケーションも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": {
        "coordinates": [
          -122.336729,
          47.590868
        ],
        "type": "Point"
      },
      "properties": {}
    },
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          -122.336042,
          47.601604
        ],
        "type": "Point"
      },
      "properties": {}
    }
  ],
  "includeSpeedLimit": true,
  "travelMode": "driving"
}

応答のサンプル

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          -122.336769,
          47.590885
        ],
        "type": "Point"
      },
      "properties": {
        "inputIndex": 0,
        "isInterpolated": false,
        "name": "State Rte-99 N",
        "speedLimitInKilometersPerHour": 80
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          -122.336008,
          47.601609
        ],
        "type": "Point"
      },
      "properties": {
        "inputIndex": 1,
        "isInterpolated": false,
        "name": "State Rte-99 N",
        "speedLimitInKilometersPerHour": 80
      }
    }
  ]
}

定義

名前 説明
FeaturesItemTypeEnum

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

FeatureTypeEnum

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

GeoJsonPoint

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

InputSnapToRoadsFeaturesItem

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

MapsErrorDetail

エラーの詳細。

MapsErrorResponse

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

MapsInnerError

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

PointGeometry

有効な GeoJSON Geometry オブジェクトとして渡される原点。このオブジェクトから範囲ポリゴンを計算する必要があります。 詳細については、RFC 7946 を参照してください。

Note: API は、要求された起点を最も近い道路ネットワークにスナップし、範囲の計算に使用します。 応答の center ポイントとして返されます。

SnapToRoadFeaturesItem

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

SnapToRoadsFeatureProperties

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

SnapToRoadsRequest

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

SnapToRoadsResponse

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

SnapToRoadsTravelModeEnum

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

FeaturesItemTypeEnum

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

説明
Feature

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

FeatureTypeEnum

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

説明
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:

PointGeometry

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

properties

object

有効な 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

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

PointGeometry

有効な GeoJSON Geometry オブジェクトとして渡される原点。このオブジェクトから範囲ポリゴンを計算する必要があります。 詳細については、RFC 7946 を参照してください。

Note: API は、要求された起点を最も近い道路ネットワークにスナップし、範囲の計算に使用します。 応答の center ポイントとして返されます。

名前 説明
coordinates

number[] (double)

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

type string:

Point

GeoJSON Geometry オブジェクトのジオメトリの種類を指定します。 詳細については、RFC 7946を参照してください。

SnapToRoadFeaturesItem

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

名前 説明
bbox

number[] (double)

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

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

geometry GeoJsonPoint:

PointGeometry

有効な 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

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