【发布时间】:2020-04-26 11:51:03
【问题描述】:
这是我第一次使用空间数据。我的项目的目标是可视化梅赫伦市(比利时)房地产市场的价格演变。我想在城市中不同社区的地理地图上可视化这种颜色编码。
我从城市收到了一个形状文件 (.shp),它可以显示所有不同的社区,我可以使用 sf 包导入它,但我无法使用 ggplot2 包绘制它。
请在下面找到我当前的代码:
library(sf)
library(ggplot2)
#WORKING PART - reading the shape file
shapefile_df <- “/filepath.shp" %>%
st_read()
#NOT WORKING PART - plotting the shapefile
map <- ggplot() +
geom_polygon(data = shapefile_df,
aes(x = long, y = lat, group = group),
color = 'gray', fill = 'white', size = .2)
print(map)
读取形状文件时,我得到一个 4 列数据框,其中第 4 列是称为geometry 的多边形列表。
我的问题:如何从这个多边形列表中获取经纬度? 还是我完全是从错误的角度看待问题?
当我输入 shapefile_df$geometry 时供您参考,RStudio 回复:
Geometry set for 12 features
geometry type: POLYGON
dimension: XY
bbox: xmin: 4.370086 ymin: 50.99116 xmax: 4.549005 ymax: 51.07861
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
First 5 geometries:
POLYGON ((4.471225 51.03026, 4.471367 51.03, 4....
POLYGON ((4.496646 51.02285, 4.496969 51.02247,...
POLYGON ((4.484093 51.01383, 4.484615 51.01353,...
POLYGON ((4.450368 51.0356, 4.450477 51.03558, ...
POLYGON ((4.439164 51.0608, 4.439563 51.06049, ...
有人可以帮忙吗?我认为共享形状文件可能很有用。是否有在此处共享文件的最佳做法?
请记住,这是我的第一篇文章,我已经阅读了很多关于在这里正确提问的内容,如果某些解释/代码不够简约,请提供反馈。
【问题讨论】:
-
欢迎来到 Stack Overflow!您应该提供reproducible example
-
也许您想使用
geom_sf而不是geom_polygon? -
正如 Axeman 所说,我认为您的数据是一个 SF 对象。如果你有 SF 对象并想绘制多边形,你可以使用
geom_sf(),这让你的生活变得轻松。如果你有一个 SP 对象,你需要强化数据并使用geom_polygon()。 -
感谢您的回复!我从错误的角度看。这确实是通过使用 geom_sf() 解决的!
标签: r ggplot2 polygon spatial sf