[GeoJSON] Point as list of one point, or list of coords

Allan Doyle adoyle at eogeo.org
Sat Apr 14 05:17:38 PDT 2007


On Apr 14, 2007, at 05:10, Martin Daly wrote:

> > Having batted this around on IRC, I think what we can do is this
> >
> > (a) any consumer or producer is free to implement any subset of  
> the spec
>
> How would an all-powerful consumer request the Complete profile,  
> and vice-versa?  We are in danger of creeping into interface  
> definitions, instead of object notation.

The all-powerful consumer simply consumes what she understands. If  
the consumer only knows points and is offered polygons, the consumer  
may ignore them. How can you enforce what a consumer takes, even if  
he claims to know everything?

>
> > (c) we define at least two "packages" of conformance:
>
> There is some discussion in the OGC Architecture Board about  
> metamodels for specs, specifically core+extensions versus base 
> +profiles.  The former defines the minimum content, and extensions  
> build on it.  The latter attempts to describe the entire problem/ 
> world, and then restricts it (think GML and GML simple feature  
> profile).
>
> I would like to see GeoJSON as a core+extensions, rather than a base 
> +profiles.  How about RFC-001 becoming just Points, then adding  
> LineString, Polygon (with holes, I think) and Box as RFC-002, then  
> multis (all flavours) as RFC-003, then multiple geometries per  
> feature as RFC-004, then... you get the picture.
>
> (GeoRSS is different here, with two separate geometry encodings  
> that are largely unrelated.)
>
> That still leaves the "how does a consumer request some specific  
> subset?" question open, of course.  There is also the problem of a  
> consumer detecting what it has in its hand from a producer.  GML  
> etc. have the "advantage" of XML Schema and namespaces, but JSON  
> doesn't.  I don't have an answer for that either.

I think it's needlessly complex to try to set up a protocol for  
accept/offer when all we want is a fairly simple format. People who  
want a protocol can use a different spec.

Think of the web as it stands. Browsers claim to implement all the  
latest and greatest stuff. Yet people shut off javascript, they block  
popups, they refuse third-party cookies. Has the web melted down?  
Quite the opposite.

Don't use the words metamodel, profile, or extension in a spec that  
should be only one page long. Just tell people, if you want to only  
use Points in your app, go for it. If you think your app might be  
faced with Polygons some day and you want to be a good citizen, maybe  
warn people when you throw them out. But if we say "you must  
implement x, y, and z" and people only want x, in a spec this simple,  
what would be easier? Inventing your own or using x,y, and z?

Be liberal in what you accept, worse is better, go Red Sox.

	Allan

-- 
Allan Doyle
+1.781.433.2695
adoyle at eogeo.org






More information about the GeoJSON mailing list