Dela via


Geofencing GeoJSON-data

Med Azure Maps GET Geofence och POST Geofence API kan du hämta närhet till en koordinat i förhållande till en angivet geofence eller en uppsättning staket. Den här artikeln beskriver hur du förbereder geofence-data som kan användas i AZURE Maps GET- och POST-API:et.

Data för geofence eller uppsättning geofences, som representeras av Feature objektet och FeatureCollection objektet i GeoJSON format, definieras i rfc7946. Utöver det:

  • GeoJSON-objekttypen kan vara ett Feature objekt eller ett FeatureCollection objekt.
  • Typ av geometriobjekt kan vara , PointMultiPoint, LineString, MultiLineString, Polygon, MultiPolygonoch GeometryCollection.
  • Alla funktionsegenskaper bör innehålla en geometryId, som används för att identifiera geofence.
  • Funktionen med Point, MultiPoint, LineString, MultiLineString måste innehålla radius egenskaper. radius mäts i meter, radius värdet varierar från 1 till 10000.
  • Funktionen med polygon och multipolygon geometritypen har ingen radius-egenskap.
  • validityTime är en valfri egenskap som låter användaren ange förfallen tid och giltighetsperiod för geofence-data. Om de inte anges upphör data aldrig att gälla och är alltid giltiga.
  • expiredTime är förfallodatum och tid för geofencing-data. Om värdet userTime för i begäran är senare än det här värdet betraktas motsvarande geofence-data som utgångna data och efterfrågas inte. Där ingår geometryId för dessa geofence-data i expiredGeofenceGeometryId matrisen i geofence-svaret.
  • validityPeriod är en lista över giltighetsperioden för geofence. Om värdet userTime för i begäran ligger utanför giltighetsperioden anses motsvarande geofencedata vara ogiltiga och efterfrågas inte. GeometryId för dessa geofence-data ingår i invalidPeriodGeofenceGeometryId matrisen i geofence-svaret. I följande tabell visas egenskaperna för elementet validityPeriod.
Namn Typ Obligatoriskt Beskrivning
startTime Datetime true Startdatumtiden för giltighetsperioden.
endTime Datetime true Slutdatumet för giltighetsperioden.
recurrenceType sträng falskt Periodens upprepningstyp. Värdet kan vara Daily, Weekly, Monthlyeller Yearly. Standardvärdet är Daily.
businessDayOnly Boolean falskt Ange om data bara är giltiga under arbetsdagar. Standardvärdet är false.
  • Alla koordinatvärden representeras som [longitud, latitud] definierat i WGS84.
  • För varje funktion, som innehåller MultiPoint, MultiLineString, MultiPolygon eller GeometryCollection, tillämpas egenskaperna på alla element. Till exempel: Alla punkter i MultiPoint använder samma radie för att bilda en geofence med flera cirklar.
  • I punktcirkelscenario kan en cirkelgeometri representeras med hjälp av ett Point geometriobjekt med egenskaper som utvecklats i Utöka GeoJSON-geometrier.

Följande är en exempelbegärandetext för en geofence som representeras som en cirkelgeofencegeofencegeometri i GeoJSON med hjälp av en mittpunkt och en radie. Den giltiga perioden för geofence-data börjar från 2018-10-22, 9:00 till 17:00, upprepas varje dag förutom helgen. expiredTime anger att dessa geofence-data anses ha upphört att gälla, om userTime i begäran är senare än 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
                }
            ]
        }
    }
}