I have a raster in which I'd like to cut a "hole" with a shapefile. I have points close to the boundary, but inside the hole, and I would like to find the closest point on the edge. To give a concrete example, I have a global dataset (1' resolution) and a shapefile of the coast of Africa. My data points are locations of cities near the coast, but some of these points are not exactly on the coast, so I'd like to find the closest point outside the shapefile, i.e. closest point over water.
Normally, I'd use:
gdalwarp -of -GTiff -cutline Coast.shp -crop_to_cutline -dstnodata 0.0 Data.tif Clipped_Data.tif but this obviously only gives me what's inside the shapefile; I can't find an inverse clipping for this command.
I did some digging and found this, which allowed me to set everything inside the shapefile to 0, but when I sample using
gmt grdtrack it just sets the values to 0 (which makes sense). Also, when I tried
crop=True, invert=True I got:
ValueError: crop and invert cannot both be True. So I reverted to using
So, how can I sample this raster at the closest point outside the shapefile? I think if I can get the hole to be set to NaN, I can use the -T flag in