Geofencing GeoJSON data (Geofencing GeoJSON data)

O Azure Maps a API de Georrestérence GET e POST Geofence permite-lhe obter a proximidade de uma coordenada relativamente a uma geoesferência fornecida ou a um conjunto de cercas. Este artigo detalha como preparar os dados geográficos que podem ser utilizados no Azure Maps GET e POST API.

Os dados para geofência ou conjunto de geofências, representados pelo Feature Objeto e FeatureCollection Objeto em GeoJSON formato, são definidos em rfc7946. Além disso:

  • O tipo de Objeto GeoJSON pode ser um Feature Objeto ou um FeatureCollection Objeto.
  • O tipo de Objeto de Geometria pode ser , Point, , LineString, PolygonMultiLineString, MultiPolygone GeometryCollection. MultiPoint
  • Todas as propriedades de funcionalidades devem conter um geometryId, que é utilizado para identificar a georreplicação.
  • A funcionalidade com Point, MultiPoint, LineStringtem de MultiLineString conter radius nas propriedades. radius o valor é medido em medições, o radius valor varia entre 1 e 10000.
  • A funcionalidade com polygon o tipo de geometria e multipolygon não tem uma propriedade radius.
  • validityTime é uma propriedade opcional que permite ao utilizador definir o tempo expirado e o período de tempo de validade para os dados de georreplicação. Se não for especificado, os dados nunca expiram e são sempre válidos.
  • É expiredTime a data e hora de expiração dos dados geofencing. Se o valor de userTime no pedido for posterior a este valor, os dados geográficos correspondentes são considerados dados expirados e não são consultados. Sobre o qual, o geometryId destes dados de geoence está incluído na matriz dentro expiredGeofenceGeometryId da resposta de georreplicação.
  • É validityPeriod uma lista do período de tempo de validade da georresferência. Se o valor de userTime no pedido ficar fora do período de validade, os dados geográficos correspondentes são considerados inválidos e não são consultados. O geometryId destes dados de geofência está incluído na matriz na invalidPeriodGeofenceGeometryId resposta de georreplicação. A tabela seguinte mostra as propriedades do elemento validityPeriod.
Nome Tipo Necessário Descrição
startTime Datetime true A data de início do período de tempo de validade.
endTime Datetime true A data de fim do período de tempo de validade.
recurrenceType string false O tipo de periodicidade. O valor pode ser Daily, Weekly, Monthlyou Yearly. O valor predefinido é Daily.
businessDayOnly Booleano false Indique se os dados só são válidos durante os dias úteis. O valor predefinido é false.
  • Todos os valores de coordenadas são representados como [longitude, latitude] definido em WGS84.
  • Para cada Funcionalidade, que contém MultiPoint, MultiLineString, MultiPolygon ou GeometryCollection, as propriedades são aplicadas a todos os elementos. por exemplo: todos os pontos em MultiPoint utilizar o mesmo raio para formar uma geofência de múltiplos círculos.
  • No cenário de círculo-ponto, uma geometria circular pode ser representada através de um Point objeto de geometria com propriedades elaboradas em GeoJSON geometrias.

Segue-se um corpo de pedido de exemplo para uma geofência representada como uma geometria de georreferência circular na GeoJSON utilização de um ponto central e de um raio. O período válido dos dados geográficos começa das 2018-10-2209:00 às 17:00, repetidos todos os dias, exceto no fim de semana. expiredTime indica que estes dados geofence são considerados expirados, se userTime no pedido 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
                }
            ]
        }
    }
}