{"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":3,"created_at":"2018-03-23T20:19:05Z","updated_at":"2018-03-31T04:39:42Z","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/377665569","html_url":"https://github.com/sharedstreets/sharedstreets-ref-system/issues/20#issuecomment-377665569","issue_url":"https://api.github.com/repos/sharedstreets/sharedstreets-ref-system/issues/20","id":377665569,"user":{"login":"DenisCarriere","id":550895,"avatar_url":"https://avatars3.githubusercontent.com/u/550895?v=4","gravatar_id":"","url":"https://api.github.com/users/DenisCarriere","html_url":"https://github.com/DenisCarriere","followers_url":"https://api.github.com/users/DenisCarriere/followers","following_url":"https://api.github.com/users/DenisCarriere/following{/other_user}","gists_url":"https://api.github.com/users/DenisCarriere/gists{/gist_id}","starred_url":"https://api.github.com/users/DenisCarriere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DenisCarriere/subscriptions","organizations_url":"https://api.github.com/users/DenisCarriere/orgs","repos_url":"https://api.github.com/users/DenisCarriere/repos","events_url":"https://api.github.com/users/DenisCarriere/events{/privacy}","received_events_url":"https://api.github.com/users/DenisCarriere/received_events","type":"User","site_admin":false},"created_at":"2018-03-31T04:39:42Z","updated_at":"2018-03-31T04:39:42Z","author_association":"OWNER","body":"👍 I like including `{source}` to easily expand to other data sources.\r\n\r\nI'm thinking maybe the `{roadClass}` might a bit too much customization, that's going to be a lot of maintenance to host new datasets if we also have support an additional 6+ road classes pbf datasets.\r\n\r\nI'd stick with the essentials at first, and if we see the need to include `{roadClass}` because the file sizes are getting too big, then we can include it later on.\r\n\r\n**URL Template**\r\n```\r\nhttps://tiles.sharedstreets.io/{source}/{tileset-version}/{z}-{x}-{y}.{layer}.pbf\r\n```\r\n\r\n> I'm also curious about adding a really simple header line to each tile that says where it comes from. Could be as simple as:\r\n\r\n👍 Sounds like a good idea, would that be stored in the PBF? Or stored as a `*.json` file?\r\n\r\nWe could host two files per tile:\r\n- `*.pbf` (tile data)\r\n- `*.json` (metadata)"}}
{"actor":{"display_login":"DenisCarriere"}}