Delen via


Geofencing GeoJSON-gegevens

Met de GET Geofence- en POST Geofence-API van Azure Maps kunt u de nabijheid van een coördinaat ophalen ten opzichte van een opgegeven geofence of set hekken. In dit artikel wordt beschreven hoe u de geofence-gegevens voorbereidt die kunnen worden gebruikt in de GET- en POST-API van Azure Maps.

De gegevens voor geofence of set geofences, vertegenwoordigd door het Feature object en FeatureCollection object in GeoJSON indeling, worden gedefinieerd in rfc7946. Daarnaast:

  • Het GeoJSON-objecttype kan een Feature object of een FeatureCollection object zijn.
  • Het objecttype Geometrie kan een , , , , MultiLineString, , Polygon, en MultiPolygonGeometryCollection. LineStringMultiPointPoint
  • Alle functie-eigenschappen moeten een geometryId, die wordt gebruikt voor het identificeren van de geofence.
  • Functie met Point, MultiPoint, LineString, MultiLineString moet in eigenschappen bevatten radius . radius de waarde wordt gemeten in meters, de radius waarde varieert van 1 tot 10000.
  • Functie met polygon en multipolygon geometrietype heeft geen radius-eigenschap.
  • validityTime is een optionele eigenschap waarmee de gebruiker de verlopen tijd en geldigheidsperiode voor de geofence-gegevens kan instellen. Als dit niet is opgegeven, verlopen de gegevens nooit en zijn ze altijd geldig.
  • Dit expiredTime is de vervaldatum en tijd van geofencinggegevens. Als de waarde van userTime de aanvraag later is dan deze waarde, worden de bijbehorende geofence-gegevens beschouwd als verlopen gegevens en worden ze niet opgevraagd. De geometrie-id van deze geofence-gegevens wordt opgenomen in de matrix binnen expiredGeofenceGeometryId het geofence-antwoord.
  • Dit validityPeriod is een lijst met geldigheidsduur van de geofence. Als de waarde van userTime de aanvraag buiten de geldigheidsperiode valt, worden de bijbehorende geofence-gegevens beschouwd als ongeldig en worden ze niet opgevraagd. De geometrie-id van deze geofence-gegevens wordt opgenomen in de matrix binnen invalidPeriodGeofenceGeometryId het geofence-antwoord. In de volgende tabel ziet u de eigenschappen van het element validityPeriod.
Name Type Vereist Beschrijving
startTime Datum/tijd true De begindatum van de geldigheidsperiode.
endTime Datum/tijd true De einddatum van de geldigheidsperiode.
recurrenceType tekenreeks false Het terugkeertype van de periode. De waarde kan zijnDaily, Weeklyof MonthlyYearly. De standaardwaarde is Daily.
businessDayOnly Booleaanse waarde false Geef aan of de gegevens alleen geldig zijn gedurende werkdagen. De standaardwaarde is false.
  • Alle coördinaatwaarden worden weergegeven als [lengtegraad, breedtegraad] gedefinieerd in WGS84.
  • Voor elke functie, die de eigenschappen bevatMultiPoint, MultiLineStringof GeometryCollectionMultiPolygon , worden de eigenschappen toegepast op alle elementen. Bijvoorbeeld: Alle punten die MultiPoint dezelfde radius gebruiken om een geofence met meerdere cirkels te vormen.
  • In puntcirkelscenario's kan een cirkelgeometrie worden weergegeven met behulp van een Point geometrieobject met eigenschappen die zijn uitgewerkt in Uitgebreide GeoJSON-geometrieën.

Hieronder volgt een voorbeeld van een aanvraagbody voor een geofence die wordt weergegeven als een cirkelgeofencegeometrie in GeoJSON het gebruik van een middelpunt en een straal. De geldige periode van de geofence-gegevens begint van 2018-10-229:00 tot 17:00 uur, elke dag, met uitzondering van het weekend. expiredTime geeft aan dat deze geofence-gegevens als verlopen worden beschouwd, als userTime in de aanvraag later 2019-01-01dan .

{
    "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
                }
            ]
        }
    }
}