#!/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.43440914 57.0751052 -gcp 10800.0 0.0 24.4423914 56.98993708 -gcp 10800.0 10800.0 24.28304672 56.9850504 -gcp 0.0 10800.0 24.27429199 57.07111621 GX220/GX_220_SK_frame_559.jpg GX_220_SK_frame_559.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e "219.0 5859.0\n345.0 5730.0\n354.0 5046.0\n219.0 4884.0\n207.0 1011.0\n1137.0 999.0\n1161.0 465.0\n3288.0 456.0\n3369.0 153.0\n5040.0 153.0\n5172.0 309.0\n5877.0 297.0\n5982.0 156.0\n8760.0 174.0\n8781.0 675.0\n10755.0 660.0\n10737.0 5001.0\n10632.0 5073.0\n10623.0 5769.0\n10737.0 5859.0\n10722.0 9720.0\n10341.0 9702.0\n10185.0 9717.0\n10068.0 9789.0\n9936.0 9945.0\n9867.0 10212.0\n9870.0 10656.0\n6030.0 10674.0\n5892.0 10533.0\n5163.0 10527.0\n4992.0 10671.0\n1218.0 10635.0\n1233.0 10149.0\n1227.0 9945.0\n1122.0 9756.0\n927.0 9603.0\n696.0 9570.0\n213.0 9564.0" | \ gdaltransform -tps -output_xy GX_220_SK_frame_559.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}')))" \ GX_220_SK_frame_559.vrt GX_220_SK_frame_559.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES GX_220_SK_frame_559.cut.vrt GX_220_SK_frame_559.xyz