opengeospatial / ogcapi-styles

A Web API that enables map servers, clients as well as visual style editors, to manage and fetch styles.
https://ogcapi.ogc.org/styles
Other
10 stars 5 forks source link

Styles, Tiles: Metadata review #39

Closed cportele closed 2 years ago

cportele commented 3 years ago

There is significant overlap between the metadata for a style and for a tileset. At the same time, there are issues and differences that should be addressed. And then there are the core queryables from Records.

In addition, there are additional properties that are specific to the resource.

Additional comments on the tileset-specific extensions:

jerstlouis commented 3 years ago
ghobona commented 3 years ago

Day 3 of 2021-05 Sprint feedback

There is a lot of value in dropping 'accessConstraints' and going with 'license.'

Action: @joanma747 to review the metadata in OGC API - Common, - Maps , -Tiles and to brief on similarities/differences. We can then schedule a common call (multi-SWG) to discuss the findings.

We need to request feedback from Client implementors regarding whether to keep scaleDenominator, cellSize, tileMatrix elements. There are several benefits to keeping all of them.

Recommendation for ETS: If the server provides the scaleDenominator, cellSize, tileMatrix elements, there is value in the ETS checking if they are consistent to a significant number of digits (e.g. at least 12 digits).

joanma747 commented 3 years ago

about "keywords" I will only change this in json. The reason is that in UML I use Language string so I need to implement a 0.. of 0.. (the second one is because of the languages). The json encoding does not have this problem.

joanma747 commented 3 years ago

About:

Styles has "attributes" (the OpenAPI 3.0 schema for each attribute), Tiles has "propertiesSchema" (a subset of JSON Schema describing an object where each attribute is a property plus some extensions to JSON Schema like "observedProperty" or "uom"). Proposal: Use standard JSON Schema without restrictions.

I understand the value on JSON Schema without restrictions (actually I hate OpenAPI 3.0 for not having a fully compatible JSON schema) but that means that properties in propertiesSchema can be objects and object-of-object-objects. This makes the parsing on this far more sophisticated. Are you sure we want this?.

cportele commented 3 years ago

@joanma747 - The point is that we should not close the door for future use that goes beyond the suggested profile. The current proposal for a profile is also debatable (the same is the case for the queryables), we simply do not have enough experience to know what the sweet spot in terms of simplicity and expressiveness is. A recommendation is much easier to change in a revision once we have more experience without breaking changes, but it gives implementers on the server and client side guidance of what the should provide/expect. Does that make sense?

joanma747 commented 3 years ago

"abstract" vs "description". Proposal: use "description. See opengeospatial/ogcapi-code-sprint-2021-05#31.

Adopted in 2DTMS

"keywords": Styles uses strings, Tiles a more complex model. Note that Records uses strings for "keywords", too. For controlled vocabularies, "themes" is used. Proposal: restrict "keywords" to strings.

Adopted in 2DTMS

Styles and Tiles use "accessConstraints" with a fixed list from the intelligence domain. At the same time more generally useful information like "license" is missing. Proposal: add "license" and drop "accessConstraints" (I think this does not belong into Core and communities that need it can always add it).

License added 2DTMS. Waiting for confirmation to remove "accessConstraints"

Styles has various dates in "dates", Tiles in "date". Records only has "created" and "updated", but not embedded in a data type. Proposal: Follow the approach from Records. It is not clear to me where "validTill" or "receivedOn" are really useful for a style or tileset.

Adopted in 2DTMS. Now we only have "created" and "updated",

"abstract" vs "description". Proposal: use "description. See opengeospatial/ogcapi-code-sprint-2021-05#31.

Adopted in 2DTMS

cportele commented 3 years ago

There is also a PR to update OGC API Styles: https://github.com/opengeospatial/ogcapi-styles/pull/29

ghobona commented 2 years ago

@cportele Since OGC API Styles has been updated through PR https://github.com/opengeospatial/ogcapi-styles/pull/29, shall we close this GitHub Issue?

Cc: @joanma747 @jerstlouis

cportele commented 2 years ago

@ghobona - Yes, I think we can.

ghobona commented 2 years ago

Done, thanks.