如何将UTM投影的SpatVector范围转换为经纬度范围?
重投影UTM格式SpatVector至经纬度并获取范围
关键前提:确认原UTM投影的EPSG代码
UTM投影分带号和南北半球,你的坐标范围(东距293596.6-415718.1,北距5048171-5168476)大概率对应UTM 30N(EPSG:32630),需先验证原SpatVector的CRS:
library(terra) # 替换vec为你的SpatVector对象名 print(crs(vec))
重投影步骤
如果原数据未正确设置CRS,先手动指定;再投影至WGS84经纬度(EPSG:4326)并提取范围:
# 若原CRS缺失,手动设置(以UTM 30N为例,若验证为其他带号则替换EPSG代码) crs(vec) <- "EPSG:32630" # 重投影到经纬度坐标系 vec_wgs84 <- project(vec, "EPSG:4326") # 获取经纬度范围(单位:度) extent_result <- ext(vec_wgs84) print(extent_result)
问题排查
project()无变化的核心原因是原数据CRS未正确定义,terra无法识别UTM投影规则,导致重投影操作无效。若不确定UTM带号,可通过坐标反向转换确认对应EPSG代码。
内容的提问来源于stack exchange,提问作者Lore_Bernicchi
相关产品推荐
相关产品推荐

