R中Shapefile经纬度绘图异常,如何手动修正投影?
问题描述
我在R中绘制Shapefile时遇到问题:已识别几何信息与投影,且geometry$num中显示合理的经纬度值(纬度-34,经度153),但绘图结果完全错误,推测是投影存在问题。
复现问题的代码如下:
library(sf) library(tidyverse) dat <- sf::read_sf("227151 (1)99%fulltrack_WGS84.shp") ggplot(dat) + geom_sf()
当前绘图结果如图:
请问如何手动修正投影?
解决方法
- 检查当前投影信息:运行
st_crs(dat)查看数据的坐标系参数,确认是否正确识别为WGS84(EPSG:4326)。 - 手动重置正确投影:若CRS识别错误,执行以下代码为数据赋予标准经纬度坐标系:
dat <- st_set_crs(dat, 4326) - 转换到区域适配投影(可选):针对澳大利亚东南部区域,推荐转换到GDA2020/MGA Zone 56(EPSG:7856),能大幅优化绘图的空间展示效果:
dat_proj <- st_transform(dat, 7856) ggplot(dat_proj) + geom_sf() - 验证修正效果:运行
st_bbox(dat)查看数据的边界范围,确认坐标值符合预期后重新绘图测试。
内容的提问来源于stack exchange,提问作者Hayden
相关产品推荐
相关产品推荐

