You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 06:57:21