opengeospatial / opengeospatial/CRS-JSON-Encoding

Discussion of "axis"

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
0
Forks
2
Avg merge
1h 36m
Merged PRs (30d)
3

Description

NOTE: Markdown does not support highlighting in color, so bold/italic has been used to highlight the material being discussed. This issue is extracted from the document submitted by Roger Lott at https://github.com/opengeospatial/CRS-JSON-Encoding/blob/main/ProjJson%20v0-7%20RL%202024-06-16.docx for discussion at the CRS SWG meeting OGC held during the Montreal June 2024 TC meeting.

"axis": {
  "type": "object",
  "properties": {
    "$schema" : { "type": "string" },
    "type": { "type": "string", "enum": ["Axis"] },
    "name": { "type": "string" },
    "abbreviation": { "type": "string" },
    "direction": { "type": "string",
                   "enum": [ "north",
                             "northNorthEast",
                             "northEast",
                             "eastNorthEast",
                             "east",
                             "eastSouthEast",
                             "southEast",
                             "southSouthEast",
                             "south",
                             "southSouthWest",
                             "southWest",
                             "westSouthWest",
                             "west",
                             "westNorthWest",
                             "northWest",
                             "northNorthWest",
                             "up",
                             "down",
                             "geocentricX",
                             "geocentricY",
                             "geocentricZ",
                             "columnPositive",
                             "columnNegative",
                             "rowPositive",
                             "rowNegative",
                             "displayRight",
                             "displayLeft",
                             "displayUp",
                             "displayDown",
                             "forward",
                             "aft",
                             "port",
                             "starboard",
                             "clockwise",
                             "counterClockwise",
                             "towards",
                             "awayFrom",
                             "future",
                             "past",
                             "unspecified" ] },
    "meridian": { "$ref": "#/definitions/meridian" },

"bearing": { "$ref": "#/definitions/bearing" },

    "unit": { "$ref": "#/definitions/unit" },
    "minimum_value": { "type": "number" },
    "maximum_value": { "type": "number" },
    "range_meaning": { "type": "string", "enum": [ "exact", "wraparound"] },
    "id": { "$ref": "#/definitions/id" },
    "ids": { "$ref": "#/definitions/ids" }
  },

"required" : [ "name", "abbreviation"*, "direction" ],

  "allOf": [
    { "$ref": "#/definitions/id_ids_mutually_exclusive" }
  ],
  "additionalProperties": false
},

"$comment": "[RL] For most subtypes of CS (ordinal and temporalDateTime excepted) 19111/Topic 2 (and WKT2) has constraints requiring the axis to have units. Not clear that the above includes these constraints and the exceptions."
"$comment": "[RL] meridian is an attribute in WKT2 not found in 19111/Topic2 ..."
"$comment": "... WKT2 has a bearing attribute applied to the clockwise and counterClockwise direction values in polar CSs. (also not found in 19111/Topic 2)."
"$comment": "[RL] 19111 Topic 2 and WKT2 have constraints on axis names and abbreviations covered further in comments under the CS subtype schema holding places inserted below. Some prohibit both of axis name and axis abbreviation."

The actual definition of the missing "bearing" attribute has been added as a separate issue "Adding definition of bearing" to allow concise comments on bearing definition.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the proposed axis schema in the linked ProjJson v0-7 RL 2024-06-16.docx and compare its bearing, required fields, units, meridian, and naming constraints with 19111/Topic 2 and WKT2. Resolve the CRS SWG discussion and reflect the decisions in the axis definition; bearing itself is tracked in the separate "Adding definition of bearing" issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.