Route - Post Snap To Roads
도로 맞춤 API는 경도 및 위도 좌표로 표현되는 GPS 지점 데이터를 허용하고 지도의 기존 도로와 일치하는 지점을 생성합니다. "도로에 맞추기"라고 하는 이 프로세스는 도로 네트워크 뒤의 경로를 밀접하게 추적하는 일련의 개체를 생성합니다. 결과 데이터에는 이동 세그먼트와 관련된 도로 이름 및 해당 속도 제한이 포함됩니다.
또한 도로로 맞춤 API는 GPS 지점을 구체화하여 도로의 기하 도형을 준수하는 더 부드러운 경로를 만드는 보간 기능을 제공합니다. 이 기능은 특히 매핑 애플리케이션에서 자산 추적 및 데이터 시각화 향상에 유용합니다.
Important
GPS 포인트는 서로 6km 이내에 있어야 합니다.
국가/지역의 라우팅 가용성에 대한 자세한 내용은 Azure Maps 라우팅 적용 범위참조하세요.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
URI 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Azure Maps API의 버전 번호입니다. |
요청 헤더
Media Types: "application/geo+json"
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Microsoft Entra ID 보안 모델과 함께 사용할 계정을 나타냅니다. Azure Maps 계정에 대한 이 고유 ID는 Azure Maps 관리 평면 계정 API에서 가져올 수 있습니다. Azure Maps에서 Microsoft Entra ID 보안을 사용하는 방법에 대한 자세한 내용은 Azure Maps에서 인증 관리를 참조하세요. |
|
| Accept-Language |
string |
라우팅 결과를 반환해야 하는 언어입니다. 자세한 내용은 Azure Maps |
요청 본문
Media Types: "application/geo+json"
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| features | True |
도로 네트워크에 맞출 지점 집합입니다. 최소 2점에서 최대 5000점을 가질 수 있으며 연속된 두 지점은 서로 6km 이내, 총 도로 거리는 최대 100km여야 합니다. GeoJSON 형식에 대한 자세한 내용은 RFC 7946 을 참조하십시오.
|
|
| type | True |
|
|
| includeSpeedLimit |
boolean |
응답에 스냅된 지점에 대한 속도 제한 정보를 포함할지 여부를 지정합니다. 단위는 시간당 킬로미터입니다. |
|
| interpolate |
boolean |
도로 기하 도형을 원활하게 따르는 전체 경로 경로를 완료하기 위해 스냅된 점 사이에 추가 점을 반환할지 여부를 지정합니다. 보간된 지점은 보간된 지점에서 스냅된 점을 식별하는 데 사용할 수 있는 응답에 |
|
| travelMode |
점을 맞추기 위한 라우팅 프로필을 지정합니다. 지정되지 않은 경우 기본 모드는 "운전"으로, 주행 경로에 대해 스냅된 지점을 최적화합니다. |
응답
| Name | 형식 | Description |
|---|---|---|
| 200 OK |
OK Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
예기치 않은 오류가 발생했습니다. Media Types: "application/geo+json", "application/json" 헤더 x-ms-error-code: string |
보안
AADToken
다음은 Microsoft Entra OAuth 2.0 흐름에
시나리오를 구현하려면
Note
- 이 보안 정의
x-ms-client-id헤더를 사용하여 애플리케이션이 액세스를 요청하는 Azure Maps 리소스를 나타내야 합니다. 이는 Maps 관리 API가져올 수 있습니다. -
Authorization URLAzure 퍼블릭 클라우드 인스턴스와 관련이 있습니다. 소버린 클라우드에는 고유한 권한 부여 URL 및 Microsoft Entra ID 구성이 있습니다. - Azure 역할 기반 액세스 제어는 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해
Azure 관리 평면에서 구성됩니다. - Azure Maps Web SDK 사용하면 여러 사용 사례에 대한 애플리케이션의 구성 기반 설정을 사용할 수 있습니다.
- 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, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해
이 키를 사용하면 모든 애플리케이션이 모든 REST API에 액세스할 수 있는 권한이 부여됩니다. 즉, 이러한 키는 현재 발급된 계정의 마스터 키로 처리될 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 이 키를 안전하게 저장할 수 있는 Azure Maps REST API의 서버-서버 액세스를 사용하는 것이 좋습니다.
형식:
apiKey
In(다음 안에):
header
SAS Token
공유 액세스 서명 토큰은 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해
이 토큰을 사용하면 모든 애플리케이션이 Azure 역할 기반 액세스 제어를 사용하여 액세스하고 특정 토큰에 사용할 만료, 속도 및 지역에 대한 세분화된 제어 권한을 부여받습니다. 즉, SAS 토큰을 사용하여 애플리케이션이 공유 키보다 더 보안이 유지되는 방식으로 액세스를 제어할 수 있습니다.
공개적으로 노출된 애플리케이션의 경우 렌더링 남용을 제한하고 정기적으로 SAS 토큰을 갱신하도록 맵 계정 리소스 허용된 원본의 특정 목록을 구성하는 것이 좋습니다.
형식:
apiKey
In(다음 안에):
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
}
}
]
}
정의
| Name | Description |
|---|---|
|
Features |
|
|
Feature |
|
|
Geo |
유효한 |
|
Input |
도로 지점에 대한 입력 스냅을 지정합니다. 기능 개체 및 추가 속성을 |
|
Maps |
오류 세부 정보입니다. |
|
Maps |
실패한 작업에 대한 오류 세부 정보를 반환하는 Azure Maps API에 대한 일반적인 오류 응답입니다. |
|
Maps |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
Point |
범위 다각형을 계산해야 하는 유효한
|
|
Snap |
Geometry 개체와 경로의 추가 속성을 포함하는 GeoJSON 기능 개체입니다. |
|
Snap |
도로 속성에 스냅합니다. |
|
Snap |
이 개체는 요청 본문입니다. |
|
Snap |
이 개체는 성공적인 호출에서 반환됩니다. |
|
Snap |
점을 맞추기 위한 라우팅 프로필을 지정합니다. 지정되지 않은 경우 기본 모드는 "운전"으로, 주행 경로에 대해 스냅된 지점을 최적화합니다. |
FeaturesItemTypeEnum
GeoJSON 형식을 지정합니다. 유일하게 지원되는 개체 유형은 Feature입니다. 자세한 내용은 RFC 7946을 참조하세요.
| 값 | Description |
|---|---|
| Feature |
|
FeatureTypeEnum
GeoJSON 형식을 지정합니다. 지원되는 유일한 개체 형식은 FeatureCollection. 자세한 내용은 RFC 7946을 참조하세요.
| 값 | Description |
|---|---|
| FeatureCollection |
|
GeoJsonPoint
유효한 GeoJSON Point 기하 도형 형식입니다. 자세한 내용은 RFC 7946 참조하세요.
| Name | 형식 | Description |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
|
InputSnapToRoadsFeaturesItem
도로 지점에 대한 입력 스냅을 지정합니다. 기능 개체 및 추가 속성을 GeoJSON. 자세한 내용은 RFC 7946 을 참조하십시오.
| Name | 형식 | Description |
|---|---|---|
| geometry | GeoJsonPoint: |
유효한 |
| properties |
object |
속성 개체는 유효한 GeoJSON에 필요하지만 메타데이터가 도로로 스냅하는 데 사용되지 않으므로 비어 있을 수 있습니다. |
| type |
|
MapsErrorDetail
오류 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| code |
string |
서버에서 정의한 오류 코드 집합 중 하나입니다. |
| details |
이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다. |
|
| innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
| message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
| target |
string |
오류의 대상입니다. |
MapsErrorResponse
실패한 작업에 대한 오류 세부 정보를 반환하는 Azure Maps API에 대한 일반적인 오류 응답입니다.
| Name | 형식 | Description |
|---|---|---|
| error |
오류 세부 정보입니다. |
MapsInnerError
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다.
| Name | 형식 | Description |
|---|---|---|
| code |
string |
오류 코드입니다. |
| innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
PointGeometry
범위 다각형을 계산해야 하는 유효한 GeoJSON Geometry 개체로 전달된 원점입니다. 자세한 내용은 RFC 7946 참조하세요.
Note: API는 요청된 원본 지점을 가장 가까운 도로 네트워크에 스냅하고 범위 계산에 사용합니다. 응답의 center 지점으로 반환됩니다.
| Name | 형식 | Description |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
|
SnapToRoadFeaturesItem
Geometry 개체와 경로의 추가 속성을 포함하는 GeoJSON 기능 개체입니다.
| Name | 형식 | Description |
|---|---|---|
| bbox |
number[] (double) |
경계 상자 개체로 정의된 지구의 사각형 영역입니다. 사각형의 측면은 위도 및 경도 값으로 정의됩니다. 자세한 내용은 RFC 7946, 섹션 5 예: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry | GeoJsonPoint: |
유효한 |
| properties |
도로 속성에 스냅합니다. |
|
| type |
|
SnapToRoadsFeatureProperties
도로 속성에 스냅합니다.
| Name | 형식 | Description |
|---|---|---|
| inputIndex |
integer (int64) |
각 맞춤 지점의 원래 점 목록에서 해당 인덱스 식별 스냅된 점만 인덱스를 반환하고 보간된 점과 구분하는 데 사용할 수 있습니다. |
| isInterpolated |
boolean |
이것이 보간된 지점인지 여부를 식별합니다. |
| name |
string |
지점이 스냅되는 도로의 이름입니다. |
| speedLimitInKilometersPerHour |
number (double) |
속도 제한(시간당 킬로미터)입니다. |
SnapToRoadsRequest
이 개체는 요청 본문입니다.
| Name | 형식 | Default value | Description |
|---|---|---|---|
| features |
도로 네트워크에 맞출 지점 집합입니다. 최소 2점에서 최대 5000점을 가질 수 있으며 연속된 두 지점은 서로 6km 이내, 총 도로 거리는 최대 100km여야 합니다. GeoJSON 형식에 대한 자세한 내용은 RFC 7946 을 참조하십시오.
|
||
| includeSpeedLimit |
boolean |
False |
응답에 스냅된 지점에 대한 속도 제한 정보를 포함할지 여부를 지정합니다. 단위는 시간당 킬로미터입니다. |
| interpolate |
boolean |
False |
도로 기하 도형을 원활하게 따르는 전체 경로 경로를 완료하기 위해 스냅된 점 사이에 추가 점을 반환할지 여부를 지정합니다. 보간된 지점은 보간된 지점에서 스냅된 점을 식별하는 데 사용할 수 있는 응답에 |
| travelMode | driving |
점을 맞추기 위한 라우팅 프로필을 지정합니다. 지정되지 않은 경우 기본 모드는 "운전"으로, 주행 경로에 대해 스냅된 지점을 최적화합니다. |
|
| type |
|
SnapToRoadsResponse
이 개체는 성공적인 호출에서 반환됩니다.
| Name | 형식 | Description |
|---|---|---|
| features |
geometry 개체 및 추가 속성을 포함하는 기능 개체를 |
|
| type |
|
SnapToRoadsTravelModeEnum
점을 맞추기 위한 라우팅 프로필을 지정합니다. 지정되지 않은 경우 기본 모드는 "운전"으로, 주행 경로에 대해 스냅된 지점을 최적화합니다.
| 값 | Description |
|---|---|
| driving |
포인트는 자동차에 적합한 도로에 스냅됩니다. |
| truck |
트럭에 적합한 도로에 포인트가 스냅됩니다. |