{"action":"created","issue":{"url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20","repository_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system","labels_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20/comments","events_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20/events","html_url":"https://github.com/sharedstreets/sharedstreets-ref-system/issues/20","id":308166516,"number":20,"title":"A plan for future-proof tile URLs","user":{"login":"migurski","id":58730,"avatar_url":"https://avatars0.githubusercontent.com/u/58730?v=4","gravatar_id":"","url":"https://api.github.com/users/migurski","html_url":"https://github.com/migurski","followers_url":"https://api.github.com/users/migurski/followers","following_url":"https://api.github.com/users/migurski/following{/other_user}","gists_url":"https://api.github.com/users/migurski/gists{/gist_id}","starred_url":"https://api.github.com/users/migurski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migurski/subscriptions","organizations_url":"https://api.github.com/users/migurski/orgs","repos_url":"https://api.github.com/users/migurski/repos","events_url":"https://api.github.com/users/migurski/events{/privacy}","received_events_url":"https://api.github.com/users/migurski/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-03-23T20:19:05Z","updated_at":"2018-04-02T17:05:17Z","closed_at":null,"author_association":"NONE","body":"We are starting to see versioned/dated URLs in https://github.com/sharedstreets/sharedstreets-builder/issues/10#issuecomment-374067708. @kpwebb and I talked by phone to see if there was a sensible URL structure that SharedStreets could commit to for tiles going forward. It would provide immutability so that tile consumers could be reassured of stable identifiers, links to the source OpenStreetMap data so OSM IDs could be unambiguously referenced, and an index format so that clients could choose when to move forward. As with [OSM Planet](http://planet.openstreetmap.org/), `latest` would be a special date to indicate the newest copy of the data.\r\n\r\nHere’s what a sample JSON index [with URI templates](https://tools.ietf.org/html/rfc6570) might look like:\r\n\r\n```\r\n[\r\n  {\r\n    \"url_template\": \"https://tiles.sharedstreets.io/planet-latest/{z}-{x}-{y}.{layer}.pbf\",\r\n    \"planet_url\": \"http://planet.openstreetmap.org/pbf/planet-180319.osm.pbf\",\r\n    \"planet_date\": \"latest\",\r\n    \"version\": \"0.2.0\"\r\n  },\r\n  {\r\n    \"url_template\": \"https://tiles.sharedstreets.io/planet-180319/{z}-{x}-{y}.{layer}.pbf\",\r\n    \"planet_url\": \"http://planet.openstreetmap.org/pbf/planet-180319.osm.pbf\",\r\n    \"planet_date\": \"2018-03-19\",\r\n    \"version\": \"0.2.0\"\r\n  },\r\n  {\r\n    \"url_template\": \"https://tiles.sharedstreets.io/planet-180312/{z}-{x}-{y}.{layer}.pbf\",\r\n    \"planet_url\": \"http://planet.openstreetmap.org/pbf/planet-180312.osm.pbf\",\r\n    \"planet_date\": \"2018-03-12\",\r\n    \"version\": \"0.1.0\"\r\n  }\r\n]\r\n```\r\n\r\nWe also talked a bit about different build levels for tiles based on road class. Right now, the SharedStreets tiles include all roads down to small service alleys and parking lots. A tile URL might include a minimum road class to slice the data:\r\n\r\n- All roads: `https://tiles.sharedstreets.io/planet-latest/{z}-{x}-{y}.{layer}.pbf`\r\n- Roads at and above a specific class: `https://tiles.sharedstreets.io/planet-latest/{z}-{x}-{y}.{layer}.{roadClass}.pbf`\r\n    - Residential streets and larger: `https://tiles.sharedstreets.io/planet-latest/{z}-{x}-{y}.{layer}.6.pbf`\r\n    - …\r\n    - Motorways only: `https://tiles.sharedstreets.io/planet-latest/{z}-{x}-{y}.{layer}.0.pbf`\r\n\r\nFeedback on this proposal welcome!\r\n\r\n/cc @hassoncs"},"comment":{"url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/comments/377980013","html_url":"https://github.com/sharedstreets/sharedstreets-ref-system/issues/20#issuecomment-377980013","issue_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20","id":377980013,"user":{"login":"migurski","id":58730,"avatar_url":"https://avatars0.githubusercontent.com/u/58730?v=4","gravatar_id":"","url":"https://api.github.com/users/migurski","html_url":"https://github.com/migurski","followers_url":"https://api.github.com/users/migurski/followers","following_url":"https://api.github.com/users/migurski/following{/other_user}","gists_url":"https://api.github.com/users/migurski/gists{/gist_id}","starred_url":"https://api.github.com/users/migurski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migurski/subscriptions","organizations_url":"https://api.github.com/users/migurski/orgs","repos_url":"https://api.github.com/users/migurski/repos","events_url":"https://api.github.com/users/migurski/events{/privacy}","received_events_url":"https://api.github.com/users/migurski/received_events","type":"User","site_admin":false},"created_at":"2018-04-02T17:05:17Z","updated_at":"2018-04-02T17:05:17Z","author_association":"NONE","body":"`{layer}` comes directly from the current tile URLs with one of the four possible tile name extensions: “reference“, “intersection”, “geometry“, and “metadata”.\r\n\r\nThe way I was imagining classification, it would happen prior to conversion from OSM via a filter. In the example above, there might be a tile level with the `highway=primary` included, and the `highway=secondary` excluded. That might lead to a missed intersection, which I’m unsure is important. It’s one of the many cases where some graph awareness is necessary to merge different SharedStreets data sources together."}}
{"actor":{"display_login":"migurski"}}