ze *_*uel 3 r axes ggplot2 map-projections r-sf
我正在尝试在除经纬度以外的任何投影中使用geom_sf()绘制多边形。
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
Run Code Online (Sandbox Code Playgroud)
从latlong转换为epsg:3857
nc_3857 <- sf::st_transform(nc, "+init=epsg:3857")
Run Code Online (Sandbox Code Playgroud)
最后使用ggplot2进行绘图,以定义绘图的crs:
ggplot() +
geom_sf(data = nc_3857, colour = "red", fill = NA) +
coord_sf(crs=st_crs(3857))
Run Code Online (Sandbox Code Playgroud)
我在纬向长轴的wgs84(即epsg:4326)中不断获取地图。我想要以米为单位的轴,因此需要ggplot
绘制投影的多边形。我究竟做错了什么?
预先感谢zé
另请参阅https://github.com/tidyverse/ggplot2/issues/2200并尝试
ggplot() + geom_sf(data = nc_3857, colour = "red", fill = NA) +
coord_sf(datum=st_crs(3857))
Run Code Online (Sandbox Code Playgroud)
这使
它正在将其绘制在所请求的投影中,它只是覆盖了经纬度网格。
例如,如果您在挪威尝试类似的操作,靠近北极,您可以看到显示的 XY 坐标是变换的坐标,但叠加的经纬网是经纬度的。这是挪威地图,坐标为 epsg 3035(圆锥形):
所以它正在绘制投影多边形。如果这里的经纬线是一个网格,那么它将在经纬投影中绘制坐标。
文档中唯一提到的经纬网是一个参数coord_sf
:
datum: CRS that provides datum to use when generating graticules
Run Code Online (Sandbox Code Playgroud)
这其实没什么可说的。
你只想要一个笛卡尔坐标系?哦,让我们尝试一下:
> ggplot() + geom_sf(data = rp, colour = "red", fill = NA) + coord_cartesian()
Error: geom_sf() must be used with coord_sf()
Run Code Online (Sandbox Code Playgroud)
使用 geom_sf 检查 ggplot2 问题是否有替代经纬网,如果那里没有任何内容,则添加一个问题。
归档时间: |
|
查看次数: |
1825 次 |
最近记录: |