从多个 GPS 坐标计算到最近海岸的距离
Calculating distance to nearest shore from multiple GPS coordinates
我已经尝试使用对 this question 的响应来解决这个问题,但我无法在我的案例中应用它,因为我有许多坐标分布在全球范围内。
有没有人有办法使用循环计算从一系列点到最近海岸的最小距离(以公里为单位)?这是我使用的点的子集 (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
看看 rgeos
包
library(rgeos)
gDistance(spPoints, spPolygon, byid = TRUE)
spPoints
将是一个保存坐标的 SpatialPoints
对象。 spPolygon
将是一个 SpatialPolygons
个有陆地的物体。请参阅 sp
包。确保两个对象具有相同的投影并且具有合理的投影。
我已经尝试使用对 this question 的响应来解决这个问题,但我无法在我的案例中应用它,因为我有许多坐标分布在全球范围内。
有没有人有办法使用循环计算从一系列点到最近海岸的最小距离(以公里为单位)?这是我使用的点的子集 (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
看看 rgeos
包
library(rgeos)
gDistance(spPoints, spPolygon, byid = TRUE)
spPoints
将是一个保存坐标的 SpatialPoints
对象。 spPolygon
将是一个 SpatialPolygons
个有陆地的物体。请参阅 sp
包。确保两个对象具有相同的投影并且具有合理的投影。