diff --git a/R/buildSimList.R b/R/buildSimList.R index 3185ce9..a3f1948 100644 --- a/R/buildSimList.R +++ b/R/buildSimList.R @@ -224,7 +224,7 @@ burnRoadsInWeight <- function(roads, weightRaster){ roadsRast <- !(rasts[[1]]|rasts[[2]]) } else { - roadsRast <- terra::rasterize(terra::vect(roads), weightRaster, background = 0) == 0 + roadsRast <- terra::rasterize(terra::vect(roads), weightRaster, touches = TRUE, background = 0) == 0 } weightRaster <- weightRaster * roadsRast diff --git a/tests/testthat/test-projectRoads.R b/tests/testthat/test-projectRoads.R index 2e054aa..1156af1 100644 --- a/tests/testthat/test-projectRoads.R +++ b/tests/testthat/test-projectRoads.R @@ -122,17 +122,29 @@ test_that("input types are tested", { test_that("duplicate roads are not created", { res <- projectRoads(scen$landings.points, scen$cost.rast, - scen$road.line, plotRoads = doPlot) + scen$road.line, plotRoads = doPlot, roadsInWeight = FALSE) #useful to visualize need to load fun from RoadsPaper # dens <- res$roads %>% rasterizeLineDensity(r = res$weightRaster) - res_mst <- projectRoads(scen$landings.points, scen$cost.rast, - scen$road.line, plotRoads = doPlot, roadMethod = "mst") + # res_mst <- projectRoads(scen$landings.points, scen$cost.rast, + # scen$road.line, plotRoads = doPlot, roadMethod = "mst") # dens_mst <- res_mst$roads %>% rasterizeLineDensity(r = res_mst$weightRaster) expect_equal(sf::st_union(res$roads) %>% sf::st_length(), sf::st_length(res$roads) %>% sum()) + + # # draw extent to get problem tiny line created + # plot(scen$cost.rast) + # plot(scen$landings.points, add = TRUE) + # ext <- terra::draw() + # + # lnds <- sf::st_crop(scen$landings.points, ext) + # cst <- terra::crop(scen$cost.rast, ext) + # rds <- sf::st_crop(scen$road.line, ext) + # + # projectRoads(lnds, cst, rds, plotRoads = doPlot, roadsInWeight = FALSE) + })