#!/bin/bash GDAL_TILE_PROCESSES=16 GDAL_TILE_ZOOMS=8-14 GDAL_SAMPLING_WARP=cubic GDAL_SAMPLING_TILE=antialias # Create virtual dataset with coordinates gdal_translate -of VRT -a_srs EPSG:4326 -outsize 300% 300% -gcp 0.0 0.0 25.501842498779 57.872148804228 -gcp 15060.0 0.0 25.530252456665 57.792546191527 -gcp 15060.0 20307.0 25.329666137695 57.771862810792 -gcp 0.0 20307.0 25.303745269775 57.851693743917 LVVA_F7404_US1_GV1238_0002.jpg LVVA_F7404_US1_GV1238_0002.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e \"396.75 13885.5\n2.25 13883.25\n3.75 9919.5\n3649.5 9967.5\n7295.25 10034.25\n7512.75 10038.75\n7578.0 9896.25\n7660.5 9711.0\n7789.5 9491.25\n7902.75 9373.5\n7804.5 5307.0\n7785.0 5277.0\n7629.0 621.0\n14177.625 540.375\n14309.25 4952.25\n14470.5 8278.5\n14619.0 8446.5\n14664.0 8604.0\n14688.0 8785.5\n14674.5 9159.0\n14538.0 9858.0\n14619.0 19392.0\n7470.0 19362.0\n7467.0 19467.0\n468.0 19479.0\" | \ gdaltransform -tps -output_xy LVVA_F7404_US1_GV1238_0002.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}'))))" \ LVVA_F7404_US1_GV1238_0002.vrt LVVA_F7404_US1_GV1238_0002.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES LVVA_F7404_US1_GV1238_0002.cut.vrt LVVA_F7404_US1_GV1238_0002.xyz