Geospatial tiling description in Hydra
pietercolpaert opened this issue · 3 comments
Geospatial tiling in e.g., OpenStreetMap works according to a formula. When you open a map, and you want to know which tiles you have to show, you have to use a formula (https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#ECMAScript_(JavaScript/ActionScript,_etc.)) to calculate which tiles you need, and fill out the description of these tiles in a URI template as follows:
https://c.tile.openstreetmap.org/{z}/{x}/{y}.png
which results in a URL like https://c.tile.openstreetmap.org/15/16722/10964.png
I think this tiling strategy is pretty powerful, and want to be able to express this in my Linked Data documents as a hypermedia form.
My current suggestion to describe this would be as follows:
<https://tiles.openplanner.team/planet> a hydra:Collection ;
hydra:search [
hydra:template "https://c.tile.openstreetmap.org/{z}/{x}/{y}.examplejsonld";
hydra:variableRepresentation hydra:BasicRepresentation;
hydra:mapping [
a hydra:IriTemplateMapping;
hydra:variable "x";
hydra:property tiles:longitudeTile ;
hydra:required true .
],[
a hydra:IriTemplateMapping;
hydra:variable "y";
hydra:property tiles:latitudeTile ;
hydra:required true .
],[
a hydra:IriTemplateMapping;
hydra:variable "z";
hydra:property tiles:zoomTile ;
hydra:required true .
] ;
dcterms:hasPart <this_page> .
Currently this introduces 3 new properties: tiles:longitudeTile, tiles:latitudeTile, and tiles:zoomTile. Do you think adding these semantics within the Hydra spec makes sense, or should I add these elsewhere?
This seems like a good use of Hydra.
However, I would not add tiles:longitudeTile, tiles:latitudeTile, and tiles:zoomTile to Hydra itself, I would definitely create a separate vocab (+spec?) for this. Hydra could refer to this as a good example though.
What do we mean to indicate by hydra:manages <http://www.wikidata.org/entity/Q34442>
?
What do we mean to indicate by
hydra:manages <http://www.wikidata.org/entity/Q34442>
?
I removed that from my proposal above now. It was a gimmick to say that the types of the things in this collection were of the type Roads. I’m working on a JSON-LD tiling mechanism to describe roads.