GeoJSON データのジオフェンシング
Azure Maps の GET Geofence および POST Geofence API を使用すると、指定したジオフェンスまたはフェンスのセットを基準とする座標の近接度を取得できます。 この記事では、Azure Maps の GET および POST API で使用できるジオフェンス データを準備する方法を説明します。
GeoJSON
形式の Feature
オブジェクトと FeatureCollection
オブジェクトで表されるジオフェンスまたは一連のジオフェンスのデータは rfc7946 で定義されています。 さらに、次のことが指定されています。
- 使用できる GeoJSON オブジェクト型は、
Feature
オブジェクトまたはFeatureCollection
オブジェクトです。 - 使用できる Geometry オブジェクト型は、
Point
、MultiPoint
、LineString
、MultiLineString
、Polygon
、MultiPolygon
、GeometryCollection
です。 - すべてのフィーチャー プロパティには、
geometryId
が含まれる必要があります。これは、ジオフェンスの識別に使用されます。 Point
、MultiPoint
、LineString
、MultiLineString
のフィーチャーには、radius
プロパティが含まれる必要があります。radius
の値はメートル単位で測定され、radius
の値の範囲は 1 ~ 10,000 です。- ジオメトリの種類が
polygon
とmultipolygon
のフィーチャーに radius プロパティはありません。 validityTime
は省略可能なプロパティであり、ユーザーはジオフェンス データの期限切れ日時と有効期間を設定できます。 指定しない場合、データは期限切れになることがなく、常に有効です。expiredTime
は、ジオフェンシング データの期限切れ日時です。 要求内のuserTime
の値がこの値より後である場合、対応するジオフェンス データは期限切れのデータと見なされ、クエリは実行されません。 その場合は、このジオフェンス データの geometryId がジオフェンス応答内のexpiredGeofenceGeometryId
配列に含まれています。validityPeriod
は、ジオフェンスの有効期間のリストです。 要求内のuserTime
の値が有効期間の範囲外である場合、対応するジオフェンス データは無効と見なされ、クエリは実行されません。 このジオフェンス データの geometryId は、ジオフェンス応答内のinvalidPeriodGeofenceGeometryId
配列に格納されます。 validityPeriod 要素のプロパティを次の表に示します。
Name | タイプ | Required | 内容 |
---|---|---|---|
startTime | Datetime | true | 有効期間の開始日時。 |
endTime | Datetime | true | 有効期間の終了日時。 |
recurrenceType | string | false | 期間の繰り返しの種類。 値は、Daily 、Weekly 、Monthly 、Yearly のいずれかです。 既定値は Daily にする必要があります。 |
businessDayOnly | Boolean | false | データが営業日のみ有効かどうかを示します。 既定値は false にする必要があります。 |
- すべての座標値は、
WGS84
で定義されているように、[経度, 緯度] として表されます。 MultiPoint
、MultiLineString
、MultiPolygon
、またはGeometryCollection
を含む各フィーチャーでは、プロパティがすべての要素に適用されます。 たとえば、MultiPoint
内のすべてのポイントでは、同じ半径を使用して複数の円ジオフェンスを形成します。- ポイントと円のシナリオでは、「GeoJSON ジオメトリの拡張」で詳しく説明されているプロパティを含む
Point
geometry オブジェクトを使用して、円のジオメトリを表すことができます。
中心点と半径を使用して GeoJSON
内の円ジオフェンス ジオメトリとして表されたジオフェンスに対する要求本文のサンプルを次に示します。 ジオフェンス データの有効期間は 2018-10-22
(午前 9 時から午後 5 時まで) から開始され、週末を除き毎日繰り返されます。 要求内の userTime
が 2019-01-01
より後である場合、expiredTime
は、このジオフェンス データが期限切れと見なされることを示します。
{
"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
}
]
}
}
}