read_sf()とst_read()
st_read()とread_sf()
最近read_sf()
という関数を知った。
st_read()
との違いに関してメモ。
read_sf()
の関数について確認すると以下のようになっており、
quiet=TRUE, stringsAsFactors=FALSE
でデータを読み込んでいる。
library(sf) library(dplyr)
read_sf
function (..., quiet = TRUE, stringsAsFactors = FALSE) { if (!requireNamespace("tibble", quietly = TRUE)) stop("package tibble not available: install first?") st_as_sf(tibble::as_tibble(as.data.frame(st_read(..., quiet = quiet, stringsAsFactors = stringsAsFactors)))) } <environment: namespace:sf>
nc <- read_sf(system.file("shape/nc.shp", package="sf")) glimpse(nc)
Observations: 100 Variables: 15 $ AREA <dbl> 0.114, 0.061, 0.143, 0.070, 0.153, 0.097, 0.062, 0.0... $ PERIMETER <dbl> 1.442, 1.231, 1.630, 2.968, 2.206, 1.670, 1.547, 1.2... $ CNTY_ <dbl> 1825, 1827, 1828, 1831, 1832, 1833, 1834, 1835, 1836... $ CNTY_ID <dbl> 1825, 1827, 1828, 1831, 1832, 1833, 1834, 1835, 1836... $ NAME <chr> "Ashe", "Alleghany", "Surry", "Currituck", "Northamp... $ FIPS <chr> "37009", "37005", "37171", "37053", "37131", "37091"... $ FIPSNO <dbl> 37009, 37005, 37171, 37053, 37131, 37091, 37029, 370... $ CRESS_ID <int> 5, 3, 86, 27, 66, 46, 15, 37, 93, 85, 17, 79, 39, 73... $ BIR74 <dbl> 1091, 487, 3188, 508, 1421, 1452, 286, 420, 968, 161... $ SID74 <dbl> 1, 0, 5, 1, 9, 7, 0, 0, 4, 1, 2, 16, 4, 4, 4, 18, 3,... $ NWBIR74 <dbl> 10, 10, 208, 123, 1066, 954, 115, 254, 748, 160, 550... $ BIR79 <dbl> 1364, 542, 3616, 830, 1606, 1838, 350, 594, 1190, 20... $ SID79 <dbl> 0, 3, 6, 2, 3, 5, 2, 2, 2, 5, 2, 5, 4, 4, 6, 17, 4, ... $ NWBIR79 <dbl> 19, 12, 260, 145, 1197, 1237, 139, 371, 844, 176, 59... $ geometry <simple_feature> MULTIPOLYGON(((-81.47275543..., MULTIPOLY...
ということで、今後は基本的にはこの関数を利用したほうが便利そうである。
引数のdsn=
が日本語を含むパスだとうまくいかないのですが、
解決方法をご存知の方ぜひコメント等教授お願いします。