[GeoJSON] Aligning implementations
adoyle at eogeo.org
Wed Apr 11 05:43:38 PDT 2007
For those of you who don't visit the RFC-001 page, let me add that I
basically codified Sean's PCL stuff that's at http://
The nice thing is that he's already got an implementation.
On Apr 11, 2007, at 08:22, Allan Doyle wrote:
> I've posted my proposal as http://wiki.geojson.org/RFC-001
> I agree that for feature editing, this might be too limiting, but
> Sean's example at http://zcologia.com/news/430/feature-demo/ shows
> that even this level can be edited.
> I think the issue really boils down to which community you want to be
> a part of. If you want to be part of the "completely general,
> editable feature via auto-generated web forms" community, then you
> need to follow the path of #5 in http://wiki.geojson.org/RFC-001
> which is the moral equivalent of "vendor specific parameters" in WMS.
> If you define a bunch of stuff there, the people who don't have the
> desire to parse it all can still have the geometries.
> On Apr 11, 2007, at 08:03, Arnaud Diederen wrote:
>> You're talking adoption curve and indeed simplicity is fundamental
>> in that regard.
>> Computing an envelope around a geometry is pretty easy so, yes, a
>> single 'geometry' key/value in the toplevel object representing a
>> feature is enough to pan a map to that feature, or zoom to it's
>> But what is the extent of that binding discussed here? If that's
>> actually feature editing, I'm just saying I'm afraid this approach
>> seems to me a tad too limitating.
>> Best regards,
>> PS: We don't need no "JSON schema definition language"; you'd just
>> fetch a flat array, holding info about the properties and their
>> types from the WFS, that's all :)
>> From: geojson-bounces at lists.geojson.org on behalf of Allan Doyle
>> Sent: Wed 4/11/2007 1:45 PM
>> To: geojson at lists.geojson.org
>> Subject: Re: [GeoJSON] Aligning implementations
>> My concern with going the WFS route is the same as my concern with
>> the GeoRSS GML route. It might be flexible but it's not going to
>> catch on very fast. Imagine the iPod. Now imagine the Zune. Which
>> adoption curve do we want for GeoJSON?
>> First of all, I don't think there is a "schema definition language"
>> for JSON. That means that you really have to either keep things
>> simple enough to describe the text itself, or you have to pick a
>> leading candidate for that but there's also not much schema support
>> there either. In this case, I consider that a good thing.
>> I would propose the following:
>> 0. The terms object, name, value, array, and number are defined at
>> The terms may, should, and must are defined at http://
>> 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.
>> 'srs' - an optional string specifying a spatial reference
>> system of
>> the coordinates.
>> If not present, WGS84 is implied and coordinates
>> decimal degrees ordered as "longitude, latitude
>> [,elevation]" and
>> z is expressed as meters above mean sea level per WGS84.
>> If present, the value of srs is to be interpreted as in
>> EPSG tables and the values of the coordinates are to be
>> 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,
>> 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.
>> On Apr 11, 2007, at 04:28, Arnaud Diederen wrote:
>>> Hello Tim,
>>> I'm talking about 'feature type information', pretty much like that
>>> described by a DescribeFeatureType request.
>>> ...only simpler! :)
>>> It might seem overkill to have to support that, and indeed in first
>>> the clients I built I didn't need that information.
>>> Then quite quickly I started to need a bit of extra information:
>>> Then I implemented a 'DescribeFeatureType-like' request, that
>>> returns a _flat_ representation of the feature type (i.e., no XSD-
>>> like hierarchy, but rather a set of 'property descriptors', each
>>> describing the type of the property, among other things)
>>> That information was necessary to (among many other things) propose
>>> the appropriate 'property editors' to the users:
>>> * A short <input> field for numbers
>>> * A long <input> field for strings
>>> * A calendar for dates
>>> * A 'child' editing panel for embedded features
>>> * ...
>>> To do so, we implemented a preliminary 'json output' to the WFS.
>>> From that past experience, we wrote a draft proposal for a real
>>> json output to the WFS, to which I encourage you to have a look:
>>> That document that Bernard (*) has written is based on what we had
>>> to develop for a complex project.
>>> Chris Holmes answered to this thread that he'd like to keep the
>>> features as simple as possible. While I'm all for simplicity
>>> (really), I have to say I'm concerned about the extensibility of
>>> the feature representation as it is described in this thread; I'm
>>> thinking (off the top of my head)
>>> * namespaces support.
>>> * coherence with the WFS spec
>>> * ability to hint the client about some aspects of a feature
>>> Best regards,
>>> (*) While we work at the same company, we're not simply pushing our
>>> existing stuff forward: That stuff he describes in his document is
>>> actually *not* existing yet. It's based on experience from a
>>> complex project, and is a synthesis of what we did right and how to
>>> do better what we did wrong.
>>> From: geojson-bounces at lists.geojson.org on behalf of Tim Schaub
>>> Sent: Wed 4/11/2007 10:06 AM
>>> To: geojson at lists.geojson.org
>>> Subject: Re: [GeoJSON] Aligning implementations
>>> Arnaud Diederen wrote:
>>>> Hello everyone,
>>>> since I've been reading this thread, I've seen nowhere that a
>>>> would make use of feature type information; hence the necessity
>>> to have
>>>> the toplevel 'geometry' property, or the toplevel 'default_geom'
>>>> property to access the corresponding property in the object.
>>>> Since I'm pretty new to this list, maybe I missed something,
>>> but.. why
>>>> does nobody take feature type information into consideration?
>>>> I strongly believe a sufficiently advanced feature inspecting/
>>>> client will *require* that information.
>>> Do you mean geometry.type, or some other type? In the structures
>>> been tossing around, geometry.type is one of 'point', 'linestring',
>>> 'polygon', etc. (or their CamelCased equivalents).
>>> geojson mailing list
>>> geojson at lists.geojson.org
>>> geojson mailing list
>>> geojson at lists.geojson.org
>> Allan Doyle
>> adoyle at eogeo.org
>> geojson mailing list
>> geojson at lists.geojson.org
> Allan Doyle
> adoyle at eogeo.org
> geojson mailing list
> geojson at lists.geojson.org
adoyle at eogeo.org
More information about the GeoJSON