田中吉郎の彫塑的水平曲線図法による地図描画

R
作者

伊東宏樹

公開

2023年11月25日

r.iresmi.netの記事Tanakaを読んで、田中吉郎の彫塑的水平曲線図法という地図描画方法を知りました。Rではその名もtanakaというパッケージがあります。

準備

パッケージを読み込みます。

library(sf)
Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
library(elevatr)
elevatr v0.99.0 NOTE: Version 0.99.0 of 'elevatr' uses 'sf' and 'terra'.  Use 
of the 'sp', 'raster', and underlying 'rgdal' packages by 'elevatr' is being 
deprecated; however, get_elev_raster continues to return a RasterLayer.  This 
will be dropped in future versions, so please plan accordingly.
library(tanaka)

elevatrパッケージのget_elev_raster関数をつかって標高データを読み込みます。位置は洞爺湖周辺です。

このあたりは、ほぼr.iresmi.netの記事のコードと同じです。

lon <- 140.85  # longitude
lat <- 42.60   # latitude
elev <- get_elev_raster(locations = data.frame(x = lon, y = lat),
                        prj = st_crs("EPSG:4326"),  # WGS84
                        z = 10) |>  # zoom level
  as("SpatRaster")

地図描画

田中吉郎の彫塑的水平曲線図法で地図を描画します。

par(mar = c(0, 0, 0, 0))  # no margin
tanaka(elev, breaks = seq(0, 1100, 100),
       legend.pos = "right",
       col = c("#FFFFFF", grDevices::terrain.colors(11)))

比較のため、terraパッケージのplot関数でも描画します。

library(terra)
plot(elev, type = "interval",
     col =  grDevices::terrain.colors(11),
     breaks = seq(0,1100, 100))

参考文献