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

Geospatial tiling description in Hydra #171

Closed
pietercolpaert opened this Issue Nov 21, 2018 · 3 comments

Comments

Projects
None yet
3 participants
@pietercolpaert
Copy link

pietercolpaert commented Nov 21, 2018

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?

@rubensworks

This comment has been minimized.

Copy link

rubensworks commented Nov 21, 2018

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.

@RubenVerborgh

This comment has been minimized.

Copy link
Contributor

RubenVerborgh commented Nov 21, 2018

What do we mean to indicate by hydra:manages <http://www.wikidata.org/entity/Q34442>?

@pietercolpaert

This comment has been minimized.

Copy link

pietercolpaert commented Nov 21, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment