因此,假设有两个经度/纬度坐标列表。我将这些坐标绘制在地图上,并将列表1中的每个点与直线相连,并将列表2中的每个点与直线相连。
这是一个数据框,其中包含这两个列表的经度和纬度示例:
long_1<- c(-87, -85.927, -83.8056)
long_2<- c(-87, -85.4729, -83.1944)
lat_1<- c(17.8,18.969, 20.31)
lat_2<- c(17.8, 18.23, 19.0881)
df<- data.frame(long_1,long_2,lat_1, lat_2)
leaflet() %>% addTiles() %>%
addPolylines(data = df, lng = ~long_1, lat = ~lat_1) %>%
addPolylines(data = df, lng = ~long_2, lat = ~lat_2) %>%
setView(-93.65, 42.0285, zoom = 4)
我正在尝试创建一个将在经度和纬度上馈入一个点的函数,如果该点落入由这些线的连接所创建的边界范围之内,则返回true;否则,返回false。
老实说,我不知道该怎么做。任何想法将不胜感激!
也许您可以通过sp::point.in.polygon()
功能轻松地对其进行管理。这个想法是要测试这些点是否在您的坐标构成的多边形中。
library(sp)
# first you've to get one column for the long, and one column for the lat
new_df <- data.frame(long = c(long_1,long_2), lat = c(lat_1, lat_2))
# then you can put the points to test in a vector, like these, and use the function
point.in.polygon(c(-85.927,-84.2),c(18.7,18.5),new_df$long,new_df$lat)
[1] 1 0
一进一出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句