R 打印SHP文件

R 打印SHP文件,r,dictionary,plot,shapefile,R,Dictionary,Plot,Shapefile,我正在尝试读取和打印一个来自阿根廷的shp文件,以创建一个自定义choropleth。我完全按照所有代码示例加载和绘制此地图,但没有任何效果 R红色标志保持亮起,就像R仍在处理信息一样,但从不打印任何内容或停止工作 这是我运行到“绘图”然后说Rstudio停止工作时的屏幕。你知道为什么它不起作用吗 据我所知,可以使用maptools读取shp,但其支持有限。您是否尝试过使用rgdal::readOGR(dir,layer)阅读它 “环境”窗口显示您有一个“大”对象,但它有多大?如果形状是国家或国

我正在尝试读取和打印一个来自阿根廷的shp文件,以创建一个自定义choropleth。我完全按照所有代码示例加载和绘制此地图,但没有任何效果

R红色标志保持亮起,就像R仍在处理信息一样,但从不打印任何内容或停止工作

这是我运行到“绘图”然后说Rstudio停止工作时的屏幕。你知道为什么它不起作用吗


据我所知,可以使用maptools读取shp,但其支持有限。您是否尝试过使用
rgdal::readOGR(dir,layer)
阅读它

“环境”窗口显示您有一个“大”对象,但它有多大?如果形状是国家或国家边界,应该没有问题,但是如果你有国家的所有道路或所有街区的形状,事情就会改变

尝试使用单元测试:尝试绘制国际边界或国家边界。如果你能做到这一点,问题将是形状的大小


PD:重新启动计算机并重试,如果Rstudio是唯一运行的程序,则可能会有所帮助。

首先,
ggplot2
似乎能够很好地处理此问题:

library(rgdal)
library(ggplot2)

arg_shp <- readOGR("../data/arg_adm/ARG_adm1.shp", "ARG_adm1")

arg_shp_map <- fortify(arg_shp)

gg <- ggplot() 
gg <- gg + geom_map(data=arg_shp_map, map=arg_shp_map, 
                    aes(long, lat, map_id=id),
                    color="#2b2b2b", size=0.15, fill=NA)
gg <- gg + coord_map()
gg <- gg + ggthemes::theme_map()
gg
(与上述工作相同的
ggplot2
code,只需将变量名细分出来即可)

我也无法让基本绘图系统(在任何图形设备上)对此进行绘图。我认为在部分海岸线上有一些复杂的多边形。我们可以通过以下方式轻松应对:

library(maptools)
library(raster)
library(rgeos)
library(magrittr)
library(sp)

arg_adm <- getData('GADM', country='ARG', level=1)

gSimplify(arg_adm, 0.01, topologyPreserve=TRUE) %>% 
  SpatialPolygonsDataFrame(dat=arg_adm@data) -> new_arg

plot(new_arg, lwd=0.25)


(尽管,
coord_map()
的默认墨卡托投影对于大多数使用来说已经足够了)

屏幕截图!=代码片段。请删除图片并努力发布代码。非常感谢你的时间和努力,你真的帮了我很多。我有一个问题,当我用这张地图制作一个合唱曲时,当我加载边界时,就像你们的情节一样,效果很好。但是,当我尝试添加一些数据时,在它绘制图形之前,加载数据需要很长时间(5分钟)。我使用这个代码puntos
library(maptools)
library(raster)
library(rgeos)
library(magrittr)
library(sp)

arg_adm <- getData('GADM', country='ARG', level=1)

gSimplify(arg_adm, 0.01, topologyPreserve=TRUE) %>% 
  SpatialPolygonsDataFrame(dat=arg_adm@data) -> new_arg

plot(new_arg, lwd=0.25)
new_arg_map <- fortify(new_arg)

gg <- ggplot() 
gg <- gg + geom_map(data=new_arg_map, map=new_arg_map, 
                    aes(long, lat, map_id=id),
                    color="#2b2b2b", size=0.15, fill=NA)
gg <- gg + ggalt::coord_proj("+proj=aeqd +lat_0=-37.869859624840764 +lon_0=-66.533203125")
gg <- gg + ggthemes::theme_map()
gg