我需要使用sf package命令,因为readShapePoly commnad将被删除。我知道那是一个更加美好的未来...所以我想从route更改代码 thata readShapePloy路由sf :: st_read。但是我无法编写正确的代码。所以我想更正代码,如果您显示正确的sf package命令,我会很高兴。我现在在下面的命令,thx ...((我为我的英语水平差而感到抱歉,Plz过来了...)
在R中,我在sf :: st_read命令上一次又一次地为ex编写代码。但是那一次又一次地显示错误...下面的代码和下面的错误消息
usa_state <- readShapePoly("usa_state.shp", IDvar = "STATE_CODE")
没关系,但是我知道将来会更改该代码,因为该命令在将来会被删除。因此,Plz向我显示了sf软件包的路由命令。我尝试了以下代码,但我知道这在R中是无法理解的。
usa_state = sf::st_read("usa_state.shp", layer = "STATE_CODE")
错误代码...请我正确编码!我现在发生错误...
Error in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, :
SQL execution failed, cannot open layer.
In addition: Warning message:
In CPL_read_ogr(dsn, layer, query, as.character(options), quiet, :
GDAL Error 1: SQL Expression Parsing Error: syntax error, unexpected
identifier, expecting SELECT or '('. Occurred around : "STATE_CODE"
答案 0 :(得分:0)
与usa_state = sf::st_read("usa_state.shp", layer = "STATE_CODE")
差不多了。
我猜测STATE_CODE
是usa_state.shp
shapefile中的一个字段。您不需要为st_read()
函数提供任何字段名称。只需使用:
library(sf)
usa_state = st_read("usa_state.shp")
您需要确保usa_state.shp
文件(及其关联的文件)在当前工作目录中,或者您需要使用完整路径:
usa_state = st_read("/path/to/usa_state.shp")
sf
软件包非常值得了解。这使我在R中的所有空间工作变得更加容易。