#!/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.203352928162 56.863237903151 -gcp 11310.0 0.0 24.245537772687 56.879676216643 -gcp 11310.0 15009.0 24.283819198608 56.845709763501 -gcp 0.0 15009.0 24.241313957833 56.829147822149 LVVA_F7404_US1_GV1849_0002.jpg LVVA_F7404_US1_GV1849_0002.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e \"186.0 960.0\n1158.0 972.0\n1836.0 1284.0\n2106.0 1740.0\n2220.0 2358.0\n2280.0 3024.0\n2313.0 3933.0\n2313.0 4200.0\n2331.0 4491.0\n2577.0 4485.0\n3090.0 4344.0\n3510.0 4815.0\n3699.0 4815.0\n3939.0 4980.0\n3999.0 5328.0\n4335.0 5478.0\n4566.0 5352.0\n4935.0 5583.0\n4971.0 5994.0\n5139.0 6297.0\n5064.0 6981.0\n5139.0 7368.0\n5391.0 7752.0\n5634.0 8028.0\n6183.0 7950.0\n6699.0 7959.0\n6744.0 8343.0\n7323.0 8394.0\n7803.0 8523.0\n8298.0 8472.0\n8616.0 8373.0\n8814.0 8295.0\n8850.0 8169.0\n8724.0 7815.0\n10944.0 7830.0\n10950.0 11268.0\n9396.0 11376.0\n8742.0 10224.0\n8322.0 9978.0\n6486.0 9888.0\n5940.0 9996.0\n5376.0 10326.0\n4620.0 9864.0\n4152.0 9450.0\n2958.0 9270.0\n2664.0 9930.0\n1458.0 13248.0\n402.0 13662.0\" | \ gdaltransform -tps -output_xy LVVA_F7404_US1_GV1849_0002.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}'))))" \ LVVA_F7404_US1_GV1849_0002.vrt LVVA_F7404_US1_GV1849_0002.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES LVVA_F7404_US1_GV1849_0002.cut.vrt LVVA_F7404_US1_GV1849_0002.xyz