Wayfinding - Get Path
를 사용하여 시설 내의 두 위치 간에 가장 적합한 경로를 계산합니다.
Wayfinding Service는 Creator의 일부이며 Open Geospatial Consortium 표준을 준수합니다. Wayfinding은 경로 집합 의 실내 지도 데이터를 사용하여 동일한 시설 내의 두 위치 간에 최상의 경로를 계산합니다. 자세한 내용은 실내 지도 개념에 대한 작성자 문서의 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 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
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로 지정한 경우 검색된 경로는 너비가 85cm 미만인 여는 것을 방지합니다. 참고: 이 값을 사용하면 결과 경로 지점이 제공된 너비의 절반으로 벽 및 기타 세로 장애물에서 버퍼링됩니다. |
요청 헤더
Name | 필수 | 형식 | Description |
---|---|---|---|
x-ms-client-id |
string |
Microsoft Entra ID 보안 모델과 함께 사용할 계정을 지정합니다. Azure Maps 계정에 대한 고유 ID를 나타내며 Azure Maps 관리 평면 계정 API에서 검색할 수 있습니다. Azure Maps Microsoft Entra ID 보안을 사용하려면 다음 문서를 참조하세요. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
정상 |
|
Other Status Codes |
예기치 않은 오류가 발생했습니다. |
보안
AADToken
Azure Active Directory OAuth2 흐름입니다. Azure 역할 기반 액세스 제어와 쌍을 이루는 경우 Azure Maps REST API에 대한 액세스를 제어하는 데 사용할 수 있습니다. Azure 역할 기반 액세스 제어는 하나 이상의 Azure Maps 리소스 계정 또는 하위 리소스에 대한 액세스를 지정하는 데 사용됩니다. 모든 사용자, 그룹 또는 서비스 주체는 기본 제공 역할 또는 REST API를 Azure Maps 하나 이상의 권한으로 구성된 사용자 지정 역할을 통해 액세스 권한을 부여할 수 있습니다.
시나리오를 구현하려면 인증 개념을 보는 것이 좋습니다. 요약하자면, 이 보안 정의는 특정 API 및 범위에 대한 액세스 제어가 가능한 개체를 통해 애플리케이션을 모델링하기 위한 솔루션을 제공합니다.
참고
- 이 보안 정의에서는 헤더를 사용하여 애플리케이션이
x-ms-client-id
액세스를 요청하는 Azure Maps 리소스를 나타내야 합니다. 이는 Maps 관리 API에서 가져올 수 있습니다.
Authorization URL
은 Azure 퍼블릭 클라우드 instance 관련됩니다. 소버린 클라우드에는 고유한 권한 부여 URL 및 Azure Active Directory 구성이 있습니다.
* Azure 역할 기반 액세스 제어는 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면에서 구성됩니다.
* Azure Maps 웹 SDK를 사용하면 여러 사용 사례에 대한 애플리케이션의 구성 기반 설정을 허용합니다.
- 현재 Azure Active Directory v1.0 또는 v2.0 은 회사, 학교 및 게스트를 지원하지만 개인 계정은 지원하지 않습니다.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
이 키는 Azure Portal Azure Maps 계정을 만들거나 PowerShell, CLI, Azure SDK 또는 REST API를 사용할 때 프로비전되는 공유 키입니다.
이 키를 사용하면 모든 애플리케이션이 모든 REST API에 액세스할 수 있습니다. 즉, 이 키를 발급된 계정의 master 키로 사용할 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 기밀 클라이언트 애플리케이션 접근 방식을 사용하여 키를 안전하게 저장할 수 있도록 Azure Maps REST API에 액세스하는 것이 좋습니다.
Type:
apiKey
In:
query
SAS Token
공유 액세스 서명 토큰은 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해 Azure Maps 리소스의 SAS 나열 작업에서 만들어집니다.
이 토큰을 사용하면 모든 애플리케이션이 Azure 역할 기반 액세스 제어 및 특정 토큰에 사용할 만료, 속도 및 지역에 대한 세분화된 제어를 사용하여 액세스할 수 있는 권한이 부여됩니다. 즉, SAS 토큰을 사용하여 애플리케이션이 공유 키보다 더 보안이 유지되는 방식으로 액세스를 제어할 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 렌더링 남용을 제한하고 정기적으로 SAS 토큰을 갱신하도록 Map 계정 리소스 에서 허용되는 특정 원본 목록을 구성하는 것이 좋습니다.
Type:
apiKey
In:
header
예제
Get the shortest path between two points in the facility.
Sample Request
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
Sample Response
{
"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
}
]
}
]
}
]
}
정의
Name | Description |
---|---|
avoid |
결과 경로에서 특정 유형의 커넥터를 방지합니다. 여러 값을 지정할 수 있습니다. |
Error |
리소스 관리 오류 추가 정보입니다. |
Error |
오류 세부 정보입니다. |
Error |
오류 응답 |
Leg |
전체 경로의 섹션입니다. |
No |
경로를 찾을 수 없는 경우 배열은 |
Path |
원본과 대상 간의 특정 경로에 대한 세부 정보입니다. 그것은 하나 이상의 다리로 구성 될 수있다. |
Point |
시설 내의 지점입니다. |
Wayfind |
이 Wayfinding Path 요청에서 반환된 개체입니다. |
avoidFeatures
결과 경로에서 특정 유형의 커넥터를 방지합니다. 여러 값을 지정할 수 있습니다.
Name | 형식 | Description |
---|---|---|
elevators |
string |
엘리베이터를 사용하지 마십시오. |
stairs |
string |
계단을 피하십시오. |
ErrorAdditionalInfo
리소스 관리 오류 추가 정보입니다.
Name | 형식 | Description |
---|---|---|
info |
object |
추가 정보입니다. |
type |
string |
추가 정보 유형입니다. |
ErrorDetail
오류 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
additionalInfo |
오류 추가 정보입니다. |
|
code |
string |
오류 코드입니다. |
details |
오류 세부 정보입니다. |
|
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponse
오류 응답
Name | 형식 | Description |
---|---|---|
error |
Error 개체. |
Leg
전체 경로의 섹션입니다.
Name | 형식 | Description |
---|---|---|
endLevel |
integer |
이 다리가 끝나는 바닥입니다. |
lengthInMeters |
number |
이 다리의 다리 길이(미터)입니다. |
mode |
string |
이 다리에 대한 순회의 다리 모드입니다. 레벨 간에 수직으로 이동할 때 기본값(모두 동일한 수준), 엘리베이터 또는 계단일 수 있습니다. |
points |
Point[] |
다리 모양이 포인트입니다. 세로 위치는 다음과 같이 결정됩니다. startLevel과 endLevel이 같을 때 모든 점이 같은 높이에 있고, 그렇지 않으면 배열에 startLevel의 첫 번째 점과 endLevel의 두 번째 점만 포함됩니다. |
startLevel |
integer |
이 다리가 시작되는 바닥입니다. |
timeInSeconds |
integer |
이 다리의 첫 번째 지점과 마지막 지점 사이를 이동하는 다리 이동 시간(초)입니다. |
NoResultExplanation
경로를 찾을 수 없는 경우 배열은 paths
비어 있습니다. 경로를 찾을 수 없는 이유를 확인할 수 있는 경우 이 속성은 이유를 설명합니다.
Name | 형식 | Description |
---|---|---|
NoExplanation |
string |
결과가 반환되거나 경로를 찾을 수 없는 이유를 확인할 수 없을 때 제공되는 기본값입니다. |
Path
원본과 대상 간의 특정 경로에 대한 세부 정보입니다. 그것은 하나 이상의 다리로 구성 될 수있다.
Name | 형식 | Description |
---|---|---|
legs |
Leg[] |
이 경로의 다양한 이동 섹션입니다. |
lengthInMeters |
number |
전체 경로의 경로 길이(미터)입니다. |
timeInSeconds |
integer |
이 경로를 따라갈 때 원본과 대상 사이를 이동하는 경로 총 시간(초)입니다. |
Point
시설 내의 지점입니다.
Name | 형식 | Description |
---|---|---|
latitude |
number |
점 위도 |
longitude |
number |
점 경도 |
WayfindResult
이 Wayfinding Path 요청에서 반환된 개체입니다.
Name | 형식 | Description |
---|---|---|
noResultExplanation |
경로를 찾을 수 없는 경우 배열은 |
|
paths |
Path[] |
경로 결과 정의 배열입니다. 결과가 없으면 빈 배열이 반환됩니다. |