다음을 통해 공유


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의 버전 번호.

facilityId
query True

string

경로를 찾을 경로 집합 내의 시설 식별자입니다.

fromLevel
query True

integer

int32

경로 원본 수준입니다.

fromPoint
query True

string

경로 원본 지점은 {latitude},{longitude}형식입니다.

routesetId
query True

string

쿼리할 경로 집합의 ID입니다.

toLevel
query True

integer

int32

경로 대상 수준입니다.

toPoint
query True

string

경로 대상은 {latitude},{longitude}형식입니다.

avoidFeatures
query

avoidFeatures[]

결과 경로에서 특정 유형의 커넥터를 방지합니다. 여러 값을 지정할 수 있습니다.

minWidth
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

WayfindResult

정상

Other Status Codes

ErrorResponse

예기치 않은 오류가 발생했습니다.

보안

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
avoidFeatures

결과 경로에서 특정 유형의 커넥터를 방지합니다. 여러 값을 지정할 수 있습니다.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

ErrorDetail

오류 세부 정보입니다.

ErrorResponse

오류 응답

Leg

전체 경로의 섹션입니다.

NoResultExplanation

경로를 찾을 수 없는 경우 배열은 paths 비어 있습니다. 경로를 찾을 수 없는 이유를 확인할 수 있는 경우 이 속성은 이유를 설명합니다.

Path

원본과 대상 간의 특정 경로에 대한 세부 정보입니다. 그것은 하나 이상의 다리로 구성 될 수있다.

Point

시설 내의 지점입니다.

WayfindResult

이 Wayfinding Path 요청에서 반환된 개체입니다.

avoidFeatures

결과 경로에서 특정 유형의 커넥터를 방지합니다. 여러 값을 지정할 수 있습니다.

Name 형식 Description
elevators

string

엘리베이터를 사용하지 마십시오.

stairs

string

계단을 피하십시오.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

Name 형식 Description
info

object

추가 정보입니다.

type

string

추가 정보 유형입니다.

ErrorDetail

오류 세부 정보입니다.

Name 형식 Description
additionalInfo

ErrorAdditionalInfo[]

오류 추가 정보입니다.

code

string

오류 코드입니다.

details

ErrorDetail[]

오류 세부 정보입니다.

message

string

오류 메시지입니다.

target

string

오류 대상입니다.

ErrorResponse

오류 응답

Name 형식 Description
error

ErrorDetail

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

NoResultExplanation

경로를 찾을 수 없는 경우 배열은 paths 비어 있습니다. 경로를 찾을 수 없는 이유를 확인할 수 있는 경우 이 속성은 이유를 설명합니다.

paths

Path[]

경로 결과 정의 배열입니다. 결과가 없으면 빈 배열이 반환됩니다.