[GeoJSON] AsJSON(geometry)

Chris Holmes cholmes at openplans.org
Mon Mar 19 12:23:26 PDT 2007



Sean Gillies wrote:
> Chris Holmes wrote:
>>  >>> I think that's needlessly fluffy. Once you know the typology,
>>  >>> you can deal with anonymous arrays-of-arrays perfectly well.
>>  >>
>>  >> I agree and prefer:
>>  >>
>>  >>     {"multipoint": "[[x00 y00], [x11 y11], ..., [xNN yNN]]"}
>>  >>
>>
>>  > This was my initial feeling too. But I've already got objects in hand
>>  > with point members on the Python side of my application, and I'd like 
>>  > an object or hash-oriented interface on the javascript side as well.
>>  > Why should I pack them into anonymous arrays just to unpack them 
>> again > at the other end?
>>
>> I'm a bit more on the object approach as well.  I think it's a bit more 
>> human readable, without really all that much fluff in the big picture.
>>
>> A very small multi-polygon ends up something like this:
>>
>> [[[[10,10][10,20][20,20][20,15][10,10]]][[[10,10][10,20][20,20][20,15][10,10]][[11,11][11,12][12,12][11,11]]]] 
>> (two polygons, one just exterior, one with an exterior and an interior)
>>
>> Also looking at OpenLayer's svn: 
>> http://svn.openlayers.org/trunk/openlayers/lib/OpenLayers/Geometry/
>>
>> there is a geometry object model, and I think it'd make sense to just 
>> dump in to something like that.
>>
>> I'm also +1 on rolling in geometryType and spatialCoordinates in to one.
>>
>> Chris
>>
> 
> My preference for
> 
>    {"type": "point", "value": [x1, x2, x3]}
> 
> over
> 
>    {"point": [x1, x2, x3]}
> 
> is that geometry handling code can switch() on the value of "type" for 
> the former. The latter looks more concise, but is less convenient to 
> handle, requiring if/else or try/catch. IMO, a good geo-JSON should be 
> ridiculously easy to use, even if it means being a bit fluffy.

That is a good reason, and I can support that.  But what would you think 
of having both in a 'geometry' object, instead of at the same level in a 
feature.

Like:

  { "id": "alesia",
       "title": "Alesia",
       "classname": "settlement",
       "geometry": {
	   "type": "point",
	   "value": [47.535, 4.478, 0.0]
       }
       "srs": "EPSG:4326",
     }

instead of

  { "id": "alesia",
       "title": "Alesia",
       "classname": "settlement",
       "geometryType": "point",
       "spatialCoordinates": [[47.535, 4.478, 0.0]],
       "srs": "EPSG:4326",
     }

?

Chris

> 
> Cheers,
> Sean
> 

-- 
Chris Holmes
The Open Planning Project
http://topp.openplans.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cholmes.vcf
Type: text/x-vcard
Size: 282 bytes
Desc: not available
URL: <http://lists.geojson.org/pipermail/geojson-geojson.org/attachments/20070319/25a4a3c0/attachment.vcf>


More information about the GeoJSON mailing list