2026-05-19 23:51:56
GeoJSON格式规范说明
GeoJSON是一种对各种地理数据结构进行编码的格式,它基于JSON(JavaScript Object Notation)标准,用于表示几何、特征或特征集合等地理信息。以下是对GeoJSON格式规范的详细说明:
一、GeoJSON对象
GeoJSON对象总是由一个单独的对象组成,这个对象可以表示几何、特征或者特征集合。GeoJSON对象可能有任何数目的成员(名/值对),但必须包含一个名为"type"的成员,其值用于确定GeoJSON对象的类型。
二、类型成员
"type"成员的值必须是以下之一:
三、几何对象
几何对象是指"type"成员值为上述几何类型之一的GeoJSON对象。除了"GeometryCollection"外,其他几何对象必须包含一个名为"coordinates"的成员,其值用于描述几何对象的坐标。
位置
"coordinates"成员的值由数字数组表示,至少包含两个元素(x, y),可以有更多元素(如z表示高度)。
元素的顺序必须遵从x, y, z顺序(投影坐标参考系统中坐标的东向、北向、高度或者地理坐标参考系统中的坐标经度、纬度、高度)。
点(Point)
"coordinates"成员必须是一个单独的位置。
多点(MultiPoint)
"coordinates"成员必须是位置数组。
线(LineString)
"coordinates"成员必须是两个或多个位置的数组。
线性环是封闭的线,具有4个或更多位置,第一个和最后一个位置相等。
多线(MultiLineString)
"coordinates"成员必须是一个线坐标数组的数组。
面(Polygon)
"coordinates"成员必须是一个线性环坐标数组的数组。
对于拥有多个环的面来说,第一个环必须是外部环,其他的必须是内部环或孔。
多面(MultiPolygon)
"coordinates"成员必须是面坐标数组的数组。
几何集合(GeometryCollection)
必须包含一个名为"geometries"的成员,其值是一个数组,数组中的每个元素都是一个GeoJSON几何对象。
四、特征对象
特征对象是指"type"成员值为"Feature"的GeoJSON对象。特征对象必须包含以下成员:
五、特征集合对象
特征集合对象是指"type"成员值为"FeatureCollection"的GeoJSON对象。特征集合对象必须包含一个名为"features"的成员,其值是一个数组,数组中的每个元素都是一个特征对象。
六、坐标参考系统(CRS)
GeoJSON对象的坐标参考系统由"crs"成员确定。如果对象没有"crs"成员,则可能使用其父对象或祖父对象的"crs"成员。如果仍未获得"crs"成员,则默认使用WGS84地理坐标参考系统。
"crs"成员的值可以是JSON对象或JSON的null。非空的CRS对象必须包含以下两个成员:
CRS对象可以通过名字或连接到互联网上的CRS参数来表明坐标参考系统。
七、边界框(bbox)
为了包含几何、特征或特征集合的坐标范围信息,GeoJSON对象可以包含一个名为"bbox"的成员。其值必须是2*n数组(n为所包含几何对象的维数),包含所有坐标轴的最低值和最高值。bbox的坐标轴顺序遵循几何坐标轴的顺序,并且其坐标参考系统假设匹配它所在GeoJSON对象的坐标参考系统。
综上所述,GeoJSON格式规范提供了一种结构化的方式来编码和表示各种地理数据结构,包括几何对象、特征对象和特征集合对象等。通过遵循这些规范,可以确保GeoJSON数据的准确性和互操作性。