Данные GeoJSON для геозон
API геозон Azure Maps и POST Geofence позволяют получить близкое расположение координат относительно предоставленной геозонии или набора заборов. В этой статье подробно описано, как подготовить данные для геозон, применимые в API-интерфейсах GET и POST в Azure Maps.
Данные для геозоны или набора геозон, представленных Feature
объектом и FeatureCollection
объектом в GeoJSON
формате, определяются в rfc7946. В дополнение к этому:
- Объект GeoJSON может иметь тип объекта
Feature
илиFeatureCollection
. - Объект Geometry может иметь тип
Point
,MultiPoint
,LineString
,MultiLineString
,Polygon
,MultiPolygon
илиGeometryCollection
. - Все свойства компонента должны содержать атрибут
geometryId
, который используется для идентификации геозоны. - Компонент с типом
Point
,MultiPoint
,LineString
иMultiLineString
должен содержатьradius
в списке своих свойств. Значениеradius
измеряется в метрах. Дляradius
допускаются значения в диапазоне от 1 до 10000. - Функция с
polygon
multipolygon
типом геометрии не имеет свойства radius. - Используя необязательное свойство
validityTime
, пользователь может настроить время ожидания и период действия для данных геозон. Если это значение не указано, срок данных никогда не истечет и они всегда считаются действительными. expiredTime
обозначает дату и время истечения срока действия для данных геозон. Если значениеuserTime
в запросе позже этого значения, соответствующие данные геозоны считаются просроченными и не запрашиваются. При этом geometryId этих данных геозоны включается в массив вexpiredGeofenceGeometryId
ответе геозоны.validityPeriod
содержит список периодов действия для геозон. Если значениеuserTime
запроса выходит за пределы срока действия, соответствующие данные геозоны считаются недопустимыми и не запрашиваются. Идентификатор geometryId этих данных геозон включается в массивinvalidPeriodGeofenceGeometryId
в ответе о геозонах. В следующей таблице приведены свойства для элемента validityPeriod.
Имя. | Type | Обязательно | Описание |
---|---|---|---|
startTime | Datetime | true | Дата и время начала периода действия. |
endTime | Datetime | true | Дата и время окончания периода действия. |
recurrenceType | строка | false | Тип повторений для периода. Возможны следующие значения: Daily , Weekly , Monthly или Yearly . Значение по умолчанию: Daily . |
businessDayOnly | Логический | false | Указывает, что данные считаются допустимыми только в рабочие дни. Значение по умолчанию: false . |
- Все значения координат представляются в формате [долгота, широта], который определен в
WGS84
. - Для каждого компонента, который содержит
MultiPoint
,MultiLineString
,MultiPolygon
илиGeometryCollection
, свойства применяются ко всем элементам. Например: все точки вMultiPoint
одном радиусе используются для формирования геозоны нескольких кругов. - Если используются точки, определяющие круги, геометрию этих кругов можно представить с помощью геометрического объекта
Point
, свойства которого описаны в статье о расширении геометрических объектов GeoJSON.
Ниже приведен примерный текст запроса по геозоне, которая представлена в виде набора кругов, определенных в GeoJSON
по координатам центральной точки и радиусу. Допустимый период данных геозоны начинается от 2018-10-22
9 УТРА до 5 вечера, повторяющийся каждый день, за исключением выходных. expiredTime
указывает, что эти данные геозон считаются истекшими, если userTime
в запросе позже 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
}
]
}
}
}