r.tileset(1)

πŸ¦‹ NAME πŸ¦‹

okay bestie, meet r.tileset πŸ’– β€” she Produces tilings of the source projection for use in the destination region and projection. no cap, that's the whole job. she takes your region, she chops it into lil tiles, and she translates them into a whole other projection. it's giving interpreter energy 🧚


πŸŽ€ KEYWORDS πŸŽ€

raster, tiling β€” yeah that's the vibe check, that's the lane she lives in ✨


πŸ’… SYNOPSIS πŸ’…

the shape of her, fr fr:

r.tileset
r.tileset --help
r.tileset [-gw]  [region=string]  sourceproj=string
[sourcescale=string]   [destproj=string]   [destscale=string]
[maxcols=integer]   [maxrows=integer]   [overlap=integer]
[separator=character]   [--help]  [--verbose]  [--quiet]  [--ui]

⭐ Flags ⭐

  • -g β€” Produces shell script output 🐚
  • -w β€” Produces web map server query string output 🌐
  • --help β€” Print usage summary 🫢
  • --verbose β€” Verbose module output πŸ—£οΈ
  • --quiet β€” Quiet module output 🀫
  • --ui β€” Force launching GUI dialog πŸ–₯️

🌸 Parameters 🌸

  • region=string β€” Name of region to use instead of current region for bounds and resolution πŸ“
  • sourceproj=string [required] β€” Source projection. she literally cannot do her thing without this one, bestie, it's mandatory πŸ‘‘
  • sourcescale=string β€” Conversion factor from units to meters in source projection. Default: 1 πŸ“
  • destproj=string β€” Destination projection, defaults to this location’s projection 🎯
  • destscale=string β€” Conversion factor from units to meters in source projection. (yes she wrote source projection here twice, i'm just the messenger πŸ’€)
  • maxcols=integer β€” Maximum number of columns for a tile in the source projection. Default: 1024 πŸ“
  • maxrows=integer β€” Maximum number of rows for a tile in the source projection. Default: 1024 πŸ“
  • overlap=integer β€” Number of cells tiles should overlap in each direction. Default: 0 πŸ«‚
  • separator=character β€” Field separator / Output field separator. Default: pipe 🎚️

🌈 DESCRIPTION 🌈

so what does she actually do? r.tileset generates sets of tiles in another projection that cover a region in this projection with adequate resolution. translation: she takes the region you're standing in right now and builds you a tile set for a completely different projection that still blankets it properly πŸ—ΊοΈβœ¨

by default the current region and its resolution are used β€” that's her autopilot. but if you want her to use the bounds and resolution of a totally different region, just hand her the region option and she'll switch up πŸŽ€


πŸ’œ NOTES πŸ’œ

real talk, she wants you to know something up front:

r.tileset does not make "optimal" tilings (as few tiles of the largest size less than the maximums). so basically she's not out here solving the puzzle perfectly, she's just getting it done πŸ’€

what that means in practice: from latitude longitude projection to an appropriate projection for a region, in the degenerate case, it may create tiles demanding up to twice the necessary information. double the data, no cap 😭

and worse β€” generating a tiling near a divergant point of a source projection, such as the poles of a cylindrical source projections, results in divergence of the tile set. like. it just explodes. runaway tiling. not the moment bestie 🚨

and there's another consequence of the non-optimal thing: the aspect ratio of cells in the destination region will not necessarily carry over to the source region, and generated tiles may have cells of strange aspect ratios. this might be a problem for some map request services presenting data in an inappropriate projection or with strict constraints on cell aspect ratio. so if your map service is picky about cell shape, heads up πŸ™ˆ

✨ OUTPUT FORMAT ✨

every tile gets its own lil line in the output. the lines are formatted as follows:

5|125|45|175|80|100

this is the default output format πŸ’– it is the tile’s minimum x coordinate, minimum y coordinate, maximum x coordinate, maximum y coordinate, width in cells, and height in cells β€” all separated by the "|" character. and yes, the fields can be separated by a different character by changing the fs option 🎚️

w=5;s=125;e=45;n=175;cols=80;rows=100;

this one is output in a format convenient for setting variables in a shell script 🐚

bbox=5,125,45,175&width=80&height=100

and this one is output in a format convenient for requesting data from some http services 🌐


πŸ”₯ EXAMPLES πŸ”₯

one. Generates tiles in latitude longitude that cover the current region, each tile will be less than 1024 cells high and 2048 cells across. The bounds and sizes of tiles in the output are separated by | (pipe):

r.tileset sourceproj=+init=epsg:4326 maxrows=1024 maxcols=2048

two. Generates tiles in latitude longitude projection that cover the named region "ne-rio". The tiles will have 2 cells of overlap. The output format will be strings like the bbox requests for WMS servers:

r.tileset sourceproj=+init=epsg:4326 overlap=2 -w region=ne-rio

three. Generates tiles in the coordinate reference system of the project "IrishGrid". Each tile will be less than 300x400 cells in size, with 3 cells of overlap in the top and right sides of each tile. The output is in a format where each line is in shell script style. The substitution `g.proj -j project=IrishGrid` will only work in a unix style shell:

r.tileset sourceproj="`g.proj -j project=IrishGrid`" maxrows=400 maxcols=300 overlap=3 -g

😭 KNOWN ISSUES 😭

  • r.tileset does not know about meridians that "wrap-around" in projections. she simply does not perceive them. they are invisible to her πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

  • Cedric Shock
  • Updated for GRASS 7 by Martin Landa, CTU in Prague, Czech Republic

πŸ“ SOURCE CODE πŸ“

Available at: r.tileset source code (history)

Accessed: Saturday Jan 17 05:41:52 2026

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


and that's the whole page bestie πŸ’– you read the entire thing, i'm so proud of you, go make some tiles ✨

signing off from the GRASS GIS 8.4.2 Reference Manual, accessed Saturday Jan 17 05:41:52 2026 β€” version GRASS 8.4.2, r.tileset(1), and she ate πŸ’…

πŸ“¦ where this page comes from