#!/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 23.902988433838 56.954055350367 -gcp 15714.0 0.0 23.918266296387 56.87074409886 -gcp 15714.0 18300.0 23.751926422119 56.863144066171 -gcp 0.0 18300.0 23.742656707764 56.948063899166 LVVA_F7404_US1_GV5_0002.jpg LVVA_F7404_US1_GV5_0002.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e \"796.5 6553.5\n804.0 549.0\n8059.5 612.0\n8064.0 3078.0\n15018.0 3030.0\n15102.0 7104.0\n8056.5 7209.0\n8022.0 16317.0\n7671.0 16452.0\n7317.0 16560.0\n6969.0 16662.0\n6588.0 16800.0\n6591.0 14802.0\n2526.0 14787.0\n2493.0 14574.0\n2502.0 14496.0\n2454.0 14244.0\n2274.0 14118.0\n2130.0 13935.0\n2034.0 13707.0\n1887.0 13446.0\n1596.0 12735.0\n1548.0 12399.0\n1431.0 12174.0\n1314.0 12078.0\n1254.0 11970.0\n1170.0 11871.0\n1050.0 11724.0\n864.0 11553.0\" | \ gdaltransform -tps -output_xy LVVA_F7404_US1_GV5_0002.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}'))))" \ LVVA_F7404_US1_GV5_0002.vrt LVVA_F7404_US1_GV5_0002.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES LVVA_F7404_US1_GV5_0002.cut.vrt LVVA_F7404_US1_GV5_0002.xyz