Route - Get Route Matrix
출발지 및 대상 목록에서 가능한 모든 쌍의 이동 시간과 거리를 보여 주는 경로 행렬을 가져오는 데 사용합니다.
Get Route Matrix
API는 원본 및 대상 목록에서 가능한 모든 쌍의 이동 시간과 거리를 계산하는 HTTP GET
요청입니다. 자세한 경로 지침을 제공하는 경로 방향 가져오기 API와 달리, 이 API는 각 출발지에서 모든 목적지로 라우팅하는 비용(이동 시간 및 거리)을 제공하여 효율성에 중점을 둡니다. 자세한 내용은 Azure Maps Route 서비스대한
지정된 모든 원본에 대해 서비스는 해당 원본에서 지정된 모든 대상으로 라우팅하는 비용을 계산합니다. 원본 집합 및 대상 집합은 테이블의 열 및 행 머리글로 간주할 수 있으며 테이블의 각 셀에는 원본에서 해당 셀의 대상으로 라우팅하는 비용이 포함됩니다. 예를 들어 음식 배달 회사에는 20명의 운전자가 있으며 식당에서 배달을 받을 가장 가까운 드라이버를 찾아야 한다고 가정해 보겠습니다. 이 사용 사례를 해결하기 위해 행렬 경로 API를 호출할 수 있습니다.
각 경로에 대해 이동 시간 및 거리가 반환됩니다. 계산 비용을 사용하여 경로 방향 API를 사용하여 계산할 자세한 경로를 결정할 수 있습니다.
비동기 요청에 대한 행렬의 최대 크기는 700 동기화 요청의 경우 100(원본 수에 대상 수를 곱한 값)입니다.
동기 경로 매트릭스 요청 제출
시나리오에 동기 요청이 필요하고 행렬의 최대 크기가 100보다 작거나 같은 경우 동기 요청을 수행할 수 있습니다. 이 API에 대한 행렬의 최대 크기는 100(원본 수에 대상 수를 곱한 값)입니다. 이러한 제약 조건을 염두에 두고 가능한 행렬 차원의 예는 10x10, 6x8, 9x8입니다(정사각형일 필요는 없음).
GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}
비동기 경로 매트릭스 요청 제출
비동기 API는 비교적 복잡한 라우팅 요청의 큰 볼륨을 처리하는 데 적합합니다. 비동기 요청을 사용하여 요청을 수행하면 기본적으로 서비스는 응답 헤더의 위치 필드에 있는 리디렉션 URL을 따라 202 응답 코드를 반환합니다. 이 URL은 응답 데이터 또는 오류 정보를 사용할 수 있을 때까지 주기적으로 확인해야 합니다. 요청의 waitForResults
매개 변수가 true로 설정된 경우 요청이 120초 미만으로 완료되면 사용자에게 200 응답이 표시됩니다.
이 API에 대한 행렬의 최대 크기는 700(원본 수에 대상 수를 곱한 값)입니다. 이러한 제약 조건을 염두에 두고 가능한 행렬 차원의 예는 50x10, 10x10, 28x25입니다. 10x70(정사각형일 필요는 없음).
비동기 응답은 24시간 동안 저장됩니다. 리디렉션 URL은 만료 기간 이후에 사용되는 경우 404 응답을 반환합니다.
GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}
다음은 일반적인 비동기 작업 시퀀스입니다.
클라이언트가 Azure Maps에 Route Matrix GET 요청을 보냅니다.
서버는 다음 중 하나로 응답합니다.
HTTP
202 Accepted
- 경로 매트릭스 요청이 수락되었습니다.HTTP
Error
- Route Matrix 요청을 처리하는 동안 오류가 발생했습니다. 400 잘못된 요청 또는 기타 오류 상태 코드일 수 있습니다.행렬 경로 요청이 성공적으로 수락된 경우 응답의 위치 헤더에는 요청 결과를 다운로드할 URL이 포함됩니다. 이 상태 URI는 다음과 같습니다.
GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
- 클라이언트가 3단계에서 가져온 다운로드 URL에 대해 GET 요청을 실행하여 결과를 다운로드합니다.
동기화 결과 다운로드
경로 매트릭스 동기화 API에 대한 GET 요청을 수행하면 서비스는 성공적인 요청 및 응답 배열에 대해 200개의 응답 코드를 반환합니다. 응답 본문에는 데이터가 포함되며 나중에 결과를 검색할 가능성이 없습니다.
비동기 결과 다운로드
요청이 202 Accepted
응답을 발급하면 비동기 파이프라인을 사용하여 요청이 처리됩니다. 응답의 위치 헤더에서 비동기 요청의 진행률을 확인하는 URL이 제공됩니다. 이 상태 URI는 다음과 같습니다.
GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
위치 헤더에서 제공하는 URL은 GET
요청이 실행될 때 다음 응답을 반환합니다.
HTTP
202 Accepted
- 행렬 요청이 수락되었지만 여전히 처리 중입니다. 잠시 후 다시 시도하세요.
HTTP
200 OK
- 행렬 요청이 성공적으로 처리되었습니다. 응답 본문에는 모든 결과가 포함됩니다.
GET https://atlas.microsoft.com/route/matrix/{format}?api-version=1.0
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
format
|
path | True |
string |
행렬 경로 요청이 성공적으로 수락된 후 받은 행렬 ID입니다. |
api-version
|
query | True |
string |
Azure Maps API의 버전 번호입니다. |
요청 헤더
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 |
행렬 요청이 성공적으로 처리되었습니다. 응답 본문에는 모든 결과가 포함됩니다. |
|
202 Accepted |
비동기 요청에 대해서만 지원됩니다. 수락된 요청: 처리를 위해 요청이 수락되었습니다. 위치 헤더의 URL을 사용하여 결과를 다시 시도하거나 액세스하세요. 헤더 Location: string |
|
Other Status Codes |
예기치 않은 오류가 발생했습니다. |
보안
AADToken
다음은 Microsoft Entra OAuth 2.0 흐름에
시나리오를 구현하려면
노트
- 이 보안 정의
x-ms-client-id
헤더를 사용하여 애플리케이션이 액세스를 요청하는 Azure Maps 리소스를 나타내야 합니다. 이는 Maps 관리 API가져올 수 있습니다.
Authorization URL
Azure 퍼블릭 클라우드 인스턴스와 관련이 있습니다. 소버린 클라우드에는 고유한 권한 부여 URL 및 Microsoft Entra ID 구성이 있습니다.
* Azure 역할 기반 액세스 제어는 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해
- Microsoft ID 플랫폼에 대한 자세한 내용은 Microsoft ID 플랫폼 개요참조하세요.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
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에 액세스할 수 있습니다. 즉, 이 키를 발급된 계정에서 마스터 키로 사용할 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 키를 안전하게 저장할 수 있도록 기밀 클라이언트 애플리케이션 접근 방식을 사용하여 Azure Maps REST API에 액세스하는 것이 좋습니다.
형식:
apiKey
In(다음 안에):
query
SAS Token
공유 액세스 서명 토큰은 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해
이 토큰을 사용하면 모든 애플리케이션이 Azure 역할 기반 액세스 제어를 사용하여 액세스하고 특정 토큰에 사용할 만료, 속도 및 지역에 대한 세분화된 제어 권한을 부여받습니다. 즉, SAS 토큰을 사용하여 애플리케이션이 공유 키보다 더 보안이 유지되는 방식으로 액세스를 제어할 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 렌더링 남용을 제한하고 정기적으로 SAS 토큰을 갱신하도록 맵 계정 리소스 허용된 원본의 특정 목록을 구성하는 것이 좋습니다.
형식:
apiKey
In(다음 안에):
header
예제
Successfully retrieve the status for a route matrix request
샘플 요청
GET https://atlas.microsoft.com/route/matrix/11111111-2222-3333-4444-555555555555?api-version=1.0
샘플 응답
{
"formatVersion": "0.0.1",
"matrix": [
[
{
"statusCode": 200,
"response": {
"routeSummary": {
"lengthInMeters": 495,
"travelTimeInSeconds": 134,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-27T22:55:29+00:00",
"arrivalTime": "2018-07-27T22:57:43+00:00"
}
}
},
{
"statusCode": 200,
"response": {
"routeSummary": {
"lengthInMeters": 647651,
"travelTimeInSeconds": 26835,
"trafficDelayInSeconds": 489,
"departureTime": "2018-07-27T22:55:29+00:00",
"arrivalTime": "2018-07-28T06:22:44+00:00"
}
}
}
],
[
{
"statusCode": 200,
"response": {
"routeSummary": {
"lengthInMeters": 338,
"travelTimeInSeconds": 104,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-27T22:55:29+00:00",
"arrivalTime": "2018-07-27T22:57:13+00:00"
}
}
},
{
"statusCode": 200,
"response": {
"routeSummary": {
"lengthInMeters": 647494,
"travelTimeInSeconds": 26763,
"trafficDelayInSeconds": 469,
"departureTime": "2018-07-27T22:55:29+00:00",
"arrivalTime": "2018-07-28T06:21:32+00:00"
}
}
}
]
],
"summary": {
"successfulRoutes": 4,
"totalRoutes": 4
}
}
정의
Name | Description |
---|---|
Error |
리소스 관리 오류 추가 정보입니다. |
Error |
오류 세부 정보입니다. |
Error |
오류 응답 |
Route |
경로 섹션에 대한 요약 개체입니다. |
Route |
행렬 결과 개체 |
Route |
이 개체는 성공적인 Route Matrix 호출에서 반환됩니다. 예를 들어 2개의 원본과 3개의 대상이 제공되면 각각 3개의 요소가 있는 2개의 배열이 있습니다. 각 요소의 콘텐츠는 쿼리에 제공된 옵션에 따라 달라집니다. |
Route |
입력 행렬에 있는 현재 셀의 응답 개체입니다. |
Route |
요약 개체 |
ErrorAdditionalInfo
리소스 관리 오류 추가 정보입니다.
Name | 형식 | Description |
---|---|---|
info |
object |
추가 정보입니다. |
type |
string |
추가 정보 유형입니다. |
ErrorDetail
오류 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
additionalInfo |
오류 추가 정보입니다. |
|
code |
string |
오류 코드입니다. |
details |
오류 세부 정보입니다. |
|
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponse
오류 응답
Name | 형식 | Description |
---|---|---|
error |
오류 개체입니다. |
RouteLegSummary
경로 섹션에 대한 요약 개체입니다.
Name | 형식 | Description |
---|---|---|
arrivalTime |
string |
경로 또는 다리의 예상 도착 시간입니다. 시간은 UTC입니다. |
batteryConsumptionInkWh |
number |
전기 소비 모델을 사용하는 킬로와트시(kWh)의 예상 전기 에너지 소비량입니다. vehicleEngineType이 전기로 설정되고 constantSpeedConsumptionInkWhPerHundredkm가 지정된 경우 포함됩니다. batteryConsumptionInkWh의 값은 회복된 전기 에너지를 포함하므로 음수일 수 있습니다(에너지 확보를 나타낸다). maxChargeInkWh와 currentChargeInkWh를 모두 지정하면 배터리 충전 수준이 maxChargeInkWh를 초과하지 않도록 회수가 제한됩니다. maxChargeInkWh와 currentChargeInkWh를 모두 지정하지 않으면 소비 계산에서 제한되지 않은 회복이 가정됩니다. |
departureTime |
string |
경로 또는 다리의 예상 출발 시간입니다. 시간은 UTC입니다. |
fuelConsumptionInLiters |
number |
연소 소비 모델을 사용하는 리터의 예상 연료 소비량입니다. vehicleEngineType이 연소 설정되고 constantSpeedConsumptionInLitersPerHundredkm가 지정된 경우 포함됩니다. 값은 음수가 아닌 값입니다. |
historicTrafficTravelTimeInSeconds |
integer |
시간 종속 기록 트래픽 데이터를 사용하여 계산된 예상 이동 시간입니다. computeTravelTimeFor = 모두 쿼리에 사용되는 경우에만 포함됩니다. |
lengthInMeters |
integer |
Length In Meters 속성 |
liveTrafficIncidentsTravelTimeInSeconds |
integer |
실시간 속도 데이터를 사용하여 계산된 예상 이동 시간입니다. computeTravelTimeFor = 모두 쿼리에 사용되는 경우에만 포함됩니다. |
noTrafficTravelTimeInSeconds |
integer |
교통 상황(예: 혼잡)으로 인해 경로에 지연이 없는 것처럼 계산된 예상 이동 시간입니다. computeTravelTimeFor = 모두 쿼리에 사용되는 경우에만 포함됩니다. |
trafficDelayInSeconds |
integer |
트래픽 정보에 따른 실시간 인시던트로 인한 예상 지연 시간(초)입니다. 향후 출발 시간으로 계획된 경로의 경우 지연은 항상 0입니다. 다양한 유형의 트래픽 정보를 사용하여 추가 이동 시간을 반환하려면 computeTravelTimeFor=all 매개 변수를 추가해야 합니다. |
travelTimeInSeconds |
integer |
실시간 트래픽으로 인한 지연을 포함하는 예상 이동 시간(초) 속성입니다. traffic=false travelTimeInSeconds에도 트래픽으로 인한 지연이 계속 포함됩니다. DepartAt가 향후인 경우 이동 시간은 시간 종속 기록 트래픽 데이터를 사용하여 계산됩니다. |
RouteMatrix
행렬 결과 개체
Name | 형식 | Description |
---|---|---|
response |
입력 행렬에 있는 현재 셀의 응답 개체입니다. |
|
statusCode |
integer |
입력 행렬의 현재 셀에 대한 StatusCode 속성입니다. |
RouteMatrixResult
이 개체는 성공적인 Route Matrix 호출에서 반환됩니다. 예를 들어 2개의 원본과 3개의 대상이 제공되면 각각 3개의 요소가 있는 2개의 배열이 있습니다. 각 요소의 콘텐츠는 쿼리에 제공된 옵션에 따라 달라집니다.
Name | 형식 | Description |
---|---|---|
formatVersion |
string |
Format Version 속성 |
matrix |
경로 요약의 2차원 배열로 결과를 가져옵니다. |
|
summary |
요약 개체 |
RouteMatrixResultResponse
입력 행렬에 있는 현재 셀의 응답 개체입니다.
Name | 형식 | Description |
---|---|---|
routeSummary |
경로 섹션에 대한 요약 개체입니다. |
RouteMatrixSummary
요약 개체
Name | 형식 | Description |
---|---|---|
successfulRoutes |
integer |
응답에서 성공한 경로 수입니다. |
totalRoutes |
integer |
요청된 총 경로 수입니다. 입력 행렬의 셀 수입니다. |