diff -r fb882d89996c geojson-draft-6.html --- a/geojson-draft-6.html Thu May 08 17:26:40 2008 -0600 +++ b/geojson-draft-6.html Wed May 21 17:55:08 2008 -0600 @@ -3,245 +3,11 @@ - + The GeoJSON Format Specification - +
@@ -254,8 +20,8 @@ div.highlight { Address:
-sgillies@frii.com
-http://zcologia.com/sgillies
+sgillies@frii.com
+http://zcologia.com/sgillies
 
Revision: @@ -263,7 +29,7 @@ div.highlight { Date: 8 May 2008 Copyright: -This work is licensed under a Creative Commons Attribution 3.0 United States License. +This work is licensed under a Creative Commons Attribution 3.0 United States License. @@ -274,43 +40,43 @@ div.highlight {
-
-

Contents

+ -
-

1. Introduction

+
+

1. Introduction

GeoJSON is a data-interchange format for a variety of geographic data structures. GeoJSON can be used to represent a geometry, a feature, a collection of geometries, or a collection of features. The geometry types @@ -324,8 +90,8 @@ a string, number, object, array or one o a string, number, object, array or one of the literals: "true", "false", and "null". An array consists of elements where each element is a value as described above.

-
-

1.1. Examples

+
+

1.1. Examples

A GeoJSON feature collection:

 { "type": "FeatureCollection",
@@ -363,37 +129,36 @@ described above.

}
-
-

1.2. Definitions

+
+

1.2. Definitions

-
-

2. GeoJSON Objects

+
+

2. GeoJSON Objects

GeoJSON always consists of a single object. This object (referred to as the -GeoJSON object below) represents a geometry, feature, collection of geometries, -or collection of features.

+GeoJSON object below) represents a geometry, feature, or collection of features.

  • The GeoJSON object may have any number of members (name/value pairs).
  • The GeoJSON object must have a member with the name "type". This member's value is a string that determines the type of the GeoJSON object.
  • The value of the type member must be one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", -"GeometryCollection", "Feature", or "FeatureCollection". "type" must be lower -case, the case of the type member values must be as shown here.
  • +"GeometryCollection", "Feature", or "FeatureCollection". The case of the type +member values must be as shown here.
  • A GeoJSON object may have an optional "crs" member, the value of which must -be a coordinate reference system object (see 3. Coordinate Reference System +be a coordinate reference system object (see 3. Coordinate Reference System Objects).
  • A GeoJSON object may have a "bbox" member, the value of which must be a -bounding box array (see 4. Bounding Boxes).
  • +bounding box array (see 4. Bounding Boxes).
-
-

2.1 Geometry Objects

+
+

2.1 Geometry Objects

A geometry is a GeoJSON object where the type member's value is one of the following strings: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", or "GeometryCollection".

@@ -401,8 +166,8 @@ a member with the name "coordinates a member with the name "coordinates". The value of the coordinates member is always an array. The structure for the elements in this array are determined by the type of geometry.

-
-

2.1.1. Point

+
+

2.1.1. Point

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. There must be at least two elements, and may be more. The order of elements must follow x, y, z order (or @@ -411,13 +176,13 @@ interpretation and meaning of these coor interpretation and meaning of these coordinates is beyond the scope of this specification.

-
-

2.1.2. MultiPoint

+
+

2.1.2. MultiPoint

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

-
-

2.1.3. LineString

+
+

2.1.3. LineString

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". The coordinates array for a LineString must have two or more elements. A LinearRing is a special case of type @@ -426,26 +191,26 @@ explicitly represented as a GeoJSON geom explicitly represented as a GeoJSON geometry type, it is referred to in the Polygon geometry type definition.

-
-

2.1.4. MultiLineString

+
+

2.1.4. MultiLineString

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

-
-

2.1.5. Polygon

+
+

2.1.5. Polygon

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". Furthermore, each LineString in the coordinates array must be a LinearRing. For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

-
-

2.1.6. MultiPolygon

+
+

2.1.6. MultiPolygon

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

-
-

2.1.7 Geometry Collection

+
+

2.1.7 Geometry Collection

A GeoJSON object with type "GeometryCollection" is a geometry object which represents a collection of geometry objects.

A geometry collection must have a member with the name "geometries". The value @@ -453,8 +218,8 @@ GeoJSON geometry object.

GeoJSON geometry object.

-
-

2.2. Feature Objects

+
+

2.2. Feature Objects

A GeoJSON object with the type "Feature" is a feature object.

  • A feature object must have a member with the name "geometry". The value of @@ -466,8 +231,8 @@ included as a member of the feature obje included as a member of the feature object with the name "id".
-
-

2.3. Feature Collection Objects

+
+

2.3. Feature Collection Objects

A GeoJSON object with the type "FeatureCollection" is a feature collection object.

An object of type "FeatureCollection" must have a member with the name @@ -475,8 +240,8 @@ the array is a feature object as defined the array is a feature object as defined above.

-
-

3. Coordinate Reference System Objects

+
+

3. Coordinate Reference System Objects

The coordinate reference system (CRS) of a GeoJSON object is determined by its "crs" member (referred to as the CRS object below). If an object has no "crs" member, its parent object's "crs" member may be acquired. If no CRS can be so @@ -492,8 +257,8 @@ object.

  • The value of the properties member must be an object. This specification defines two types of CRS objects.
  • -
    -

    3.1. Named CRS

    +
    +

    3.1. Named CRS

    A CRS object may indicate a coordinate reference system by name. The value of its "properties" member must be an object containing a "name" member. The value of that "name" member must be a string identifying a coordinate reference @@ -508,12 +273,12 @@ preferred over legacy identifiers such a }

    -
    -

    3.2. Linked CRS

    +
    +

    3.2. Linked CRS

    A CRS object may link to CRS parameters on the Web. In this case the value of -its "properties" member must be a Link object (see 3.2.1. Link Objects).

    -
    -

    3.2.1. Link Objects

    +its "properties" member must be a Link object (see 3.2.1. Link Objects).

    +
    -
    -

    4. Bounding Boxes

    +
    +

    4. Bounding Boxes

    To include information on the coordinate range for geometries, features, or feature collections, a GeoJSON object may have a member named "bbox". The value of the bbox member should be a 2*n item array where n is the number of @@ -574,11 +339,11 @@ the spatial reference for the GeoJSON ob }

    -
    -

    Appendix. Contributors

    +
    +

    Appendix. Contributors

    The GeoJSON format specification is the product of discussion on the GeoJSON list:

    -

    http://lists.geojson.org/listinfo.cgi/geojson-geojson.org

    +

    http://lists.geojson.org/listinfo.cgi/geojson-geojson.org

    The following people contributed to draft versions of this document:

    • Steve Battey
    • @@ -591,5 +356,12 @@ list:

    + diff -r fb882d89996c geojson-draft-6.txt --- a/geojson-draft-6.txt Thu May 08 17:26:40 2008 -0600 +++ b/geojson-draft-6.txt Wed May 21 17:55:08 2008 -0600 @@ -86,8 +86,7 @@ 2. GeoJSON Objects ================== GeoJSON always consists of a single object. This object (referred to as the -GeoJSON object below) represents a geometry, feature, collection of geometries, -or collection of features. +GeoJSON object below) represents a geometry, feature, or collection of features. * The GeoJSON object may have any number of members (name/value pairs). @@ -96,8 +95,8 @@ or collection of features. * The value of the type member must be one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", - "GeometryCollection", "Feature", or "FeatureCollection". "type" must be lower - case, the case of the type member values must be as shown here. + "GeometryCollection", "Feature", or "FeatureCollection". The case of the type + member values must be as shown here. * A GeoJSON object may have an optional "crs" member, the value of which must be a coordinate reference system object (see `3. Coordinate Reference System diff -r fb882d89996c style.css --- a/style.css Thu May 08 17:26:40 2008 -0600 +++ b/style.css Wed May 21 17:55:08 2008 -0600 @@ -1,231 +1,101 @@ -/* css */ - body { - font: 90% 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; - background: #ffffff; - color: black; - margin: 2em; - padding: 2em; + font: 90% 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; + background: #ffffff; + color: black; + margin: 2em; + padding: 2em; } a[href] { - color: #436976; - background-color: transparent; + color: #436976; + background-color: transparent; } a.toc-backref { - text-decoration: none; + text-decoration: none; } h1 a[href] { - text-decoration: none; - color: #fcb100; - background-color: transparent; -} - -a.strong { - font-weight: bold; -} - -img { - margin: 0; - border: 0; + text-decoration: none; + color: #fcb100; + background-color: transparent; } p { - margin: 0.5em 0 1em 0; - line-height: 1.5em; + margin: 0.5em 0 1em 0; + line-height: 1.5em; } p a { - text-decoration: underline; + text-decoration: underline; } p a:visited { - color: purple; - background-color: transparent; + color: purple; + background-color: transparent; } p a:active { - color: red; - background-color: transparent; + color: red; + background-color: transparent; } a:hover { - text-decoration: none; -} -p img { - border: 0; - margin: 0; + text-decoration: none; } h1, h2, h3, h4, h5, h6 { - color: #003a6b; - background-color: transparent; - font: 100% 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; - margin: 0; - padding-top: 0.5em; + color: #003a6b; + background-color: transparent; + font: 100% 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; + margin: 0; + padding-top: 0.5em; } h1 { - font-size: 160%; - margin-bottom: 0.5em; - border-bottom: 1px solid #fcb100; + font-size: 160%; + margin-bottom: 0.5em; + border-bottom: 1px solid #fcb100; } h2 { - font-size: 140%; - margin-bottom: 0.5em; - border-bottom: 1px solid #aaa; + font-size: 140%; + margin-bottom: 0.5em; + border-bottom: 1px solid #aaa; } h3 { - font-size: 130%; - margin-bottom: 0.5em; - text-decoration: underline; + font-size: 130%; + margin-bottom: 0.5em; + text-decoration: underline; } h4 { - font-size: 110%; - font-weight: bold; + font-size: 110%; + font-weight: bold; } h5 { - font-size: 100%; - font-weight: bold; + font-size: 100%; + font-weight: bold; } h6 { - font-size: 80%; - font-weight: bold; + font-size: 80%; + font-weight: bold; } ul a, ol a { - text-decoration: underline; + text-decoration: underline; } -dt { - font-weight: bold; -} -dt a { - text-decoration: none; -} - -dd { - line-height: 1.5em; - margin-bottom: 1em; -} - -legend { - background: #ffffff; - padding: 0.5em; -} - -form { - margin: 0; -} - - -dl.form { - margin: 0; - padding: 1em; -} - -dl.form dt { - width: 30%; - float: left; - margin: 0; - padding: 0 0.5em 0.5em 0; - text-align: right; -} - -input { - font: 100% 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; - color: black; - background-color: white; - vertical-align: middle; -} - -abbr, acronym, .explain { - color: black; - background-color: transparent; -} - -q, blockquote { -} - -code, pre { - font-family: monospace; - font-size: 1.2em; - display: block; - padding: 10px; - border: 1px solid #838183; - background-color: #eee; - color: #000; - overflow: auto; - margin: 0.5em 1em; +pre { + font-family: monospace; + font-size: 1.2em; + display: block; + padding: 10px; + border: 1px solid #838183; + background-color: #eee; + color: #000; + overflow: auto; + margin: 0.5em 1em; } tt.docutils { - background-color: #eeeeee; + background-color: #eeeeee; } .docinfo { - text-align: left; -} - -div.highlight { - margin-left: 2em ; - margin-right: 2em ; - background-color: #eeeeee - } - -.c { color: #008800; font-style: italic } /* Comment */ -.err { border: 1px solid #FF0000 } /* Error */ -.k { color: #AA22FF; font-weight: bold } /* Keyword */ -.o { color: #666666 } /* Operator */ -.cm { color: #008800; font-style: italic } /* Comment.Multiline */ -.cp { color: #008800 } /* Comment.Preproc */ -.c1 { color: #008800; font-style: italic } /* Comment.Single */ -.gd { color: #A00000 } /* Generic.Deleted */ -.ge { font-style: italic } /* Generic.Emph */ -.gr { color: #FF0000 } /* Generic.Error */ -.gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.gi { color: #00A000 } /* Generic.Inserted */ -.go { color: #808080 } /* Generic.Output */ -.gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.gs { font-weight: bold } /* Generic.Strong */ -.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.gt { color: #0040D0 } /* Generic.Traceback */ -.kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */ -.kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */ -.kp { color: #AA22FF } /* Keyword.Pseudo */ -.kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */ -.kt { color: #AA22FF; font-weight: bold } /* Keyword.Type */ -.m { color: #666666 } /* Literal.Number */ -.s { color: #BB4444 } /* Literal.String */ -.na { color: #BB4444 } /* Name.Attribute */ -.nb { color: #AA22FF } /* Name.Builtin */ -.nc { color: #0000FF } /* Name.Class */ -.no { color: #880000 } /* Name.Constant */ -.nd { color: #AA22FF } /* Name.Decorator */ -.ni { color: #999999; font-weight: bold } /* Name.Entity */ -.ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.nf { color: #00A000 } /* Name.Function */ -.nl { color: #A0A000 } /* Name.Label */ -.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.nt { color: #008000; font-weight: bold } /* Name.Tag */ -.nv { color: #B8860B } /* Name.Variable */ -.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.mf { color: #666666 } /* Literal.Number.Float */ -.mh { color: #666666 } /* Literal.Number.Hex */ -.mi { color: #666666 } /* Literal.Number.Integer */ -.mo { color: #666666 } /* Literal.Number.Oct */ -.sb { color: #BB4444 } /* Literal.String.Backtick */ -.sc { color: #BB4444 } /* Literal.String.Char */ -.sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */ -.s2 { color: #BB4444 } /* Literal.String.Double */ -.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.sh { color: #BB4444 } /* Literal.String.Heredoc */ -.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.sx { color: #008000 } /* Literal.String.Other */ -.sr { color: #BB6688 } /* Literal.String.Regex */ -.s1 { color: #BB4444 } /* Literal.String.Single */ -.ss { color: #B8860B } /* Literal.String.Symbol */ -.bp { color: #AA22FF } /* Name.Builtin.Pseudo */ -.vc { color: #B8860B } /* Name.Variable.Class */ -.vg { color: #B8860B } /* Name.Variable.Global */ -.vi { color: #B8860B } /* Name.Variable.Instance */ -.il { color: #666666 } /* Literal.Number.Integer.Long */ - + text-align: left; +} \ No newline at end of file