From GeoJSON
Revision as of 05:55, 11 April 2007 by AllanDoyle (Talk | contribs) (Added Authors)

Jump to: navigation, search

Inspired in part by http://trac.gispython.org/projects/PCL/wiki/PythonFeatureProtocol (or maybe even a complete copy )



  1. A feature is an object.
  2. A feature may have a name/value pair whose name is 'geometry' and whose value conforms to rule 3. (A feature may have any other name/value pairs, without restriction.)
  3. The value of a geometry must itself be an object with the following name/value pairs:
    • 'type' - [Point | Line | Polygon | Box]
    • 'coordinates' - In the case of a Point, an array of two or three number values representing x, y, and optionally z. In all other cases, an array of arrays of number values as in Point, restricted as follows:
      • A Line must have at least two values.
      • A Polygon must have at least three values.
      • A Box must have exactly two values.
    • 'crs' - an optional string specifying a coordinate reference system of the coordinates. If not present, WGS84 is implied and coordinates represent decimal degrees ordered as "longitude, latitude [,elevation]" and z is expressed as meters above mean sea level per WGS84. If present, the value of crs is to be interpreted as in PROJ4's EPSG tables and the values of the coordinates are to be interpreted accordingly.
  4. A feature should have a name/value pair whose name is 'id' and whose value can be uniquely interpreted by the source of the GeoJSON string, generally identifying this GeoJSON object's resource.
  5. A feature should have a name/value pair whose name is 'properties' and whose value is an object which has meaning within a specific community of interest.
  6. A feature having multiple geometries should have an array of geometries contained within a properties object (see 5) which is called 'geometries' and whose values are as described in 3.


from GISPython: Feature Protocol

  'id': '1',
  'properties': {
    'title': u'Feature 1',
    'summary': u'The first feature',
    'link': http://example.org/features/1,
  'geometry': {
    # WGS84 crs is implied
    'type': 'Point',
    'coordinates': [-105.8, 40.05],


Allan Doyle Sean Gillies (by inclusion - Sean - take this comment out if you're in)