[GeoJSON] LineString with length zero (in a certain precision regime)
Stefan Drees
stefan at drees.name
Wed May 15 04:53:41 PDT 2013
Dear all,
from a current discussion
(https://tools.oasis-open.org/issues/browse/ODATA-390) in the open data
context, where GeoJSON has been referred to/included in since at least
version 3 (odata.org community produced v3, now version 4 being
developed at oasis-open.org) a question or two arose for me.
I simply do not know, what lead the members of this mailing list
(historically) as authors to the conclusion, that a GeoJSON LineString
MUST have at least two positions in it's coordinates array. I am not
opposed to it, I would just like to understand the reasoning behind it.
"""For type "LineString", the "coordinates" member must be an array of
two or more positions."""
On paper that is easy reading, a line must have at least two points, check.
As a physicist and programmer alike, I can well imagine noting a line
with length zero (in a certain precision scheme) with only one point
given, instead of doubling the point and risking errors in length
computations after casting to the final type by the consuming script,
but maybe the members of this community have much better examples or
counter examples at hand ?
So if I have a line from say [1.023456, 0.987633] with length zero,
to represent it, do I really have to state:
// A)
{
"type": "LineString",
"coordinates": [
[1.023456, 0.987633],
[1.023456, 0.987633]
]
}
or would it suffice to note:
// B)
{
"type": "LineString",
"coordinates": [
[1.023456, 0.987633]
]
}
Meanwhile I am still waiting for real life examples of claimed "valid
geospatial values" to show up, that historically lead to the following
wording in odata v3:
"""The GeoJSON [GeoJSON] standard requires that LineString contains a
minimum number of Positions in its coordinates collection. This prevents
serializing certain valid geospatial values. Therefore, in the GeoJSON
requirement "For type 'LineString', the 'coordinates' member must be an
array of two or more positions" is replaced with the requirement "For
type 'LineString', the 'coordinates' member must be an array of
positions" when used in OData. """ [from 2.2.6.3.1.1 "Modifications to
GeoJSON for Use in OData" in the old community standard v3 for odata]
What do the others think (or find in the historic mailboxes to maintain
the spirit of GeoJSON) Should we also allow inside the GeoJSON RFC
variant B) or remain with enforcing A) in the above given context?
All the best,
Stefan.
More information about the GeoJSON
mailing list