Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- par = list()
- par$bank.min.dist = 6 # meters
- for(i in c(2:length(data$x[ix]))){
- # add the actual point
- banks$x[[bank]] = c(banks$x[[bank]], data$x[ix.l][i-1])
- banks$y[[bank]] = c(banks$y[[bank]], data$y[ix.l][i-1])
- # calculate distance between consecutive bank points
- cb_dist = ( ( data$x[ix][i] - data$x[ix][i-1] )^2 + ( data$y[ix][i] - data$y[ix][i-1] )^2 ) ^(1/2)
- # if distance larger than threshold distance interpolate
- if(cb_dist > par$bank.min.dist){
- # calculate number of artificial points
- nr_of_pts = ceiling(cb_dist / par$bank.min.dist)
- ap = ap + nr_of_pts
- # add artificial points
- for(ido in c(1: (nr_of_pts-1))){
- banks$x[[bank]] = c(banks$x[[bank]], data$x[ix][i-1] + ( ( (data$x[ix][i] - data$x[ix][i-1]) / nr_of_pts ) * ido ) )
- banks$y[[bank]] = c(banks$y[[bank]], data$y[ix][i-1] + ( ( (data$y[ix][i] - data$y[ix][i-1]) / nr_of_pts ) * ido ) )
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement