ne_states()
で読込.2
Japan
を指定.sf
クラスを指定.Japan_map
と名付ける.Japan_map <-
ne_states("Japan", returnclass="sf")
Shizuoka <- Japan_map %>%
filter(name=="Shizuoka")
get_elev_raster()
:指定した位置の標高データ(ラスターデータ)をダウンロード.
locations
:位置情報を指定.今回は静岡県(Shizuoka
)z
:解像度(ズームレベル)の指定.数を大きくすると解像度が増すが,時間がかかるため注意.clip
:
locations
を設定した場合,指定した位置のデータを切り取る(bbox
を設定した場合,境界ボックスに合わせてデータを切り取る).ggplot()
で可視するため,elev
をデータフレーム(as.data.frame()
)に変更.
xy=TRUE
を指定することで,座標情報をデータフレームの列として取り込む.elev_df
の3列目が標高を示すため,列名をelvation
に変更.NA
)削除(drop_na(everything())
).terrain()
:標高データ(elv
)から地形特性を計算する関数.
slope
)をラジアン単位(radians
)で計算するように指示.aspect
)をラジアン単位(radians
)で計算するように指示.shade()
:陰影計算.
angle
:光源高度45
度に指示.direction
:光源方向315
度に指示.注意:このままshade()
を指示すると,
inherits(slope, "SpatRaster") は TRUEではありません
と出るためraster
をSpatRaster
に変更.
sl <- sl %>%
as("SpatRaster")
asp <- asp %>%
as("SpatRaster")
hill_shade <-
shade(sl, asp,
angle=45,
direction=315,
normalize=TRUE)
hill_shade
もデータフレーム(as.data.frame()
)に変更.hill_shade_df
のhillshade
列)を紫色(Purples
)で表現.
show.legend=FALSE
:凡例非表示.hill_shade_df
).new_scale_fill()
:重ねる標高地図の色付けを活かすため.elev_df
).alpha
を利用して透過表示.ggplot() +
geom_raster(data=hill_shade_df,
aes(x, y, fill=hillshade),
show.legend=FALSE)+
scale_fill_distiller(palette="Purples")+
new_scale_fill() +
geom_raster(data=elev_df,
aes(x, y, fill=elevation),
alpha=0.7) +
scale_fill_hypso_c(palette="c3t1")+
labs(fill="m",
caption="出典:Natural Earth,
AWS Terrain Tiles,OpenTopography API") +
coord_sf(crs="EPSG:6668") +
theme_void()
上の静岡県との違い
Izu
と名付ける.z
:解像度を8
に指定して,標高データ(ラスターデータ)をダウンロード.R
コードは省略.hillshade_Izu_df
と名付ける.静岡県同様に標高図(Izu_elev_df
と名付けている)と組み合わせ陰影段彩図を作成しようとしたところ,geom_raster()
ではなくgeom_tile()
を勧められたため,変更.geom_contour()
:等高線の作成.2変数(x
軸とy
軸)に対するz
軸の値を表現.ここで等高線の高さ.内側がより高い値.
color
)と太さ(linewidth
)の指定.ggplot() +
geom_tile(data=hillshade_Izu_df,
aes(x, y, fill=hillshade),
show.legend=FALSE)+
scale_fill_distiller(palette="Purples")+
new_scale_fill() +
geom_tile(data=Izu_elev_df,
aes(x, y, fill=elevation),
alpha=0.7)+
scale_fill_hypso_c(palette="c3t1")+
geom_contour(data=Izu_elev_df,
aes(x, y, z=elevation),
color="gray70", linewidth=0.2)+
labs(fill="m",
caption="出典:国土数値情報行政区域データ,
AWS Terrain Tiles,OpenTopography API") +
coord_sf(crs="EPSG:6668") +
theme_void()
Kanagawa_map<-
read_sf("N03-20240101_14_GML/N03-20240101_14.shp")
Kanagawa_map %>%
filter(N03_004=="横浜市") ->
Yokohama
10
に指定.R
コードは省略.標高・傾斜度メッシュデータの可視化では国土数値情報標高・傾斜度メッシュデータを用いて標高を可視化.このメッシュデータは基盤地図情報数値標高モデルのラスターデータをシェープファイル(ベクターデータ:ポイント,ライン,ポリゴンで表現されるデータ形式)に変換されている.↩︎
Natural Earthの利用方法の詳細はNatural Earthの地理空間データの可視化参照.↩︎