#!/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 26.83717691 56.94680357 -gcp 21252.0 0.0 27.00724317 56.9417905 -gcp 21252.0 21369.0 27.00128301 56.85249792 -gcp 0.0 21369.0 26.8348431 56.85216158 GX825/GX_825_SK_frame_128.jpg GX_825_SK_frame_128.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e "387.0 11640.0\n555.0 11232.0\n531.0 9699.0\n372.0 9156.0\n297.0 177.0\n10068.0 183.0\n11445.0 174.0\n11952.0 132.0\n19470.0 114.0\n20160.0 1002.0\n21210.0 1884.0\n21156.0 9264.0\n20928.0 9798.0\n20943.0 11172.0\n21078.0 11629.5\n21177.0 18348.0\n20193.0 18624.0\n19425.0 19113.0\n18894.0 19974.0\n18546.0 20973.0\n11736.0 20976.0\n11455.5 20688.0\n10675.5 20679.0\n10050.0 20692.5\n9718.5 21007.5\n1968.0 20979.0\n1950.0 19086.0\n249.0 19065.0" | \ gdaltransform -tps -output_xy GX_825_SK_frame_128.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}')))" \ GX_825_SK_frame_128.vrt GX_825_SK_frame_128.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES GX_825_SK_frame_128.cut.vrt GX_825_SK_frame_128.xyz