将海龟朝着考虑道路连续性的方向移动

时间:2019-02-20 16:15:09

标签: gis netlogo

我的模型在GIS地图(栅格文件)上模拟车辆交通。海龟的路线基于当前位置和目标之间的最小距离。考虑到道路的不连续性,如何计算最小路线?我附上一张图片,作为遇到的问题和计算最小距离的过程的示例。

乌龟必须从“ A”到“ B”,但是当乌鸦飞翔时,它会挂在离目标最近的斑块上。

enter image description here

dir.create(path = "data")

library("sp")
library("raster")
library("maptools")
library("rgdal")
library("dismo")

bioclim.data <- getData(name = "worldclim",
                        var = "bio",
                        res = 2.5,
                        path = "data/")

# Read in observations
obs.data <- read.csv(file = "data/Presence.csv")


# Determine geographic extent of data
max.lat <- ceiling(max(obs.data$Latitude))
min.lat <- floor(min(obs.data$Latitude))
max.lon <- ceiling(max(obs.data$Longitude))
min.lon <- floor(min(obs.data$Longitude))
geographic.extent <- extent(x = c(min.lon, max.lon, min.lat, max.lat))


# Use the bioclim data files for sampling resolution
bil.files <- list.files(path = "data/wc2-5", 
                        pattern = "*.bil$", 
                        full.names = TRUE)

# only need one file, so use the first one in the list of .bil files
mask <- raster(bil.files[1])

# Randomly sample points (same number as our observed points)
background <- randomPoints(mask = mask,     # Provides resolution of sampling points
                           n = nrow(obs.data),      # Number of random points
                           ext = geographic.extent, # Spatially restricts sampling
                           extf = 1.25)             # Expands sampling a little bit


write.csv(background, "pseudo-absence.csv")

0 个答案:

没有答案