Tiles@home
From OpenStreetMap
| Other languages: | +/- |
|---|---|
|
English • Български • Česky • Deutsch • Español • Français • Italiano • Japanese • Lietuviu • Magyar • Nederlands • Norsk • Русский • Slovensky • Slovenšcina • العربية • Svenska • עברית | |
General Description
Tiles@home (short: T@H or tah) is a distributed program to render osmarender maps. The osmarender, maplint and captionless layers are created in this way. The Mapnik layer is rendered with other computers separately in a different way.
Contents |
How the system works
T@H has a server software, running at the Tiles@home website, which get requests to render tiles from updated mapdata. There are many people who run the client software on their computers that ask what map-tile to render and contribute their results back to the server.
Viewing the maps
The following pages then get their osmarenderer (tiles@home) tiles from the server above.
- In the main http://www.openstreetmap.org Slippy Map, press the + icon in the top-right corner and select "Osmarender" to see the tiles.
- Map browser, a non-slippy map browser. Includes the ability to manually request tiles for rendering.
- InformationFreeway A full-screen slippy map, also from the dev tile server. Includes the ability to manually request tiles for rendering. Also allows permalinks to the tiles@home layer.
Details
- For a overview, see OpenStreetMap component overview.
Data comes from different sources into the OpenStreetMap database. When the data for some location changes, this location is added to a request queue on the T@H server. Users may also request manually that an area should be re-rendered. Every T@H client has a connection to this server, asking for tiles that it should render. Jobs are defined by a tile at zoom level 12. Clients take these jobs, render the corresponding level 12 to 17 tiles and upload a bunch of PNG images to the server. They are then used to draw the slippy map. Lower zoom levels < 12 are stitched together by the server based on the uploaded level 12 tiles.
Requesting a re-render
Tiles on the t@h server are automatically re-requested for rendering from the changed tiles api call, so most changes should be visible without manual requests after about 2 to 4 hours. Some tiles might still need to be requested manually because of errors.
- You can do this on http://informationfreeway.org in zoom-level 12 by pressing r to request a rerender and i to request information about rendering status, who rendered it, size and other things.
- To let your software request updates, see Tiles@home/APIs
There is a priority system to ensure that manually requested tiles will be rendered before automatic requests. Depending on the job queue length and the complexity of your tile this can take 5 minutes to several hours. You will not be notified when your tile has been rendered.
Making too many "manual" requests at once (i.e. by not requesting manually, but, say, a script) automatically deprioritizes your requests until your part of the queue has emptied somewhat. Your requests will still get rendered, but not at the priority you might wish to see.
See also
- OSM@home Different version of this program, for rendering city images
- Slippy map tilenames, and tiles@home/Zoom levels
Status
General Status
Old client Tiles@home/Messages for tiles@home client changes and announcements. See Tiles@home/Server for server status messages.
Statistics
More statistics are available, see the website for details
- Request queue
- Server stats
- Contributions from users running tiles@home client.
How the client works
If a client get a tile request:
Rendering for zoom levels 12 through 17
- OSM data for the area of that level 12 tile is downloaded once, from the API, as an XML data structure
- Recursive function is used to generate a SVG graphics at zoom levels 12, 13, 14, 15, 16 and 17 (which is done by osmarender)
- For each zoom level, a large single PNG is generated, which is sliced into several smaller PNG tiles.
- A separate process zips each tileset and then uploads it to the tile layer on the t@h server
Rendering for zoom levels 6 through 11
This description refers to the lowzoom that is generated manually at the client and uploaded to the server.
- When a z12 tileset is generated, an additional captionless tile is generated for zoom level 12. This is used as the base layer for generating zoom levels 6 through 11.
- There are three steps to this process:
- A set of transparent tiles is generated containing just captions (town and city names, etc) using a similar method to that used for zoom levels 12 through 17. This is called the caption layer. If there is nothing uploaded a complete transparent tile will be returned.
- A set of captionless tiles is generated using a tile stitching method. The captionless zoom 12 tiles are used as a base for this step. This is called the captionless (or base) layer.
- Finally the tile layer is created by compositing the caption layer over the captionless layer.
- Plans
Later then server stitching is in place, only the caption needs to be generated and uploaded to the t@h server. The server will then automaticly update the lowzoom tiles when zoom level 12 have been updated from a client.
Right now, you can issue a request for the "caption" layer at min_z=6, this would cause the server to hand that request out to a tah client. The problem is that regular tah clients are not configured to actually be able to create the caption layer and that they wouldn't create a tileset from z6 - z11.
We can use the already existing caption-tiles but the stitch_lowzoom.py server-part to compositing the caption layer over the captionless layer is not coded yet. Please help us now, send a patch.
The server, knowing which lowzoom tiles need to be updated can then simply issue lowzoom requests. These would be processed by the clients and uploaded as regular lowzoom tilesets. spaetz actually favor this solution.
Rendering for zoom levels 0 through 5
The tile layer is generated using a stitching method from the zoom level 6 tiles. This is currently done automatically by the server.
How you can help
Run the client
You may run the client program, which renders some maps and uploads them to our server. There is some kind of interactive mode, but most likely, you will run this in a completely automated mode.
- Your OSM account username and passord is used for uploading the rendered images.
- You can install Tiles@home on your computer, following this tiles@home/Install Guide. Be warned, it may be too difficult for most windows users. There are some tips for Windows users.
- You can download a complete virtual machine, where everything is installed for you. Then, you may run this virtual computer on your windows, linux or mac PC, but you will need VirtualBox for this. It's running in the background, so you can still do your normal work. See Virtual Tiles@Home.
Serving tile images
We need one or more dedicated servers, demand is growing.
Develop client
Help develop the client program, the website, or associated tools
- tiles@home/Dev/Client
- tiles@home/Dev/Coastline
- tiles@home/Dev/Interim_Coastline_Support
- tiles@home/Dev/Website
- tiles@home/Dev/Tools
- tiles@home/ColorPallete About color reduction in the client
Develop server
- There is a new Tiles@home/Server install guide, for people trying to run and develop the server software.
- tiles@home/Tileset_as_one_file
- tiles@home/RFC Discuss the development process, or suggest changes
- Tiles@home/Usability Report for any problems you have with the t@h systems
- tiles@home/Dev/Appearance Discuss the graphical choices and rendering rules
- Tiles@home/Problems Problems rendering large areas
- Tiles@home/The blank tile problem Soring of blank tiles
Admins
For infrastructure t@h depend upon Tiles@home/Admins Needs update, who have access, who do what, depend on OSM API data from www


