These terms adhere to RFC 7946 - The GeoJSON Format.
Sections
Basic Terms
Term | Definition | Example |
---|---|---|
Bounding Box (bbox) | Information on the coordinate range for GeoJSON Geometries, Features, or FeatureCollections. At a minimum, a bounding box will have two Often referred to as | |
This defines a GeoJson Feature object which represents a spatially bound thing. Every Feature object is a GeoJson object no matter where it occurs in a GeoJson text. A Feature object will always have a "type" member with the value "Feature". A Feature object has a member with the name "geometry". The value of the geometry member SHALL be either a Geometry object or, in the case that the Feature is unlocated, a JSON null value. A Feature object has a member with the name "properties". The value of the properties member is an object (any JSON object or a JSON null value). | { "type": "Feature", "geometry": { "type": "Point", "coordinates": [102.0, 0.5] }, "properties": { "prop0": "value0" } } | |
This represents a GeoJson Feature Collection which holds a list of Note that the feature list could potentially be empty. Features within the list must follow the specifications defined inside the | { "type": "FeatureCollection", "bbox": [100.0, 0.0, -100.0, 105.0, 1.0, 0.0], "features": [ //... ] } | |
GeoJSON is a format for encoding a variety of geographic data structures. | ||
Each of the six geometries and | ||
Linear Ring |
| |
Position | A
A | [-100.0, 62.5, 3245.0] [ longitude (column/x-coord), latitude (row/y-coord), altitude/elevation (meters) ] Third element is optional. |
Geometry Objects
The following are the 7 geometries found in the GeoJSON spec.
Term | Definition | Example |
---|---|---|
A Unlike the other geometry types, a
To maximize interoperability, implementations SHOULD avoid nested | { "type": "GeometryCollection", "geometries": [{ "type": "Point", "coordinates": [100.0, 0.0] }, { "type": "LineString", "coordinates": [ [101.0, 0.0], [102.0, 1.0] ] }] } | |
A | { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] } | |
A | { "type": "MultiLineString", "coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ] ] } | |
A This adheres to the RFC 7946 internet standard when serialized into JSON. When deserialized, this class becomes an immutable object which should be initiated using its static factory methods. The list of points must be equal to or greater than 2. | { "type": "MultiPoint", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] } | |
A This adheres to the RFC 7946 internet standard when serialized into JSON. When deserialized, this class becomes an immutable object which should be initiated using its static factory methods. | { "type": "MultiPolygon", "coordinates": [ [ [ [102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0] ] ], [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ], [ [100.2, 0.2], [100.2, 0.8], [100.8, 0.8], [100.8, 0.2], [100.2, 0.2] ] ] ] } | |
A | { "type": "Point", "coordinates": [100.0, 0.0] } | |
This class represents a GeoJson To specify a constraint specific to Polygons, it is useful to introduce the concept of a linear ring:
Note that most of the rules listed above are checked when a Polygon instance is created (the exception being the last rule). If one of the rules is broken, a Though a linear ring is not explicitly represented as a GeoJson geometry TYPE, it leads to a canonical formulation of the Polygon geometry TYPE. When initializing a new instance of this class, a LineString for the outer and optionally an inner are checked to ensure a valid linear ring. | { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] } |