opengeospatial / 2D-Tile-Matrix-Set

OGC 2D Tile Matrix Set & TileSet Metadata standard
https://www.ogc.org/standards/tms
Apache License 2.0
8 stars 10 forks source link

(Variable Width) Clarify canonical and alias tiles in Section 6.1.5 #88

Open jerstlouis opened 1 year ago

jerstlouis commented 1 year ago

The following is included in normative Section 6.1.5:

Even if tiles can coalesce, this does not change the indexing or the tile matrix set that will be the same as if no coalescence has been applied. For example, if the c coefficient is 4, the tileCol of the first tile will be 0, the tileCol of the second tile will be 4, the tileCol of the third tile will be 8 and so on. In other words, and for the same example, tileCol 0, 1, 2 and 3 points to the same tile.

The spec says they are the same tile. It might be good to clarify that the first one (((int)(col / c)) * c) should be the one that clients look for, and that servers SHOULD redirect to the first one, but MAY return a 4xx for the non-canonical tile.

e.g., for GNOSIS Global Grid, the northernmost tiles always have a column index which is a power of two (2 ^ level) multiplied by 0, 1, 2 or 3.

Feedback from @vincentsarago (https://github.com/developmentseed/morecantile/issues/115)

vincentsarago commented 1 year ago

Side note: maybe it would be good to have the coalescence factor present in the tileset metadata (tilematrixsetlimits) (https://docs.ogc.org/is/17-083r4/17-083r4.html#table12), IMO, the client should have a way to easily construct a list of valid tiles using the tileset metadata.

jerstlouis commented 1 year ago

@vincentsarago but the coalescence factor varies between rows of each tile matrix, there is only one minimum / maximum column for every matrix (level) in the limits of the tileset metadata

vincentsarago commented 1 year ago

🤦 that's true. So the Client application cannot know not to call a tile without implementing the TileMatrixSet 👍 !