我尝试使用this question的响应来解决这个问题,但由于我在全球范围内分布了许多坐标,所以我无法应用它。
有没有人能够通过循环计算从一系列点到最近岸的最小距离(以km为单位)?这是我使用的(DATA HERE)
点的子集#setwd and load directories----
setwd("your_wd")
require (ggplot2)
require (ggmap)
#build a map to plot distribution of sample sites ----
sites<-read.csv("sites.csv", header=T)
#Using GGPLOT, plot the Base World Map
mp <- NULL
mapWorld <- borders("world", colour="gray50", fill="gray50") # create a layer of borders
mp <- ggplot() + mapWorld
#Now Layer the sites on top
Lon<-sites$x
Lat<-sites$y
mp <- mp+ geom_point(aes(x=Lon, y=Lat),color="blue", size=3)
mp
答案 0 :(得分:2)
查看rgeos
包
library(rgeos)
gDistance(spPoints, spPolygon, byid = TRUE)
spPoints
将是一个包含坐标的SpatialPoints
对象。 spPolygon
将成为带有大陆的SpatialPolygons
个对象。请参阅sp
包。确保两个对象具有相同的投影并具有合理的投影。