Compartilhar via


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 Objeto FeatureCollection.
  • O tipo de objeto de Geometria pode ser um Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon e GeometryCollection.
  • 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 conter radius nas propriedades. O valor radius é medido em metros, o valor radius varia de 1 a 10000.
  • O recurso com o tipo de geometria polygon e multipolygon 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 de userTime 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 matriz expiredGeofenceGeometryId dentro da resposta da delimitação geográfica.
  • O validityPeriod é uma lista do período de validade da cerca geográfica. Se o valor de userTime 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 matriz invalidPeriodGeofenceGeometryId 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 ou GeometryCollection, as propriedades são aplicadas a todos os elementos. por exemplo: todos os pontos em MultiPoint 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
                }
            ]
        }
    }
}