Dados GeoJSON de delimitação geográfica
As APIs GET Geofence e POST Geofence do Azure Mapas permitem que você recupere a proximidade de uma coordenada com relação a uma cerca geográfica (geofence) ou um conjunto de cercas fornecidos. Este artigo detalha como preparar os dados de cerca geográfica que podem ser usados na API POST e GET do Azure Mapas.
Os dados para delimitação geográfica ou conjunto de delimitações geográficas, representados pelo Objeto Feature
e pelo Objeto FeatureCollection
no formato GeoJSON
, são definidos em rfc7946. Além disso:
- O tipo de objeto GeoJSON pode ser um Objeto
Feature
ou um ObjetoFeatureCollection
. - O tipo de objeto de Geometria pode ser um
Point
,MultiPoint
,LineString
,MultiLineString
,Polygon
,MultiPolygon
eGeometryCollection
. - Todas as propriedades do recurso devem conter um
geometryId
, que é usado para identificar a cerca geográfica. - O recurso com
Point
,MultiPoint
,LineString
,MultiLineString
deve conterradius
nas propriedades. O valorradius
é medido em metros, o valorradius
varia de 1 a 10000. - O recurso com o tipo de geometria
polygon
emultipolygon
não tem uma propriedade de raio. validityTime
é uma propriedade opcional que permite que o usuário defina o período de tempo de validade e tempo expirado para os dados de cerca geográfica. Se não for especificado, os dados nunca irão expirar e serão sempre válidos.- O
expiredTime
é a data e hora de expiração dos dados de delimitação geográfica. Se o valor deuserTime
na solicitação for posterior a esse valor, os dados de delimitação geográfica correspondentes serão considerados dados expirados e não serão consultados. Sobre o qual, a geometryId desses dados de delimitação geográfica está incluído na matrizexpiredGeofenceGeometryId
dentro da resposta da delimitação geográfica. - O
validityPeriod
é uma lista do período de validade da cerca geográfica. Se o valor deuserTime
na solicitação estiver fora do período de validade, os dados da delimitação geográfica correspondentes serão considerados inválidos e não serão consultados. O geometryId desses dados de cerca geográfica é incluído na matrizinvalidPeriodGeofenceGeometryId
dentro da resposta da cerca geográfica. A tabela a seguir mostra as propriedades do elemento validityPeriod.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
startTime | Datetime | true | A data/hora de início do período de tempo validade. |
endTime | Datetime | true | A data/hora de término do período de tempo de validade. |
recurrenceType | string | false | O tipo de recorrência do período. O valor pode ser Daily , Weekly , Monthly ou Yearly . O valor padrão é Daily . |
businessDayOnly | Boolean | false | Indique se os dados são válidos apenas durante os dias úteis. O valor padrão é false . |
- Todos os valores de coordenadas são representados como [latitude, longitude] definidos em
WGS84
. - Para cada recurso, que contém
MultiPoint
,MultiLineString
,MultiPolygon
ouGeometryCollection
, as propriedades são aplicadas a todos os elementos. por exemplo: todos os pontos emMultiPoint
utilizam o mesmo raio para formar um círculo de delimitação geográfica múltiplo. - Em cenário de círculo ponto, uma geometria de círculo pode ser representada usando um objeto de geometria
Point
com propriedades elaboradas em Estender geometrias GeoJSON.
A seguir, é apresentado um corpo da solicitação de exemplo para uma cerca geográfica representada como uma geometria de cerca geográfica de círculo em GeoJSON
usando um ponto central e um raio. O período válido dos dados de delimitação geográfica começa em 2018-10-22
, das 9h às 17h, repetido todos os dias, exceto no fim de semana. expiredTime
indica que esses dados de delimitação geográfica são considerados expirados, se userTime
na solicitação for posterior a 2019-01-01
.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId" : "1",
"subType": "Circle",
"radius": 500,
"validityTime":
{
"expiredTime": "2019-01-01T00:00:00",
"validityPeriod": [
{
"startTime": "2018-10-22T09:00:00",
"endTime": "2018-10-22T17:00:00",
"recurrenceType": "Daily",
"recurrenceFrequency": 1,
"businessDayOnly": true
}
]
}
}
}