Tile Up is Java implementation of the Ruby gem Tile Up(https://github.com/rktjmp/tileup).
Compiling the source code is pretty straight forward assuming you have maven
installed on your system.
Simply run the following command (from the folder containing pom.xml
):
mvn package
You can find the built jar in folder:
target/TileUp-1.0-bin-with-dependencies/
Usage is very similar to the Ruby gem Tile Up. Following options are available.
-a,--auto-zoom Automatically scale input images
based on image size and tile size.
-h,--help Shows help.
-i,--in <arg> Required input file, your large image
to tile up.
-n,--dont-extend-incomplete-tiles Do not extend edge tiles if they do
not fill an entire tile_width x
tile_height.
-o,--output-dir <arg> Output directory (will be created if
it doesn't exist).
-p,--prefix <arg> Prefix to append to tile files, e.g.
--prefix=my_tile =>
my_tile_[XN]_[YN].png.
-th,--tile-height <arg> Tile height, should normally equal
tile width. Default is 256 pixels.
-tw,--tile-width <arg> Tile width, should normally equal
tile height. Default is 256 pixels.
-z,--zoom-levels <arg> Scale input images specified number
of times. Default value is 1.
To generate some tiles from a large image, you can use something like:
java -jar TileUp.jar --in huge_image.png --output-dir image_tiles --prefix my_tiles
This will split huge_image.png
up into 256x256
(default) sized tiles, and save them into the directory image_tiles
. The images will be saved as my_tiles_[COLUMN]_[ROW].png
image_tiles/20/my_tiles_0_0.png
image_tiles/20/my_tiles_0_1.png
image_tiles/20/my_tiles_0_2.png
...
tileup
can also scale your image for a number of zoom levels (max 20 levels). This is done by scaling down the original image, so make sure it is pretty big. Zoom level of 1 (default) means that the image will be saved under the subfolder 20/
.
java -jar TileUp.jar --in really_huge_image.png --zoom-levels 4 \
--output-dir map_tiles --prefix map_tile
--zoom-levels 4
means, make 4 levels of zoom, starting from really_huge_image.png
at zoom level 20, then scale that down for 19, etc.
You should see something like:
map_tiles/20/map_tile_0_0.png
map_tiles/20/map_tile_0_1.png
map_tiles/20/map_tile_0_2.png
...
map_tiles/19/map_tile_0_0.png
map_tiles/19/map_tile_0_1.png
map_tiles/19/map_tile_0_2.png
...
(where 20
is zoom level 20, the largest zoom, 19
is half the size of 20
, 18
is half the size of 19
, …)
You can get help by running java -jar TileUp.jar -h
.