Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new Collection Description properties #338

Open
jerstlouis opened this issue Mar 14, 2024 · 7 comments
Open

Add new Collection Description properties #338

jerstlouis opened this issue Mar 14, 2024 · 7 comments
Labels
main issue Part 2 Issues to be resolved prior to TC vote

Comments

@jerstlouis
Copy link
Member

jerstlouis commented Mar 14, 2024

Possibly add (optional) properties to the collection schema properties that are already defined elsewhere (e.g., in OGC API - Features - Part 2: CRS, OGC API - Maps, OGC API - Tiles):

  • storageCrs
  • clarify the meaning of the crs property (list of available CRS -- it already appear in a schema fragment, but without any explanation anywhere)
  • geometryDimension
  • minScaleDenominator
  • maxScaleDenominator
  • minCellSize
  • maxCellSize
  • dataType
  • geoDataClasses
@joanma747 joanma747 added Part 2 Issues to be resolved prior to TC vote main issue labels Mar 14, 2024
@chris-little
Copy link
Contributor

Some of the proposed properties are clearly common to many, if not all, APIs. However:
minScaleDenominator, maxScaleDenominator, minCellSize, maxCellSize
seem to be specific to maps and gridded coverages and therefore should be defined in those standards, not an API- Common Part.

@jerstlouis
Copy link
Member Author

jerstlouis commented Apr 24, 2024

@chris-little

The rationale behind including these properties in the schema of Common is that:

Although it is less obvious / more controversial, these specific properties are meaningful for non-gridded data, including vector features, 3D buildings, point clouds, and just about any other dataset.

In CDB, we have the concept of significant size, which applies to vector features, 3D meshes and imagery alike.

In 2DTMS, each tile matrix has a specific resolution that corresponds to both a specific scaleDenominator as well as a cellSize.
2D Tile Matrix Sets can be used to organize multi-resolution data of all kinds (vector features, gridded and non-gridded coverages including point clouds, 3D meshes, and so on...).

So although some might find it a bit of a stretch, these properties are an indication of the resolution of the data i.e., how closely you can look at the data and still see something meaningful, regardless of the data type. They are a very Common concept, and a core one at that.

Whether discovering or requesting data, the resolution is a key aspect. Global data at 1:10,000,000 / 2500 m resolution data is intended for completely different use cases than super high-resolution data at 1:30 / 1 cm. These properties provide an easy way to obtain this information.

@chris-little
Copy link
Contributor

@jerstlouis I think using ...cellSize and ...scaleDenominator to denote more general concepts of resolution or Level of Detail is confusing for non-geospatial developers and creating future legacy problems. And as they are very specifically named, reserving them to prevent potential future clashes and conflicts is a weak argument.

@chris-little
Copy link
Contributor

On a more positive note, dataType is potentially very useful in a wide range of API scenarios. We suggest that it is declared not as a string but as an object, so that there could be a link to a formal definition or Building Block. E.g. a datatype of Float32 could actually point to the IEEE754 definition, or some other if it is archived data from an IBM mainframe.
An object would also enable the useful declaration of vectors rather than scalars, such as wind velocity (=speed and direction, or u and v components of speed) or a 3D stress tensor with 9 components.

@jerstlouis
Copy link
Member Author

jerstlouis commented Jul 8, 2024

@chris-little regarding your interpretation of dataType, the description of the vector components etc. would rather be found in the logical schema that would be defined at /collections/{collectionId}/schema in the Schema requirement class (which follows Features - Part 5), which also corresponds more or less to the "Parameter Names" in EDR, or the "RangeType" in CIS.

Here dataType is more of a high-level kind of data you're dealing with in the form an (extensible) enumeration.
So far the values are:

  • map (ready to be visualized (A)RGB images
  • vector
  • coverage
  • pointCloud
  • mesh

See also Table 13 in 2DTMS & Tileset metadata and Figure 13 above where all this was initially introduced.

@chris-little
Copy link
Contributor

Thank you @jerstlouis for the explanation. So it is more of a Discovery Metadata description, especially considering the semantic overlap of map / coverage / mesh. And PointCloud and Vector !

@jerstlouis
Copy link
Member Author

@chris-little Yes, it probably actually is possible to offer the same collection as a map, a coverage, a 3D mesh, a point cloud and features all at once through different access mechanisms (OGC API - Maps, Coverages, EDR, 3D GeoVolumes, Features...).

jerstlouis added a commit to jerstlouis/ogcapi-common that referenced this issue Sep 24, 2024
- This closes opengeospatial#301 and opengeospatial#338
- The following core record properties from Records were added:
  - keywords (also in 2DTMS & Tileset metadata model)
  - license (addresses opengeospatial#301; also in 2DTMS&TSMD)
  - resourceLanguages (also in 2DTMS&TSMD as simple strings)
  - formats (corresponding to mediaType in 2DTMS&TSMD as simple strings)
  - contacts (corresponding to pointOfContact in 2DTMS&TSMD as simple strings)
  - themes (also in 2DTMS&TSMD as simple strings)
  - rights
- The following properties were added from 2DTMS & TSMD:
  - epoch (of the native CRS)
  - geoDataClasses
  - created
  - updated
  - accessConstraints
  - publisher
- The other properties mentioned in opengeospatial#338 were already there.
jerstlouis added a commit to jerstlouis/ogcapi-common that referenced this issue Sep 24, 2024
- This closes opengeospatial#301 and opengeospatial#338
- The following core record properties from Records were added:
  - keywords (also in 2DTMS & Tileset metadata model)
  - license (addresses opengeospatial#301; also in 2DTMS&TSMD)
  - resourceLanguages (also in 2DTMS&TSMD as simple strings)
  - formats (corresponding to mediaType in 2DTMS&TSMD as simple strings)
  - contacts (corresponding to pointOfContact in 2DTMS&TSMD as simple strings)
  - themes (also in 2DTMS&TSMD as simple strings)
  - rights
- The following properties were added from 2DTMS & TSMD:
  - epoch (of the native CRS)
  - geoDataClasses
  - created
  - updated
  - accessConstraints
  - publisher
- The other properties mentioned in opengeospatial#338 were already there.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
main issue Part 2 Issues to be resolved prior to TC vote
Projects
Development

No branches or pull requests

3 participants