#!/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 665.3953154875717 897.1611604664076 22.322939381210876 57.69142360838384 -gcp 9458.444550669215 898.6865630205441 22.3854398308577 57.69142462563182 -gcp 9465.191204588911 11886.92490283176 22.385442192212352 57.6497573676825 -gcp 661.6869024856596 11889.188645197113 22.322941743080815 57.649756350895885 k_001_ktl2-0-132_0016.jpg k_001_ktl2-0-132_0016.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e "665.3953154875717 897.1611604664076\n9458.444550669215 898.6865630205441\n9465.191204588911 11886.92490283176\n661.6869024856596 11889.188645197113" | \ gdaltransform -tps -output_xy k_001_ktl2-0-132_0016.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}')))" \ k_001_ktl2-0-132_0016.vrt k_001_ktl2-0-132_0016.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES k_001_ktl2-0-132_0016.cut.vrt k_001_ktl2-0-132_0016.xyz