我希望能够找到地图上两个标记之间的中心点(如下例)。
leaflet
或其他包中是否有允许这样做的函数?先谢谢你了
coor_zone6 <- c(3.16680, 3.16176, 42.46667, 42.46997)
matrice_coord_zone6 <- matrix(coor_zone6, nrow=2, ncol = 2)
colnames(matrice_coord_zone6) <- c("long", "lat")
matrice_coord_zone6 <- data.frame(matrice_coord_zone6)
matrice_coord_zone6$name <- c("M_1","M_3")
leaflet(matrice_coord_zone6) %>%
addMouseCoordinates(epsg = NULL, proj4string = NULL, native.crs = FALSE) %>%
addProviderTiles("Esri.WorldImagery") %>%
addMarkers(lng = ~long, lat = ~lat) %>%
addPolylines(~long, ~lat, popup = ~name)
我还没有找到任何可以执行此计算的leaflet函数,但是找到两个坐标之间的中间点并不难。
您必须将两个经度相加并将它们除以 2,您也必须对两个纬度执行相同的操作。
在你的情况下,如果我没有理解错的话,你的第一个坐标是(3.16680, 42.46667),你的第二个坐标是(3.16176, 42.46997),所以计算如下:
(3,16680 + 3,16176) / 2 = 3,16428
(42,46667 + 42,46997) / 2 = 42,46832
因此中间点如下:(3.16428, 42.46832)