#!/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 445.3900489326124 251.15744564907044 95.99989712 15.99950731 -gcp 15572.25 270.19822320932815 102.0000196 15.99950847 -gcp 15670.770152505447 10698.952380952382 102.00001926 11.99941424 -gcp 281.2298474945534 10678.256190476191 95.99989889 11.99941336 -gcp 2963.25 279.43205163797893 96.99991749 15.99950774 -gcp 8007.5625 306.96227790116603 98.9999583 15.99950831 -gcp 13050.1875 293.4597792892837 100.99999916 15.99950851 -gcp 13104.75 10715.09966685175 100.99999918 11.99941427 -gcp 7974.75 10724.332662409772 98.99995902 11.99941412 -gcp 2844.0 10704.055385896725 96.99991891 11.99941369 -gcp 363.75 5458.595780122155 95.99989807 13.99946003 -gcp 7990.125 5513.717448639644 98.99995869 13.99946091 -gcp 15616.5 5477.710785674625 102.00001942 13.99946105 vlasenko/north/d-47.jpg d-47.vrt # Add cutline to VRT gdalwarp -r $GDAL_SAMPLING_WARP -tps -dstalpha -cutline_srs EPSG:4326 \ -cutline "POLYGON(($(echo -e "445.3900489326124 251.15744564907044\n8007.0 306.4004025541366\n15572.25 270.19822320932815\n15670.5 10695.181149361466\n7977.0 10725.021238201\n280.5 10678.67823431427" | \ gdaltransform -tps -output_xy d-47.vrt | \ awk 'NR==1{first=$0} {printf "%s %s,", $1,$2} END{print " " first}')))" \ d-47.vrt d-47.cut.vrt # Generate tiles gdal2tiles.py -r $GDAL_SAMPLING_TILE --xyz -z $GDAL_TILE_ZOOMS -x --processes=$GDAL_TILE_PROCESSES d-47.cut.vrt d-47.xyz