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

Geospatial tiling description in Hydra #171

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

Geospatial tiling description in Hydra #171

pietercolpaert opened this issue Nov 21, 2018 · 3 comments

Comments

@pietercolpaert
Copy link

@pietercolpaert 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
Copy link
Contributor

@rubensworks 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
Copy link
Contributor

@RubenVerborgh RubenVerborgh commented Nov 21, 2018

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

@pietercolpaert
Copy link
Author

@pietercolpaert 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
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants