2

我是 Azure 地图的新手,并且正在阅读文档

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

在此处输入图像描述

但这并不能真正帮助我理解为什么我会使用其中一个。有人可以帮助我理解差异和/或指出一些阐明该主题的文章吗?

4

2 回答 2

3

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

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

几何学:

GeoJSON 支持不同的几何类型:

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

  • typeGeoJSON 类型描述符
  • 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几何对象
  • propertiesN 个附加属性

例子。点要素对象

{
  "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帮助器类,以便于更新和维护它们。

Shape 类包装了GeometryFeature

  • Geometry:构造 GeoJSON Geometry 对象的基类。

  • Feature:构造 GeoJSON Feature 对象的类。

例子。

通过传入一个 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
  })
)
于 2019-08-14T18:30:21.593 回答
3

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

于 2019-08-13T21:04:16.417 回答