#!/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 24.825067520142 57.434925629928 -gcp 15945.0 0.0 24.979219436646 57.44615026061 -gcp 15945.0 21597.0 24.99870300293 57.336806324408 -gcp 0.0 21597.0 24.851031303406 57.324760424119 LVVA_F7404_US1_GV1909_0003.jpg LVVA_F7404_US1_GV1909_0003.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e \"429.0 6511.5\n9801.0 6273.0\n9846.0 9591.0\n14064.0 9739.5\n14295.0 9612.0\n14895.0 9642.0\n14851.5 11227.5\n14962.5 11296.5\n15174.0 11523.0\n15220.5 11749.5\n15238.5 14275.5\n15274.5 14368.5\n15273.0 14500.5\n15237.0 14597.25\n15231.0 17010.0\n15405.0 17347.5\n15235.5 17427.0\n15248.25 18861.0\n9960.0 18792.0\n9987.0 20376.0\n645.0 20328.0\" | \ gdaltransform -tps -output_xy LVVA_F7404_US1_GV1909_0003.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}'))))" \ LVVA_F7404_US1_GV1909_0003.vrt LVVA_F7404_US1_GV1909_0003.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES LVVA_F7404_US1_GV1909_0003.cut.vrt LVVA_F7404_US1_GV1909_0003.xyz