#通过经纬度计算距离
f_get_distance <- function(lon1,lat1,lon2,lat2){
D=sqrt(((lon2*pi/180-lon1*pi/180)*cos(lat1*pi/180))^2+(lat2*pi/180-lat1*pi/180)^2)*6371.004
return (D)
}
#f_get_distance(121.72873,31.24641,121.72873,32.24641)
#计算某点到某线段的距离
f_get_verticaldistance <- function(a,b,c)
{
p <- (a+b+c)/2
s <- p*(p-a)*(p-b)*(p-c)
if(s<0) l <- 0 else l <- 2*sqrt(s)/b
return (l)
}
#f_get_verticaldistance(3,4,9)
#输入数据,输出符合条件的下标
f_get_index <- function(data)
{
sub <- data.frame()
i <- 2
n <- nrow(data)
lon1 <- data$LON[1]
lon2 <- data$LON[n]
lat1 <- data$LAT[1]
lat2 <- data$LAT[n]
b <- f_get_distance(lon1,lat1,lon2,lat2)
while(i<n)
{
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载