Azure 地图 - 点 vs 特征 vs 形状

Azure maps - point vs feature vs shape

我是 Azure 地图的新手,正在阅读 documentation

此简介描述了点、特征和形状。

但这并不能真正帮助我理解为什么我会使用一个而不是另一个。谁能帮助我理解其中的差异 and/or 给我指点一些阐明该主题的文章?

请试一下 this 文章,看看是否有帮助。它描述了 GeoJSON 标准中可用的不同几何图形以及点与形状与特征的区别。

AzureMaps 与许多其他地图库一样,使用 GeoJSON 格式对地理数据结构进行编码。

此格式包括 Geometry、Feature 和 FeatureCollection 对象。

几何:

GeoJSON 支持不同的几何类型:

除了 GeometryCollection 之外,这些几何类型都在具有以下属性的 Geometry 对象中表示:

  • type GeoJSON 类型描述符
  • coordinates坐标集合

例子。点几何对象:

{
  "type": "Point",
  "coordinates": [0, 0]
}

GeometryCollection 也是一个 Geometry 对象,但具有以下属性:

  • type 值为“GeometryCollection”的 GeoJSON 类型描述符
  • geometries 几何对象的集合

示例:GeometryCollection 几何对象

{
  "type": "GeometryCollection",
  "geometries": [
    {
      "type": "Point",
      "coordinates": [0, 0]
   },
   // N number of Geometry objects
  ]
}

特征:

具有附加属性的几何对象称为要素对象:

  • type 值为“Feature”的 GeoJSON 类型描述符
  • geometry 几何对象
  • properties N 个附加属性

例子。点要素对象

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [0, 0]
  },
  "properties": {
    "name": "Null Island"
    // N number of additional properties
  }
}

特征集合:

FeatureCollection 对象包含特征集:

  • type 值为“FeatureCollection”的 GeoJSON 类型描述符
  • features 特征对象的集合

例子。具有点要素对象的要素集合

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [0, 0]
      },
      "properties": {
        "name": "Null Island"
        // N number of additional properties
      }
    }
    // N number of Feature objects
  ]
}

形状:

由于 GeoJSON 对象只是地理数据结构,本身没有任何功能,因此 Azure Maps 提供了 Shape 帮助程序 class 以便于更新和维护它们。

形状 class 包裹了一个 Geometry or a Feature

  • Geometry:构造 GeoJSON Geometry 对象的基础 class。

  • 特征:Class构造一个 GeoJSON 特征对象。

示例。

通过传入一个 Geometry 和一个包含属性的对象来创建一个 Shape。

var shape1 = new atlas.Shape(
  new atlas.data.Point([0, 0], {
    myProperty: 1,
    // N number of additional properties
  })
)

使用特征创建形状。

var shape2 = new atlas.Shape(
  new atlas.data.Feature(new atlas.data.Point([0, 0]), {
    myProperty: 1,
    // N number of additional properties
  })
)