[GeoJSON] Consequences of the GeoJSON 1.0 axis order policy
Adrian Custer
acuster at gmail.com
Mon Apr 15 08:19:42 PDT 2013
Hey all,
It seems that we are in overall agreement. My analysis was correct but
the issues raised are not of real-world significance to the users of
GeoJSON.
That is: GeoJSON has an unstated restriction on allowable CRSs due to
the axis order policy; however, that has little impact because the field
of use of the format means the only CRSs in common use are CRS84 (an
axis-flipped WGS84) and CRSGoogle (EPGS:3857).
So some possible *responses* to this situation (note, Howard, the last
list was to *resolve* the situation) are:
1) Shrug and do nothing
This is the easiest course of action for you.
This places little burden on the users of GeoJSON. They can
continue to presume CRS84 until the data looks wrong and then
add a check for the CRS to see if it is CRS84 or EPGS:3857.
Emitters of data should only use those two CRS.
This places the biggest burden on me. I have to (1) explain the
restriction of GeoJSON, (2) convince folk that my analysis is
correct, and (3) demonstrate the need at the OGC for something
else.
2) Shrug and add a comment
This requires some work on your part but perhaps only the
addition of a comment explaining the restriction to the main
page http://www.geojson.org (see the proposed text below).
The situation for users is as in (1).
The situation for me is much improved since I am not having to
invoke my credibility and forcing others to think. I could
merely point to your clarification statement.
3) Work to resolve the situation
This involves clarifying the standard, which sounds like is more
work than your group is willing/able to undertake. I talk about
this in my earlier mail:
http://lists.geojson.org/pipermail/geojson-geojson.org/2013-
April/000706.html
Since it is best *for me* if you all added a note on this CRS
restriction, I offer a proposal. This could be added to the geojson.org
home page without requiring a modification of the standard itself.
************************************************************************
A note on Coordinate Reference Systems in GeoJSON
-------------------------------------------------
GeoJSON only allows the use of coordinates in certain coordinate
reference systems (CRSs).
In actual practice, most GeoJSON files use positions defined as
latitude, longitude coordinates relative to an ellispoidal CRS based on
the WGS84 datum. This is the coordinate reference system used by the
Global Positioning System (GPS). Less frequently, GeoJSON positions are
defined as ????meters_easting????, ????meters_northing??? relative to a
Mercator projection of a spherical datum, a system popularized by Google
Maps.
The GeoJSON standard does allow any CRS whose coordinates are either
geographic values in latitude, longitude order or distance values in
easting, northing order. However, the use of CRS other than the two
mentioned above places additional complexity on the recipients of such
data; GeoJSON data using such CRSs impose on recipients the
responsibility of checking the CRS, recognizing its type and mapping to
the canonical order, and interpreting the data relative to that CRS.
GeoJSON, due to its policy on the expected order of ordinates in a
coordinate tuple (see Section 2.1.1) excludes the use any CRS whose axes
do not map in an unambiguous way to either latitude, longitude, or to
easting, northing.
************************************************************************
Also, if it were my standard, I would also offer the readers a canonical
example of each of the two CRS definitions in predominant use: CRS84
(which is done in section~3.1) and SphericalMercator (not done). The
latter would be useful. (Both could be worked into the comment above).
The irony is that this would have been a better strategy overall:
1) Make the axis order follow the CRS,
2) give users the two canonical CRS definitions they would most
likely want to use (CRS84 and EPSG:3857) both of which use
axes in useful order, and
3) allow advanced users to use other, more complex CRSs at the cost
of making their users recognize them.
However, as was said earlier in this thread, the time to adopt such a
policy was at the start of the GeoJSON standardization process.
ciao,
~adrian
More information about the GeoJSON
mailing list