about summary refs log tree commit diff
path: root/make-tiles.rb
diff options
context:
space:
mode:
Diffstat (limited to 'make-tiles.rb')
-rw-r--r--make-tiles.rb22
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