WebGIS基础理论|GeoJSON格式规范说明

WebGIS基础理论|GeoJSON格式规范说明
最新回答
凹凸有致丶

2026-05-19 23:51:56

GeoJSON格式规范说明

GeoJSON是一种对各种地理数据结构进行编码的格式,它基于JSON(JavaScript Object Notation)标准,用于表示几何、特征或特征集合等地理信息。以下是对GeoJSON格式规范的详细说明:

一、GeoJSON对象

GeoJSON对象总是由一个单独的对象组成,这个对象可以表示几何、特征或者特征集合。GeoJSON对象可能有任何数目的成员(名/值对),但必须包含一个名为"type"的成员,其值用于确定GeoJSON对象的类型。

二、类型成员

"type"成员的值必须是以下之一:

  • "Point":表示点几何对象。
  • "MultiPoint":表示多点几何对象。
  • "LineString":表示线几何对象。
  • "MultiLineString":表示多线几何对象。
  • "Polygon":表示面几何对象。
  • "MultiPolygon":表示多面几何对象。
  • "GeometryCollection":表示几何集合对象。
  • "Feature":表示特征对象。
  • "FeatureCollection":表示特征集合对象。

三、几何对象

几何对象是指"type"成员值为上述几何类型之一的GeoJSON对象。除了"GeometryCollection"外,其他几何对象必须包含一个名为"coordinates"的成员,其值用于描述几何对象的坐标。

  1. 位置

    "coordinates"成员的值由数字数组表示,至少包含两个元素(x, y),可以有更多元素(如z表示高度)。

    元素的顺序必须遵从x, y, z顺序(投影坐标参考系统中坐标的东向、北向、高度或者地理坐标参考系统中的坐标经度、纬度、高度)。

  2. 点(Point)

    "coordinates"成员必须是一个单独的位置。

  3. 多点(MultiPoint)

    "coordinates"成员必须是位置数组。

  4. 线(LineString)

    "coordinates"成员必须是两个或多个位置的数组。

    线性环是封闭的线,具有4个或更多位置,第一个和最后一个位置相等。

  5. 多线(MultiLineString)

    "coordinates"成员必须是一个线坐标数组的数组。

  6. 面(Polygon)

    "coordinates"成员必须是一个线性环坐标数组的数组。

    对于拥有多个环的面来说,第一个环必须是外部环,其他的必须是内部环或孔。

  7. 多面(MultiPolygon)

    "coordinates"成员必须是面坐标数组的数组。

  8. 几何集合(GeometryCollection)

    必须包含一个名为"geometries"的成员,其值是一个数组,数组中的每个元素都是一个GeoJSON几何对象。

四、特征对象

特征对象是指"type"成员值为"Feature"的GeoJSON对象。特征对象必须包含以下成员:

  • "geometry":其值是一个几何对象或JSON的null值。
  • "properties":其值是一个对象(任何JSON对象或JSON的null值),用于存储特征的属性信息。
  • 如果特征是常用的标识符,则还可以包含一个名为"id"的成员。

五、特征集合对象

特征集合对象是指"type"成员值为"FeatureCollection"的GeoJSON对象。特征集合对象必须包含一个名为"features"的成员,其值是一个数组,数组中的每个元素都是一个特征对象。

六、坐标参考系统(CRS)

GeoJSON对象的坐标参考系统由"crs"成员确定。如果对象没有"crs"成员,则可能使用其父对象或祖父对象的"crs"成员。如果仍未获得"crs"成员,则默认使用WGS84地理坐标参考系统。

"crs"成员的值可以是JSON对象或JSON的null。非空的CRS对象必须包含以下两个成员:

  • "type":其值必须是字符串,说明CRS对象的类型。
  • "properties":其值必须是对象,包含CRS的具体信息。

CRS对象可以通过名字或连接到互联网上的CRS参数来表明坐标参考系统。

七、边界框(bbox)

为了包含几何、特征或特征集合的坐标范围信息,GeoJSON对象可以包含一个名为"bbox"的成员。其值必须是2*n数组(n为所包含几何对象的维数),包含所有坐标轴的最低值和最高值。bbox的坐标轴顺序遵循几何坐标轴的顺序,并且其坐标参考系统假设匹配它所在GeoJSON对象的坐标参考系统。

综上所述,GeoJSON格式规范提供了一种结构化的方式来编码和表示各种地理数据结构,包括几何对象、特征对象和特征集合对象等。通过遵循这些规范,可以确保GeoJSON数据的准确性和互操作性。