#!/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.204683303833 56.964912401402 -gcp 14040.0 0.0 24.332485198975 56.970480092565 -gcp 14040.0 8253.0 24.336605072021 56.933081057785 -gcp 0.0 8253.0 24.210948944092 56.926477332638 LVVA_F7404_US2_GV80_0002.jpg LVVA_F7404_US2_GV80_0002.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e \"594.0 471.0\n2418.0 477.0\n5316.0 468.0\n8082.0 486.0\n8211.0 393.0\n8415.0 363.0\n8592.0 381.0\n8766.0 411.0\n8961.0 360.0\n9120.0 384.0\n9216.0 489.0\n12549.0 534.0\n12564.0 1146.0\n12463.5 1314.0\n12360.0 1398.0\n12336.0 1546.5\n12366.0 1624.5\n12444.0 1695.0\n11682.0 2718.0\n11454.0 2910.0\n10716.0 3636.0\n8898.0 5514.0\n8526.0 5862.0\n8436.0 5757.0\n8382.0 5517.0\n8256.0 5397.0\n7668.0 5181.0\n7491.0 5199.0\n7281.0 5253.0\n7146.0 5334.0\n7122.0 5781.0\n7164.0 6033.0\n7371.0 6471.0\n7599.0 6786.0\n6726.0 7770.0\n582.0 7752.0\" | \ gdaltransform -tps -output_xy LVVA_F7404_US2_GV80_0002.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}'))))" \ LVVA_F7404_US2_GV80_0002.vrt LVVA_F7404_US2_GV80_0002.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES LVVA_F7404_US2_GV80_0002.cut.vrt LVVA_F7404_US2_GV80_0002.xyz