sf
# 必要なライブラリのロード library(tidyverse) library(sf) library(mapview) library(stplanr) library(OpenStreetMap) # 2地点間のポイントデータ作成 sfd = tribble(~lat,~lon,~location, 36.075411, 136.212213,"福井大学", 36.062244, 136.223214, "…
GISで利用するデータのファイル形式について、 これまでいろいろな不満がありながらも、 そのほかの代替手段を知らずやむを得ずシェープファイルを利用していた。 たまたま、sfパッケージの入出力 について調べていたら、GeoPackageというファイル形式がある…
Rのsfパッケージの vignette6について、 これまでのvignetteで書けなかったことなどを雑多に書いてあるので、 あまりまとまりがない感じである。 EPSGとは EPSGは空間座標参照システムとしてよく知られており、 IOGP (International Association of Oil & Ga…
rにおける空間情報を扱うにあたり、最近はsfパッケージが速くて便利である。 さて、sfクラスののデータに対して隣接関係を用いて分析等を行いたいときはどうすればよいのだろうか。 旧来のspパッケージでいうとspdepパッケージがそれらに関する関数が充実し…
ここ(Accelerating ggplot2: use a canvas to speed up plots creation)にあるように、 ベースマップを作成しておくことで高速な描画が期待できる。 library(tidyverse) library(sf) nc <- read_sf(system.file("shape/nc.shp", package="sf")) nc_p <- st…
Rでシェープファイルデータを読込むための関数でどれが一番速度が速いか比較する。 library(sf) library(tmaptools) library(rgdal) library(microbenchmark) rfile <- system.file("shape/nc.shp", package="sf") microbenchmark(sf::read_sf(rfile), sf::s…
geom_sf()関数を利用するにあたり geometryカラムがgeometryではなくgeomの場合にはエラーが出た。 解決方法のメモ。 library(sf) library(ggplot2) library(spData) data(world) head(world) Simple feature collection with 6 features and 10 fields geom…
st_read()とread_sf() 最近read_sf()という関数を知った。 st_read()との違いに関してメモ。 read_sf()の関数について確認すると以下のようになっており、 quiet=TRUE, stringsAsFactors=FALSEでデータを読み込んでいる。 library(sf) library(dplyr) read_s…
利用パッケージ library(sf) library(tidyverse) library(viridis) library(jpndistrict) データの準備 fukuoka <- jpndistrict::spdf_jpn_pref(code=40) class(fukuoka) [1] "SpatialPolygonsDataFrame" attr(,"package") [1] "sp" spクラスからsfクラスへ…
たまたまmapviewパッケージのヘルプ(example)をみていたら、 mapview()関数を + でつないでいく方法があることを知った。 もう単なる地図表示だけとりあえず表示してインタラクティブに確認したい場合は これを使えば十分そう。 ただし、データ容量の大きい…
ポリゴン内に各ポリゴンの属性を表示したい。 何回か調べているので、メモとして残す。 # using packages library(ggplot2) library(kokudosuuchi) library(sf) library(sp) options(stringsAsFactors = F) # preparation url <- kokudosuuchi::getKSJURL("N…
空間データのプロット sfやspクラスオブジェクトのデータをプロットする方法について tmapとggplot2パッケージによる出力を比較してみる。 library(tmap) library(sf) library(mapview) library(ggplot2) spクラスオブジェクトとsfクラスオブジェクトの2つを…
結論から言うとst_as_sf(data.frame, coords=c(x, y), crs=4612)というように行えばよい library(sp) library(sf) data(meuse) head(meuse) ## x y cadmium copper lead zinc elev dist om ffreq soil lime landuse ## 1 181072 333611 11.7 85 299 1022 7.9…
ポリゴン内のポイントまたはポイントがあるポリゴンデータを抽出したい場合がある. 特に難しいことはないが,メモとして残しておく. library(sf) set.seed(1) nc <- system.file("shape/nc.shp", package="sf") %>% st_read nc1 <- nc[1:50, ] nc_points <…
下記のように適宜エンコードを指定すると文字化けを回避することができる。 library(sf) sf::st_read("***.shp", options = "ENCODING=UTF-8")) 詳細はここ
sfパッケージ(クラス)は空間データを簡単に操作することができ非常に便利である。 spパッケージ(クラス)はそれらを扱う多様なパッケージが存在するが、 自分自身で多少の編集を行うのは少し面倒であった。 Simple Features for Rだけあってデータ操作は…
Rにおけるジオメトリデータの操作は今後sfパッケージが主流になるらしい。 http://notchained.hatenablog.com/entry/2017/01/06/213333 開発が活発なためせっかく整備したコードが今後も使えるという保証はないため, 利用に少しためらいもあるが,最近少し…