在 tmaptools 包中,read_shape 产生 "layer not found" 错误

In the tmaptools package, read_shape yields "layer not found" error

我已经使用 tmaptools 包中的 read_shape() 函数多次成功导入 shapefile,但我现在遇到了一个奇怪的错误。

对于某些 shapefile,read_shape() 命令产生消息:

"Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv, : Layer not found"

对于其他shapefile,我完全没有问题。这是我收到此错误的开放数据 shapefile 示例:https://opendata.arcgis.com/datasets/3605212dc7f0477cacb4cca884487e3d_0.zip?outSR=%7B%22wkid%22%3A32054%2C%22latestWkid%22%3A32054%7D

我认为错误可能与 tmap 包有关,因为我可以在 QGIS 中打开有问题的 shapefile 而没有任何问题。我是 运行 RStudio、tmap 和 tmaptools 的当前版本。

有什么想法吗?

在多次遇到此错误后,我发现唯一一致的解决方法是使用不同的工具。

现在我使用栅格包中的 "shapefile" 命令。

所以,

 #install.packages("raster")
 library(raster)
 shapefile("~/YOURFILEPATHHERE")

这会将 shapefile 作为 SpatialPolygonsDataFrame 读入您的会话,然后可以由 tmap(或类似)包使用。