Kulupp
2014-Jul-28 13:07 UTC
Calculate depth from regular xyz grid for any coordinate within the grid
Dear R-experts, I have a regular grid dataframe (here: the first 50 rows) : # data frame (regular grid) with x, y (UTM-coordinates) and z (depth) # x=UTM coordinates (easting, zone 32) # y=UTM coordinates (northing, zone 32) # z=river-depth (meters) df <- data.frame(x=c(3454240, 3454240, 3454240, 3454240, 3454240, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454250, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454260, 3454270, 3454270, 3454270, 3454270, 3454270, 3454270, 3454270, 3454270, 3454270, 3454270), y=c(5970610, 5970620, 5970630, 5970640, 5970650, 5970610, 5970620, 5970630, 5970640, 5970650, 5970660, 5970670, 5970680, 5970690, 5970700, 5970710, 5970720, 5970730, 5970610, 5970620, 5970630, 5970640, 5970650, 5970660, 5970670, 5970680, 5970690, 5970700, 5970710, 5970720, 5970730, 5970740, 5970750, 5970760, 5970770, 5970780, 5970790, 5970800, 5970810, 5970820, 5970610, 5970620, 5970630, 5970640, 5970650, 5970660, 5970670, 5970680, 5970690, 5970700), z= c(-1.5621, -1.5758, -1.5911, -1.6079, -1.6247, -1.5704, -1.5840, -1.5976, -1.6113, -1.6249, -1.6385, -1.6521, -1.6658, -1.6794, -1.6930, -1.7067, -1.7216, -1.7384, -1.5786, -1.5922, -1.6059, -1.6195, -1.6331, -1.6468, -1.6604, -1.6740, -1.6877, -1.7013, -1.7149, -1.7285, -1.7422, -1.7558, -1.7694, -1.7831, -1.7967, -1.8103, -1.8239, -1.8376, -1.8522, -1.8690, -1.5869, -1.6005, -1.6141, -1.6278, -1.6414, -1.6550, -1.6686, -1.6823, -1.6959, -1.7095)) head(df) plot(df[,1:2], las=3) # to show that it's a regular grid My question: is there a function to calculate the depth of any coordinate pair (e.g. x=3454263, y=5970687) within the grid, e.g. by bilinear interpolation or any other meaningful method? Thanks a lot for your help in anticipation Best wishes Thomas