在R的SF包中绘制地图时坐标偏移的问题求助
解决北爱尔兰坐标投影偏移问题
你的问题核心是投影基准面选错了:你用的EPSG:29902是爱尔兰共和国的专属投影,但北爱尔兰属于英国测绘体系,对应的正确投影是EPSG:29903(OSNI Transverse Mercator),两者基准面不同,直接套用会导致坐标向北偏移到海洋区域。
修正代码
直接把CRS参数替换为29903即可:
# 采用北爱尔兰专属的OSNI投影(EPSG:29903) sf_points_ptr = st_as_sf(fig2_map_df, coords = c("Easting", "Northing"), crs = 29903) tmap_mode('view') qtm(sf_points_ptr, dots.col = "blue")
备选方案(若上述方法不生效)
如果你的坐标是英国国家格网(OSGB36)格式,可尝试使用EPSG:27700:
sf_points_ptr = st_as_sf(fig2_map_df, coords = c("Easting", "Northing"), crs = 27700)
快速判断坐标对应的CRS
可以通过坐标数值范围区分:
- OSNI(29903):Easting数值在100000-300000之间,Northing数值在500000-700000之间
- OSGB36(27700):北爱尔兰区域的Easting数值在10000-30000之间,Northing数值同样在500000-700000之间
内容的提问来源于stack exchange,提问作者Andy M
相关产品推荐
相关产品推荐

