Wayfinding - Get Path
施設内の 2 つの場所間の最適なパスを計算するには、 を使用します。
Wayfinding Service は Creator の一部であり、 Open Geospatial Consortium 標準に準拠しています。 Wayfinding では、 ルートセット からの屋内マップ データを使用して、同じ施設内の 2 つの場所間の最適なパスを計算します。 詳細については、「屋内マップの作成者」の「Wayfinding」の概念に関する記事を参照してください。
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}&avoidFeatures={avoidFeatures}&minWidth={minWidth}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
api-version
|
query | True |
string |
Azure Maps API のバージョン番号。 |
facility
|
query | True |
string |
パスを検索するルートセット内のファシリティの識別子。 |
from
|
query | True |
integer int32 |
パスの配信元レベル。 |
from
|
query | True |
string |
{latitude},{longitude} の形式のパスの原点。 |
routeset
|
query | True |
string |
クエリの対象となるルートセットの ID。 |
to
|
query | True |
integer int32 |
パスの宛先レベル。 |
to
|
query | True |
string |
次の形式のパスの変換先: {latitude}、{longitude}。 |
avoid
|
query |
結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。 |
||
min
|
query |
number |
検索パス内の開口部の最小幅 (メートル単位)。 たとえば、最小幅 0.85 を指定した場合、検索パスは幅 85 センチメートル未満の開口部を回避します。 注: この値を使用すると、結果として得られるパス ポイントは、指定された幅の半分ずつ、壁やその他の垂直障害物からバッファーされます。 |
要求ヘッダー
名前 | 必須 | 型 | 説明 |
---|---|---|---|
x-ms-client-id |
string |
Microsoft Entra ID セキュリティ モデルと組み合わせて使用するアカウントを指定します。 Azure Maps アカウントの一意の ID を表し、Azure Maps管理プレーン アカウント API から取得できます。 Azure MapsでMicrosoft Entra IDセキュリティを使用するには、ガイダンスについては、次の記事を参照してください。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
OK |
|
Other Status Codes |
予期しないエラーが発生しました。 |
セキュリティ
AADToken
これらは Azure Active Directory OAuth2 フローです。 Azure ロールベースのアクセス制御と組み合わせて使用すると、Azure Maps REST API へのアクセスを制御できます。 Azure ロールベースのアクセス制御は、1 つ以上のAzure Mapsリソース アカウントまたはサブリソースへのアクセスを指定するために使用されます。 REST API をAzure Mapsするための 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、ユーザー、グループ、またはサービス プリンシパルにアクセス権を付与できます。
シナリオを実装するには、 認証の概念を表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを使用してアプリケーションをモデル化するためのソリューションを提供します。
メモ
- このセキュリティ定義では、 ヘッダーを使用して、
x-ms-client-id
アプリケーションがアクセスを要求しているリソースAzure Maps示す必要があります。 これは、 Maps 管理 API から取得できます。
は Authorization URL
、Azure パブリック クラウド インスタンスに固有です。 ソブリン クラウドには、一意の承認 URL と Azure Active Directory 構成があります。
* Azure ロールベースのアクセス制御は、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンから構成されます。
* Azure Maps Web SDK を使用すると、複数のユース ケースに対してアプリケーションを構成ベースで設定できます。
- 現在、Azure Active Directory v1.0 または v2.0 では、職場、学校、ゲストはサポートされていますが、個人用アカウントはサポートされていません。
型:
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 portalでAzure Maps アカウントを作成するとき、または PowerShell、CLI、Azure SDK、または REST API を使用してプロビジョニングされる共有キーです。
このキーを使用すると、すべてのアプリケーションですべての REST API にアクセスできます。 つまり、このキーは、発行先のアカウントのマスター キーとして使用できます。
公開されているアプリケーションの場合は、機密クライアント アプリケーション のアプローチを使用して、キーを安全に格納できるように、Azure Maps REST API にアクセスすることをお勧めします。
型:
apiKey
/:
query
SAS Token
これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンを介して、Azure Maps リソースの List SAS 操作から作成される共有アクセス署名トークンです。
このトークンを使用すると、すべてのアプリケーションが Azure ロールベースのアクセス制御を使用してアクセスし、特定のトークンに使用される有効期限、レート、およびリージョンに対するきめ細かい制御が許可されます。 言い換えると、SAS トークンを使用して、アプリケーションが共有キーよりもセキュリティで保護された方法でアクセスを制御できます。
公開されているアプリケーションの場合、 Map アカウント リソース で許可される配信元の特定のリストを構成して、レンダリングの不正使用を制限し、SAS トークンを定期的に更新することをお勧めします。
型:
apiKey
/:
header
例
Get the shortest path between two points in the facility.
要求のサンプル
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId=[routeset-Id]&facilityId=[facility-Id]&fromPoint=47.652882287901065,-122.13400410050512&fromLevel=-1&toPoint=47.652870534630466,-122.13382884389553&toLevel=0
応答のサンプル
{
"noResultExplanation": "NoExplanation",
"paths": [
{
"lengthInMeters": 51.27548,
"timeInSeconds": 60,
"legs": [
{
"mode": "Default",
"lengthInMeters": 14.7605,
"timeInSeconds": 15,
"startLevel": 0,
"endLevel": 0,
"points": [
{
"latitude": 47.6528823,
"longitude": -122.1340041
},
{
"latitude": 47.6528688,
"longitude": -122.1340336
},
{
"latitude": 47.6528591,
"longitude": -122.1340534
},
{
"latitude": 47.6528309,
"longitude": -122.1341107
},
{
"latitude": 47.6527984,
"longitude": -122.1341556
}
]
},
{
"mode": "Stair",
"lengthInMeters": 7.88608,
"timeInSeconds": 16,
"startLevel": 0,
"endLevel": 1,
"points": [
{
"latitude": 47.6527984,
"longitude": -122.1341556
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
}
]
},
{
"mode": "Default",
"lengthInMeters": 28.6289,
"timeInSeconds": 29,
"startLevel": 1,
"endLevel": 1,
"points": [
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527843,
"longitude": -122.1341395
},
{
"latitude": 47.6527846,
"longitude": -122.1341332
},
{
"latitude": 47.652789,
"longitude": -122.1341315
},
{
"latitude": 47.6527898,
"longitude": -122.1341312
},
{
"latitude": 47.6527913,
"longitude": -122.1341306
},
{
"latitude": 47.6527938,
"longitude": -122.1341295
},
{
"latitude": 47.6528309,
"longitude": -122.1341137
},
{
"latitude": 47.652856,
"longitude": -122.1340564
},
{
"latitude": 47.6528694,
"longitude": -122.1340372
},
{
"latitude": 47.652873,
"longitude": -122.1339296
},
{
"latitude": 47.6528735,
"longitude": -122.1339124
},
{
"latitude": 47.6528733,
"longitude": -122.1339095
},
{
"latitude": 47.6528732,
"longitude": -122.1338288
}
]
}
]
}
]
}
定義
名前 | 説明 |
---|---|
avoid |
結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。 |
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
Leg |
パス全体のセクション。 |
No |
パスが見つからない場合、 |
Path |
配信元と宛先の間の特定のパスに関する詳細。 それは1つ以上の足で構成することができる。 |
Point |
施設内のポイント。 |
Wayfind |
この Wayfinding Path 要求によって返されるオブジェクト。 |
avoidFeatures
結果のパスに特定の種類のコネクタが含まれるのを回避するため。 複数の値を指定できます。
名前 | 型 | 説明 |
---|---|---|
elevators |
string |
エレベーターは避けてください。 |
stairs |
string |
階段は避けてください。 |
ErrorAdditionalInfo
リソース管理エラーの追加情報。
名前 | 型 | 説明 |
---|---|---|
info |
object |
追加情報。 |
type |
string |
追加情報の種類。 |
ErrorDetail
エラーの詳細。
名前 | 型 | 説明 |
---|---|---|
additionalInfo |
エラーの追加情報。 |
|
code |
string |
エラー コード。 |
details |
エラーの詳細です。 |
|
message |
string |
エラー メッセージ。 |
target |
string |
エラーのターゲット。 |
ErrorResponse
エラー応答
名前 | 型 | 説明 |
---|---|---|
error |
error オブジェクト。 |
Leg
パス全体のセクション。
名前 | 型 | 説明 |
---|---|---|
endLevel |
integer |
この脚が終わる床。 |
lengthInMeters |
number |
この脚の脚の長さ (メートル単位)。 |
mode |
string |
この脚のトラバーサルのレッグ モード。 レベル間を垂直方向に移動する場合は、既定 (すべて同じレベル)、エレベーター、または階段にすることができます。 |
points |
Point[] |
脚の形状がポイントします。 垂直方向の位置は次のように決定されます。startLevel と endLevel が同じ場合、すべてのポイントが同じ高さになります。それ以外の場合、配列には startLevel の 1 つ目と endLevel の 2 つ目のポイントのみが含まれます。 |
startLevel |
integer |
この脚が始まる床。 |
timeInSeconds |
integer |
この脚の最初と最後のポイントの間を移動する脚の移動時間 (秒単位)。 |
NoResultExplanation
パスが見つからない場合、 paths
配列は空になります。 パスが見つからなかった理由を特定できる場合、このプロパティは理由を説明します。
名前 | 型 | 説明 |
---|---|---|
NoExplanation |
string |
結果が返されたとき、またはパスが見つからなかった理由を判断できなかった場合に指定される既定値。 |
Path
配信元と宛先の間の特定のパスに関する詳細。 それは1つ以上の足で構成することができる。
名前 | 型 | 説明 |
---|---|---|
legs |
Leg[] |
このパスのさまざまな移動セクション。 |
lengthInMeters |
number |
パス全体のパスの長さ (メートル単位)。 |
timeInSeconds |
integer |
このパスに従うときに、配信元と宛先の間を移動するパスの合計時間 (秒)。 |
Point
施設内のポイント。
名前 | 型 | 説明 |
---|---|---|
latitude |
number |
ポイント緯度 |
longitude |
number |
ポイント経度 |
WayfindResult
この Wayfinding Path 要求によって返されるオブジェクト。
名前 | 型 | 説明 |
---|---|---|
noResultExplanation |
パスが見つからない場合、 |
|
paths |
Path[] |
ウェイファインディング パスの結果の配列。 結果が見つからなかった場合は、空の配列が返されます。 |