r:我将经度和纬度坐标投影到地图上的shapefile中的方法是否正确?

问题描述

我有一个多边形数据框,其中列出了每个顶点的经度和纬度坐标。考虑以下数据框:

shape    longitude latitude
polygon1 -0.15     51
polygon1 -0.148    51.3
polygon1 -0.148    51.3
polygon1 -0.15     51
polygon2 -0.15     51.5
polygon2 -0.148    51.5
polygon2 -0.148    52
polygon2 -0.15     52

我想使用SF库,并将坐标转换为shapefile多边形。首先,我将坐标参考系设置为4326,其中包括地球的标准坐标系。然后,将坐标参考系转换为27700,该坐标系是英国国家网格(我的观点在英国)。这是我使用的代码

library(sf)
library(dplyr)
library(readr)
data <- data %>%
  st_as_sf(coords = c('longitude','latitude')) %>%
  st_set_crs(4326)
data = data %>% st_transform(27700)
data <- data %>%
  group_by(shape) %>%
  summarise(do_union=FALSE) %>%
  st_cast("polyGON")

投影shapefile之后,我使用st_distance计算出两个顶点之间的距离为22247.47米。使用haversine公式,我得到22238.99米。会有变化是正常的吗?

为获得正确的距离,我必须正确地将经度和纬度坐标映射到英国,这一点很重要。我的方法正确吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)