Share via


Spatial - Post Geofence

을 사용하여 지오펜스에 대한 좌표의 근접성을 가져옵니다.

Post Geofence API는 제공된 지오펜스 또는 펜스 집합에 대한 좌표의 근접성을 검색하는 HTTP POST 요청입니다. 요청을 사용하면 POST 펜스 데이터를 미리 업로드할 필요가 없습니다. 대신 쿼리 매개 변수에서 추적하는 개체의 위치와 요청 후 본문의 펜스 또는 펜스 데이터 집합을 제공합니다. 지오펜스 데이터 형식에 대한 자세한 내용은 GeoJSON 데이터 지오펜싱을 참조하세요. 응답에는 지오펜스의 바깥 가장자리로부터의 거리에 대한 정보가 포함됩니다. 음수 값은 좌표가 펜스 내부에 있음을 의미하고 양수 값은 펜스 외부에 있음을 의미합니다.

이 API는 자산 추적, 함대 관리 또는 개체 이동에 대한 경고 설정과 같은 다양한 시나리오에 사용할 수 있습니다.

API는 Event Grid와의 통합을 지원합니다. isAsync 매개 변수는 Event Grid와의 통합을 사용하도록 설정하는 데 사용됩니다(기본적으로 사용하지 않도록 설정됨).

POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}
POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}&z={z}&userTime={userTime}&searchBuffer={searchBuffer}&isAsync={isAsync}&mode={mode}

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
format
path True

JsonFormat

원하는 응답 형식입니다. json 형식만 지원됩니다.

geography
path True

string

Azure Maps 계정의 위치입니다. 유효한 값은 당사(미국 동부, 미국 중서부, 미국 서부 2) 및 eu(북유럽, 서유럽)입니다. 이 매개 변수는 요청에 가 udid 제공된 경우에 필요합니다. 예를 들어 Azure Maps 계정이 미국 동부에 있는 경우 지리에 대한 요청만 수락됩니다.

api-version
query True

string

Azure Maps API의 버전 번호.

deviceId
query True

string

디바이스의 ID

lat
query True

number

전달되는 위치의 위도입니다. 예: 48.36.

lon
query True

number

전달되는 위치의 경도입니다. 예: -124.63.

isAsync
query

boolean

true이면 요청은 비동기 이벤트 메커니즘을 사용합니다. false이면 요청이 동기화되고 이벤트를 트리거하지 않습니다. 기본값은 false입니다.

mode
query

GeofenceMode

지오펜싱 비동기 이벤트 메커니즘의 모드입니다.

searchBuffer
query

number

결과를 계산할 때 제공된 좌표에 대해 펜스 테두리 내부 및 외부에서 검색하는 정도를 정의하는 지오펜스 주위의 버퍼 반경(미터)입니다. 최소값은 0이고 최댓값은 500입니다. 기본값은 50입니다.

userTime
query

string

date-time

사용자 요청 시간입니다. 요청에 표시되지 않으면 기본값은 DateTime.UtcNow입니다.

z
query

number

전달되는 위치의 미터 단위의 해수면입니다. 이 매개 변수가 표시되면 2D 압출 지오펜싱이 적용됩니다. 예: 200.

요청 헤더

Name 필수 형식 Description
x-ms-client-id

string

Microsoft Entra ID 보안 모델과 함께 사용할 계정을 지정합니다. Azure Maps 계정의 고유 ID를 나타내며 Azure Maps 관리 평면 계정 API에서 검색할 수 있습니다. Azure Maps Microsoft Entra ID 보안을 사용하려면 다음 문서를 참조하세요.

요청 본문

Name 필수 형식 Description
features True

GeoJsonFeature[]

유효한 GeoJSON Feature 개체 목록을 포함합니다.

type True string:

FeatureCollection

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection의 9가지 유효한 GeoJSON 개체 유형 중 하나여야 합니다.

응답

Name 형식 Description
200 OK

Geofence

확인 X-Correlation-id 헤더 값은 비동기 호출의 응답 및 Event Grid 이벤트 데이터에 있습니다. 비동기 호출의 응답과 해당 Event Grid 이벤트의 상관 관계를 지정하는 데 도움이 됩니다.

Headers

X-Correlation-id: string

Other Status Codes

ErrorResponse

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

보안

AADToken

다음은 Microsoft Entra OAuth 2.0 흐름입니다. Azure 역할 기반 액세스 제어와 쌍을 이루는 경우 Azure Maps REST API에 대한 액세스를 제어하는 데 사용할 수 있습니다. Azure 역할 기반 액세스 제어는 하나 이상의 Azure Maps 리소스 계정 또는 하위 리소스에 대한 액세스를 지정하는 데 사용됩니다. 모든 사용자, 그룹 또는 서비스 주체는 기본 제공 역할 또는 REST API를 Azure Maps 하나 이상의 권한으로 구성된 사용자 지정 역할을 통해 액세스 권한을 부여할 수 있습니다.

시나리오를 구현하려면 인증 개념을 보는 것이 좋습니다. 요약하자면, 이 보안 정의는 특정 API 및 범위에 대한 액세스 제어가 가능한 개체를 통해 애플리케이션을 모델링하는 솔루션을 제공합니다.

참고

  • 이 보안 정의 애플리케이션이 x-ms-client-id 액세스를 요청하는 Azure Maps 리소스를 나타내기 위해 헤더를 사용해야 합니다. 이는 지도 관리 API에서 가져올 수 있습니다.

Authorization URL 은 Azure 퍼블릭 클라우드 instance 관련됩니다. 소버린 클라우드에는 고유한 권한 부여 URL 및 Microsoft Entra ID 구성이 있습니다. * Azure 역할 기반 액세스 제어는 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면에서 구성됩니다. * Azure Maps Web SDK를 사용하면 여러 사용 사례에 대한 애플리케이션의 구성 기반 설정을 사용할 수 있습니다.

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, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해 Azure Maps 리소스를 만들 때 프로비전되는 공유 키입니다.

이 키를 사용하면 모든 애플리케이션이 모든 REST API에 액세스할 수 있는 권한이 부여됩니다. 즉, 이러한 키는 현재 발급된 계정에 대한 master 키로 처리될 수 있습니다.

공개적으로 노출된 애플리케이션의 경우 이 키를 안전하게 저장할 수 있는 Azure Maps REST API의 서버-서버 액세스를 사용하는 것이 좋습니다.

Type: apiKey
In: header

SAS Token

공유 액세스 서명 토큰은 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해 Azure Maps 리소스의 SAS 나열 작업에서 만들어집니다.

이 토큰을 사용하면 모든 애플리케이션이 특정 토큰에 사용할 만료, 속도 및 지역에 대한 Azure 역할 기반 액세스 제어 및 세분화된 제어를 사용하여 액세스할 수 있는 권한이 부여됩니다. 즉, SAS 토큰을 사용하여 애플리케이션이 공유 키보다 더 보안이 유지되는 방식으로 액세스를 제어할 수 있습니다.

공개적으로 노출된 애플리케이션의 경우 렌더링 남용을 제한하고 정기적으로 SAS 토큰을 갱신하도록 맵 계정 리소스 에서 허용되는 특정 원본 목록을 구성하는 것이 좋습니다.

Type: apiKey
In: header

예제

PostGeofence

Sample Request

POST https://us.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId=unique_device_name_under_account&lat=48.36&lon=-124.63&userTime={userTime}&searchBuffer=50&isAsync=True&mode=EnterAndExit

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -122.13241226662022,
              47.61701140091722
            ],
            [
              -122.12810106940353,
              47.6169969269402
            ],
            [
              -122.12824948956276,
              47.61907683751349
            ],
            [
              -122.12833297981392,
              47.621929787055336
            ],
            [
              -122.12971398040168,
              47.62184100705295
            ],
            [
              -122.1318413862121,
              47.62195364373008
            ],
            [
              -122.13231034769727,
              47.61716332618121
            ],
            [
              -122.13241226662022,
              47.61701140091722
            ]
          ]
        ]
      },
      "properties": {
        "geometryId": "2",
        "name": "Crossroad Mall"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -122.1534220563239,
              47.60981818546625
            ],
            [
              -122.153451623509,
              47.60628733146004
            ],
            [
              -122.14971782206638,
              47.606250040787046
            ],
            [
              -122.14817354810637,
              47.606391046012305
            ],
            [
              -122.1482735128807,
              47.60983316796356
            ],
            [
              -122.15225500989803,
              47.60982613678752
            ],
            [
              -122.1534220563239,
              47.60981818546625
            ]
          ]
        ]
      },
      "properties": {
        "geometryId": "1",
        "name": "Sammamish High school"
      }
    }
  ]
}

Sample Response

{
  "geometries": [
    {
      "deviceId": "unique_device_name_under_account",
      "geometryId": "2",
      "distance": -999,
      "nearestLat": 47.621954,
      "nearestLon": -122.131841
    },
    {
      "deviceId": "unique_device_name_under_account",
      "geometryId": "1",
      "distance": 999,
      "nearestLat": 47.609833,
      "nearestLon": -122.148274
    }
  ],
  "expiredGeofenceGeometryId": [],
  "invalidPeriodGeofenceGeometryId": [],
  "isEventPublished": true
}

정의

Name Description
ErrorAdditionalInfo

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

ErrorDetail

오류 세부 정보입니다.

ErrorResponse

오류 응답

Geofence

이 개체는 지오펜스 근접 호출에서 반환됩니다.

GeofenceGeometry

지오펜싱 기하 도형입니다.

GeofenceMode

지오펜싱 비동기 이벤트 메커니즘의 모드입니다.

GeoJsonFeature

유효한 개체 형식입니다 GeoJSON Feature . 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonFeatureCollection

유효한 개체 형식입니다 GeoJSON FeatureCollection . 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonGeometry

유효한 GeoJSON 기하 도형 개체입니다. 형식은 Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon 및 GeometryCollection의 7가지 유효한 GeoJSON 기하 도형 형식 중 하나여야 합니다. 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonGeometryCollection

유효한 개체 형식입니다 GeoJSON GeometryCollection . 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonLineString

유효한 GeoJSON LineString 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonMultiLineString

유효한 GeoJSON MultiLineString 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonMultiPoint

유효한 GeoJSON MultiPoint 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonMultiPolygon

유효한 개체 형식입니다 GeoJSON MultiPolygon . 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonPoint

유효한 GeoJSON Point 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

GeoJsonPolygon

유효한 GeoJSON Polygon 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

JsonFormat

원하는 응답 형식입니다. json 형식만 지원됩니다.

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 개체.

Geofence

이 개체는 지오펜스 근접 호출에서 반환됩니다.

Name 형식 Description
expiredGeofenceGeometryId

string[]

요청의 사용자 시간을 기준으로 만료된 지오펜스의 기하 도형 ID를 Lists.

geometries

GeofenceGeometry[]

좌표 위치를 포함하거나 위치 주위의 searchBuffer와 겹치는 펜스 기하 도형을 나열합니다.

invalidPeriodGeofenceGeometryId

string[]

요청의 사용자 시간을 기준으로 잘못된 기간에 있는 지오펜스의 기하 도형 ID를 Lists.

isEventPublished

boolean

하나 이상의 이벤트가 Azure Maps 이벤트 구독자에 게시된 경우에는 true이고, Azure Maps 이벤트 구독자에 이벤트가 게시되지 않은 경우에는 false입니다. 이는 'isAsync' 쿼리 매개 변수가 true로 설정된 경우에만 응답으로 표시됩니다.

GeofenceGeometry

지오펜싱 기하 도형입니다.

Name 형식 Description
deviceId

string

디바이스의 ID입니다.

distance

number

좌표에서 지오펜스의 가장 가까운 테두리까지의 거리(특수 값 -999/999가 사용되는 경우를 제외하고 미터). 양수는 좌표가 지오펜스 외부에 있음을 의미합니다. 좌표가 지오펜스 외부에 있지만 가장 가까운 지오펜스 경계에서 searchBuffer 값보다 멀리 떨어진 경우의 값은 999입니다. 음수는 좌표가 지오펜스 내부에 있음을 의미합니다. 좌표가 다각형 내부에 있지만 가장 가까운 지오펜싱 경계에서 searchBuffer 값보다 멀리 떨어진 경우의 값은 -999입니다. 값 999는 좌표가 지오펜스 외부에 있다는 신뢰도가 높음을 의미합니다. 값 -999는 좌표가 지오펜스 내부에 있다는 신뢰도가 높음을 의미합니다.

geometryId

string

고유 ID는 기하 도형을 식별합니다.

nearestLat

number

기하 도형에서 가장 가까운 지점의 위도입니다.

nearestLon

number

기하 도형에서 가장 가까운 지점의 경도입니다.

nearestZ

number

2D 압출 기하 도형에서 가장 가까운 지점 미터의 해수면입니다. 요청에서 'zInMeter'에 대한 값이 제공되는 경우에만 응답으로 표시됩니다.

udId

string

유효한 GeoJSON FeatureCollection 개체를 업로드하기 위해 데이터 레지스트리 를 만들 때 사용되는 고유 ID입니다. 자세한 내용은 RFC 7946 을 참조하세요. 모든 기능의 속성에는 기하 도형을 식별하는 데 사용되며 대/소문자를 구분하는 가 포함되어 geometryId야 합니다. 데이터 레지스트리 서비스에 대한 자세한 내용은 데이터 레지스트리를 만드는 방법을 참조하세요.

GeofenceMode

지오펜싱 비동기 이벤트 메커니즘의 모드입니다.

Name 형식 Description
All

string

모든 쿼리 결과를 Azure Maps 계정 이벤트 구독에 게시합니다.

EnterAndExit

string

사용자 위치가 교차 지오펜싱 보더로 간주되는 경우에만 결과를 게시합니다.

GeoJsonFeature

유효한 개체 형식입니다 GeoJSON Feature . 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
featureType

string

기능의 유형입니다. 값은 현재 기능이 속한 데이터 모델에 따라 달라집니다. 일부 데이터 모델에는 빈 값이 있을 수 있습니다.

geometry GeoJsonGeometry:

유효한 GeoJSON 기하 도형 개체입니다. 형식은 Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon 및 GeometryCollection의 7가지 유효한 GeoJSON 기하 도형 형식 중 하나여야 합니다. 자세한 내용은 RFC 7946 을 참조하세요.

id

string

기능에 대한 식별자입니다.

type string:

Feature

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonFeatureCollection

유효한 개체 형식입니다 GeoJSON FeatureCollection . 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
features

GeoJsonFeature[]

유효한 GeoJSON Feature 개체 목록을 포함합니다.

type string:

FeatureCollection

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonGeometry

유효한 GeoJSON 기하 도형 개체입니다. 형식은 Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon 및 GeometryCollection의 7가지 유효한 GeoJSON 기하 도형 형식 중 하나여야 합니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
type

GeoJsonObjectType

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonGeometryCollection

유효한 개체 형식입니다 GeoJSON GeometryCollection . 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
geometries GeoJsonGeometry[]:

유효한 GeoJSON 기하 도형 개체 목록을 포함합니다. GeoJSON의 좌표는 x, y 순서(경도, 위도)입니다.

type string:

GeometryCollection

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonLineString

유효한 GeoJSON LineString 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

기하 도형의 GeoJson LineString 좌표입니다.

type string:

LineString

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonMultiLineString

유효한 GeoJSON MultiLineString 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

기하 도형의 GeoJson MultiLineString 좌표입니다.

type string:

MultiLineString

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonMultiPoint

유효한 GeoJSON MultiPoint 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

기하 도형의 GeoJson MultiPoint 좌표입니다.

type string:

MultiPoint

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonMultiPolygon

유효한 개체 형식입니다 GeoJSON MultiPolygon . 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

유효한 GeoJSON Polygon 개체 목록을 포함합니다. GeoJSON의 좌표는 x, y 순서(경도, 위도)입니다.

type string:

MultiPolygon

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonPoint

유효한 GeoJSON Point 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

Position 은 둘 이상의 요소가 있는 숫자 배열입니다. 처음 두 요소는 경도위도이며 정확히 그 순서로 표시됩니다. 고도/상승 은 선택적 세 번째 요소입니다. 자세한 내용은 RFC 7946 을 참조하세요.

type string:

Point

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

GeoJsonPolygon

유효한 GeoJSON Polygon 기하 도형 형식입니다. 자세한 내용은 RFC 7946 을 참조하세요.

Name 형식 Description
coordinates

number[]

기하 도형 형식의 GeoJson Polygon 좌표입니다.

type string:

Polygon

GeoJSON 유형을 지정합니다. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature 및 FeatureCollection 등 9가지 유효한 GeoJSON 개체 형식 중 하나여야 합니다.

JsonFormat

원하는 응답 형식입니다. json 형식만 지원됩니다.

Name 형식 Description
json

string

JavaScript 개체 표기법 데이터 교환 형식