The BBS was designed to capture avian populations in natural areas, so if the land surrounding a portion of the route was developed, historically the route path was altered and given a new number. The problem is, that new numerical designation was not standardized (though often, it’s 100 + the original route number).
In wanting to maintain spatio-temporal continuity, I thought that the portions of the routes that were still spatially congruent should be considered the same segment. This serves my random effect of location, such that an observation isn’t considered to come from a different location just because the route number is different (if the “old” and “new” segments spatially coincide). I use “coincide” loosely, in that I considered original and +100 route segments to be the same if they intersected. You can measure the degree of overlap and incorporate that if you choose. I made a shape file of intersecting duplicated segments, and imported it into R to adjust the location designations.
repeats <- read.dbf("intersecting_duplicated_segment.dbf") repeats$new_rteno <- repeats$rteno - 100 repeats$new_route <- paste(repeats$new_rteno,repeats$segment,sep="_")
Now, the newer segments have the same numbering as the original routes. I match the new segments with the original route numbers to the BBS data, and then replace the new route segment numbers with the original numbering.
BBS$new_route<-repeats[match(BBS$route_piece, repeats$route),"new_route"] BBS$new_rteno<-repeats[match(BBS$route_piece, repeats$route),"new_rteno"] BBS[!is.na(new_route)]$route_piece <- BBS[!is.na(new_route)]$new_route BBS[!is.na(new_route)]$rteno <- as.integer(BBS[!is.na(new_route)]$new_rteno)
The new route segments that intersect the original routes now have the old route numbering, and thus counts from these segments appear in the code to to have come from the same routes as the original.
Here’s the full script: bbs_10stop