Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-390

Additional description of use of GeoJSON in OData JSON.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CSD01
    • Fix Version/s: V4.0_CSD02
    • Component/s: JSON Format
    • Labels:
      None
    • Environment:

      [Applied]

    • Proposal:
      Hide

      In section 7.1, Primitive Value, replace the following sentence:
      "Geography and geometry values are represented as defined in [GeoJSON]."
      with:
      "Geography and geometry values are represented as defined in [GeoJSON], with the following modifications:
      -Keys SHOULD be ordered with type first, then coordinates, then any other keys
      -The 'coordinates' member of a 'LineString" can have zero or more positions
      -If the optional CRS object is present, it MUST be of type name where the value of the contained properties object name member is an EPSG SRID legacy identifier

      Accepted:https://www.oasis-open.org/committees/download.php/49212/odata-meeting-37_on-20130516-minutes.html#odata-390

      Show
      In section 7.1, Primitive Value, replace the following sentence: "Geography and geometry values are represented as defined in [GeoJSON] ." with: "Geography and geometry values are represented as defined in [GeoJSON] , with the following modifications: -Keys SHOULD be ordered with type first, then coordinates, then any other keys -The 'coordinates' member of a 'LineString" can have zero or more positions -If the optional CRS object is present, it MUST be of type name where the value of the contained properties object name member is an EPSG SRID legacy identifier Accepted: https://www.oasis-open.org/committees/download.php/49212/odata-meeting-37_on-20130516-minutes.html#odata-390
    • Resolution:
      Show
      https://www.oasis-open.org/committees/download.php/49274/odata-json-format-v4.0-wd02-2013-05-21.docx Accepted: https://www.oasis-open.org/committees/download.php/49557/odata-meeting-41_on-20130613_14-F2F-minutes.html#odata-390

      Description

      The following verbage from OData 3.0's description of the use of GeoJSON within an OData JSON payload is missing from our OData JSON 4.0 specification. I believe this was an accidental omission, and that it should be added:

      2.2.6.3.1.1 Modifications to GeoJSON for Use in OData
      Any GeoJSON value that is used in OData SHOULD order the keys with type first, then coordinates, then any other keys. This improves streaming parser performance when parsing values on open types or in other cases where metadata is not present.
      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.
      All other arrays in GeoJSON are allowed to be empty, so no change is necessary. GeoJSON does require that any LinearRing contain a minimum of four positions. That requirement still holds that LinearRings can show up only in other arrays and that those arrays can be empty.
      GeoJSON allows multiple types of CRS. In OData, only one of those types is allowed. In GeoJSON in OData, a CRS MUST be a Named CRS. In addition, OGC CRS URNs are not supported. The CRS identifier MUST be an EPSG SRID legacy identifier.

        Attachments

          Activity

            People

            • Assignee:
              mikep Michael Pizzo
              Reporter:
              mikep Michael Pizzo
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: