Расширенные геометрические объекты GeoJSON

Azure Maps предоставляет список эффективных API для поиска в рамках географических функций или с их использованием. Эти API соответствуют стандартной спецификации GeoJSON, представляющей географические функции.

Спецификация GeoJSON поддерживает только следующие геометрические объекты:

  • GeometryCollection
  • LineString
  • MultiLineString
  • MultiPoint
  • MultiPolygon
  • Point
  • Многоугольник

Некоторые API Azure Maps поддерживают геометрические объекты, которые не входят в состав спецификации GeoJSON. Например, API Поиск внутри геометрического объекта поддерживает круги и многоугольники.

В этой статье приводится подробное объяснение того, как Azure Maps расширяет спецификацию GeoJSON для представления определенных геометрических объектов.

Круг

Спецификация GeoJSON не поддерживает геометриюCircle. Объект GeoJSON Point Feature используется для представления круга.

Геометрический объект Circle, представленный с помощью объекта GeoJSON Feature, должен содержать следующие координаты и параметры:

Координата Свойство
Центр Центр круга представлен с помощью объекта GeoJSON Point.
Радиус Значение radius круга представлено с помощью свойств GeoJSON Feature. Значение радиуса отображается в метрах и должно быть типа double.
Подтип Геометрический объект "круг" также должен содержать свойство subType. Оно должно быть среди свойств GeoJSON Feature, и ему должно быть присвоено значение Circle.

Пример круга

Вот как представляется круг с помощью GeoJSON Feature объекта. Давайте выберем центр круга с широтой 47,639754 и долготой -122,126986, а также назначим ему радиус, равный 100 метрам.

{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [-122.126986, 47.639754]
    },
    "properties": {
        "subType": "Circle",
        "radius": 100
    }
}          

Прямоугольник

Спецификация GeoJSON не поддерживает геометриюRectangle. Объект GeoJSON Polygon Feature используется для представления прямоугольника. Расширение Rectangle в основном используется модулем инструментов рисования веб-пакета SDK.

Геометрический объект Rectangle, представленный с помощью объекта GeoJSON Polygon Feature, должен содержать следующие координаты и параметры:

Координата Свойство
Углы Углы прямоугольника представлены с помощью координат объекта GeoJSON Polygon. Должно быть пять координат: по одной для каждого угла. И пятая координата, совпадающая с первой координатой в целях замыкания контура многоугольника. Предполагается, что эти координаты выравниваются и что разработчик может повернуть их по мере необходимости.
Подтип Геометрический объект "прямоугольник" также должен содержать свойство subType. Это свойство должно быть частью GeoJSON Featureсвойств, а его значение должно быть прямоугольником.

Пример прямоугольника

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [[[5,25],[14,25],[14,29],[5,29],[5,25]]]
    },
    "properties": {
        "subType": "Rectangle"
    }
}

Следующие шаги

Узнайте подробнее о данных GeoJSON в Azure Maps:

Ознакомьтесь с глоссарием распространенных технических терминов, связанных с Azure Maps и анализирующими расположение приложениями: