我是 Azure 地图的新手,并且正在阅读文档。
该简介描述了点、特征和形状。
但这并不能真正帮助我理解为什么我会使用其中一个。有人可以帮助我理解差异和/或指出一些阐明该主题的文章吗?
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帮助器类,以便于更新和维护它们。
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
})
)
请试试这篇文章,看看它是否有帮助。它描述了 GeoJSON 标准中可用的不同几何形状以及点、形状和特征的区别。