diff options
Diffstat (limited to 'make-tiles.rb')
-rw-r--r-- | make-tiles.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/make-tiles.rb b/make-tiles.rb new file mode 100644 index 0000000..905aedb --- /dev/null +++ b/make-tiles.rb @@ -0,0 +1,22 @@ +# This script will create tiles of different zoom levels. + +target_dir = "./tiles" +min_zoom = 1 +max_zoom = 5 + +min_zoom.upto(max_zoom) do |z| + `rm -rf #{target_dir}/#{z}` + + # Create the required directories. + 0.upto(2**z-1) do |x| + `mkdir -p #{target_dir}/#{z}/#{x}` + end + + # Render the raster graphics using Inkscape. + puts "Rendering zoom level #{z}..." + `inkscape -z -e /tmp/map-of-rc-#{z}.png -w #{256*2**z} -h #{256*2**z} sonnenstr58-v0.11.svg` + + # Cut the raster graphics into tiles using ImageMagick. + `convert -density 1200 /tmp/map-of-rc-#{z}.png -crop 256x256 -set filename:tile "%[fx:page.x/256]/%[fx:page.y/256]" +repage +adjoin "#{target_dir}/#{z}/%[filename:tile].jpg"` + `rm /tmp/map-of-rc-#{z}.png` +end |