Cut hole in raster with shapefile and sample at closest edges

Geographic Information Systems Asked on January 3, 2022

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 crop=False, invert=True.

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 gmt grdtrack.

One Answer

Take a look at mapproject -L option. I think it does what you want and no need to use a grid.

Answered by J Luis on January 3, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP