GeoJSON扩展几何图形格式

Azure Maps 提供了一个功能强大的 Api 列表,用于在地理功能内进行搜索。 这些 Api 遵循表示地理功能的标准 GeoJSON 规范

GeoJSON 规范仅支持以下几何图形:

  • GeometryCollection

  • LineString

  • MultiLineString

  • MultiPoint

  • MultiPolygon

  • Polygon

某些 Azure Maps Api 接受不属于 GeoJSON 规范的几何。例如, 几何图形内的搜索 接受圆圈和多边形。

本文提供了有关 Azure Maps 如何扩展 GeoJSON 规范来表示某些几何图形的详细说明。

圆形

Circle GeoJSON 规范不支持该几何图形。我们使用 GeoJSON Point Feature 对象来表示圆。

Circle使用对象表示的几何图形 GeoJSON Feature 必须 包含以下坐标和属性:

  • Center

    圆的中心使用 GeoJSON Point 对象表示。

  • 半径

    圆形的 radius 使用 GeoJSON Feature 的属性表示。 半径值以米为单位,并且其类型必须为 double

  • 子类型

    圆形几何图形还必须包含 subType 属性。 此属性必须是的属性的一部分 GeoJSON Feature ,并且其值应为 圆圈

示例

下面是使用对象表示圆的方式 GeoJSON Feature 。 让我们将圆圈置于纬度:47.639754 和经度:-122.126986,并为其分配一个等于100计量的半径:

JSON复制

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

矩形

Rectangle GeoJSON 规范不支持该几何图形。我们使用 GeoJSON Polygon Feature 对象来表示矩形。 矩形扩展主要由 Web SDK 的 "绘图工具" 模块使用。

Rectangle使用对象表示的几何图形 GeoJSON Polygon Feature 必须 包含以下坐标和属性:

  • 内角

    使用对象的坐标表示矩形的角 GeoJSON Polygon 。 应该有五个坐标,每个角一个。 与第五个坐标相同,用于关闭多边形环。 假定这些坐标对齐,开发人员可以根据需要对其进行旋转。

  • 子类型

    矩形几何图形还必须包含 subType 属性。 此属性必须是的属性的一部分 GeoJSON Feature ,并且其值应为 矩形

示例

JSON复制

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

 转自  https://docs.microsoft.com/zh-cn/azure/azure-maps/extend-geojson

原文地址:https://www.cnblogs.com/yjh1995/p/14163936.html