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, "…

GeoPackageが便利

R sf

GISで利用するデータのファイル形式について、 これまでいろいろな不満がありながらも、 そのほかの代替手段を知らずやむを得ずシェープファイルを利用していた。 たまたま、sfパッケージの入出力 について調べていたら、GeoPackageというファイル形式がある…

sf vignette 6

r sf

Rのsfパッケージの vignette6について、 これまでのvignetteで書けなかったことなどを雑多に書いてあるので、 あまりまとまりがない感じである。 EPSGとは EPSGは空間座標参照システムとしてよく知られており、 IOGP (International Association of Oil & Ga…

sfクラスのデータに関する隣接関係の計算に関するメモ

rにおける空間情報を扱うにあたり、最近はsfパッケージが速くて便利である。 さて、sfクラスののデータに対して隣接関係を用いて分析等を行いたいときはどうすればよいのだろうか。 旧来のspパッケージでいうとspdepパッケージがそれらに関する関数が充実し…

高速にggplotする

r sf

ここ(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…

sf::read_sf()とrgdal::readOGR()とtmaptools::read_shp()の速度比較

Rでシェープファイルデータを読込むための関数でどれが一番速度が速いか比較する。 library(sf) library(tmaptools) library(rgdal) library(microbenchmark) rfile <- system.file("shape/nc.shp", package="sf") microbenchmark(sf::read_sf(rfile), sf::s…

sfオブジェクトをggplot()する場合はgeometryカラムの名前に注意

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…

read_sf()とst_read()

r sf

st_read()とread_sf() 最近read_sf()という関数を知った。 st_read()との違いに関してメモ。 read_sf()の関数について確認すると以下のようになっており、 quiet=TRUE, stringsAsFactors=FALSEでデータを読み込んでいる。 library(sf) library(dplyr) read_s…

sfパッケージによる空間データの操作

r sf

利用パッケージ 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クラスへ…

Rでインタラクティブな地図表示はmapviewで十分

たまたまmapviewパッケージのヘルプ(example)をみていたら、 mapview()関数を + でつないでいく方法があることを知った。 もう単なる地図表示だけとりあえず表示してインタラクティブに確認したい場合は これを使えば十分そう。 ただし、データ容量の大きい…

ポリゴン内にテキスト(ラベル)を表示する

ポリゴン内に各ポリゴンの属性を表示したい。 何回か調べているので、メモとして残す。 # using packages library(ggplot2) library(kokudosuuchi) library(sf) library(sp) options(stringsAsFactors = F) # preparation url <- kokudosuuchi::getKSJURL("N…

tmapとggplot2の出力結果の比較

空間データのプロット sfやspクラスオブジェクトのデータをプロットする方法について tmapとggplot2パッケージによる出力を比較してみる。 library(tmap) library(sf) library(mapview) library(ggplot2) spクラスオブジェクトとsfクラスオブジェクトの2つを…

data.frameからsfクラスのデータを作成する方法

r sf

結論から言うと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…

sfクラスのデータ抽出

r sf

ポリゴン内のポイントまたはポイントがあるポリゴンデータを抽出したい場合がある. 特に難しいことはないが,メモとして残しておく. library(sf) set.seed(1) nc <- system.file("shape/nc.shp", package="sf") %>% st_read nc1 <- nc[1:50, ] nc_points <…

st_read()での読み込み時のエンコード指定

r sf

下記のように適宜エンコードを指定すると文字化けを回避することができる。 library(sf) sf::st_read("***.shp", options = "ENCODING=UTF-8")) 詳細はここ

sf classデータの操作及びプロット

r sf

sfパッケージ(クラス)は空間データを簡単に操作することができ非常に便利である。 spパッケージ(クラス)はそれらを扱う多様なパッケージが存在するが、 自分自身で多少の編集を行うのは少し面倒であった。 Simple Features for Rだけあってデータ操作は…

sfクラスからSpatial*****DataFrameクラスへの変換

R sf

Rにおけるジオメトリデータの操作は今後sfパッケージが主流になるらしい。 http://notchained.hatenablog.com/entry/2017/01/06/213333 開発が活発なためせっかく整備したコードが今後も使えるという保証はないため, 利用に少しためらいもあるが,最近少し…