如何使用sf包旋转R语言中的空间多边形绘图?
问题:使用sf包实现多边形旋转绘图(替代sp包的elide旋转功能)
补充说明: 参考@Friede在帖子中关于通过修改投影旋转地理空间绘图的提示。
我绘制的如下多边形向西倾斜12.7°:
library(sfheaders) bed5_7 <- read.table(header = T, sep = "|", dec = ".", text = "Y|X 550972.65|6559834.0 550977.8|6559835.2 550993.3|6559766.4 550988.2|6559765.2") bed5_7 <- sf_polygon(bed5_7) library(sf) st_crs(bed5_7) = "EPSG:3301"
与其他多边形一起绘制的效果如下:
按照上述帖子中的方法(不使用ggplot)尝试变换投影,但没有实现旋转:
crs_string <- "+proj=omerc +lat_0=59.17348 +lonc=24.89165 +alpha=0 +k_0=.7 +datum=WGS84 +units=m +no_defs +gamma=45" st_transform(bed5_7, crs = crs_string) plot(st_geometry(bed5_7))
此前使用sp包时,我可以通过以下代码实现多边形旋转绘图:
bed5_7 <- read.table(header = T, sep = "|", dec = ".", text = "Y|X 550972.65|6559834.0 550977.8|6559835.2 550993.3|6559766.4 550988.2|6559765.2") bgarden <- SpatialPolygons(list(bed5_7), proj4string = CRS("+init=epsg:3301")) plot(elide(c(bed5_7), rotate = 12.7), asp = 0.25)
最终绘图效果如下(上述多边形位于上方区块中间):
这正是我想要实现的效果,请问有人能提供帮助吗?
内容的提问来源于stack exchange,提问作者mattu
相关产品推荐
相关产品推荐

