####################################### # # draw_j_map.R # # 二次メッシュベースの日本地図描画関数ライブラリ # # # draw_blank_map() # # 白地図を描く。 # # plot_on_j_map() # # 緯度(1列め)と経度(2列め)が入ったデータフレーム # ないしはメッシュコード(1列め)が入ったデータフレームを # 受けとり、日本地図上にプロットする。 # # paint_j_map() # # 二次メッシュコード(1列め) と、データ (2列め) が入った # データフレームを受けとり、色分けした二次元マップを描く。 # # 2011-02-25 TAKENAKA, A. # rev. 2012-02-16 TAKENAKA, A. # rev. 2014-05-09 TAKENAKA, A. 白地図機能の追加など # rev. 2014-06-03 TAKENAKA, A. 関係ファイルをひとつにまとめた # # # 本プログラムの利用は自由です。 # ただし転載時は作者表示および URL 表示をお願いします。 # # draw_j_map.R # http://takenaka-akio.org/etc/j_map/ ##################################################### # # 白地図描画関数。 # draw_j_map から呼び出して使う、背景描画関数 # ユーザーが直接呼び出して白地図を書くことも可。 # その上に plot_on_j_map で点をプロットするといった使い方がある。 # # file.name, プロットするメッシュのコードが一行ごとに書かれたファイル。 # 1行目はヘッダ。 # デフォルトでは、ファイルを読み込まず、本ソースに書かれたメッシュコードの # リストが使われる。 # title, 図内に書込むタイトル # cex.title タイトルの文字の大きさ。デフォルトは 1.5 # col.blank 白地図の色(値がないメッシュの色)。デフォルトは灰色 "#AAAAAA" # col.back 背景色、前景色(枠線など)の配色セット # デフォルトは "white", ほかに "dark.blue", "dark.green", "black", "light.grey" # 拡張したければ、get_col_pattern を改変する。 # no.isl TRUEなら、小笠原諸島、南西諸島をずらして書込まない。デフォルトはFALSE draw_blank_map <- function(file.name = "", title = '', cex.title = 1.5, col.blank ="#AAAAAA", col.back = "white", no.isl = FALSE) { # 色の設定 pattern = get_col_pattern(col.back) par(bg = pattern[['bg']], fg = pattern[['fg']], col.axis = pattern[['fg']], col.lab = pattern[['fg']]) if (file.name == "") { # メッシュコードファイルの指定なし d.blank <- get_secondary_mesh() # 用意されている二次メッシュ } else { d.blank <- read.table(file.name, header = TRUE) # 指定ファイルを読み込む colnames(d.blank) <- c('mesh_code') } # メッシュコードを緯度・経度に。 z <- lapply(d.blank$mesh_code, meshcode_to_latlong) # z は list の list # z の各要素に["lat"] を適用後、数値に d.blank$latitude <- as.numeric(sapply(z, "[", "lat")) # long についても同様に。 d.blank$longitude <- as.numeric(sapply(z, "[", "long")) # 余白の設定など par(mex = 0.7) par(mar =c(4.5, 4.5, 2, 1) ) par(lwd = 2) par(cex = 0.7) plot(c(0), c(0), type = 'n', xlim = c(128, 146), ylim = c(30, 45), xlab = "Longitude", ylab = "Latitude", cex = 1.5) par(cex = cex.title) text(129, 44, title, pos= 4) par(cex = 0.7) d.sub <- d.blank[d.blank$latitude >= 30.0, ] # 北緯30度以北のみプロット for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.blank, border = col.blank) } ########################### # 離島 (北緯30度以南) if (no.isl == TRUE) { # 小笠原諸島、南西諸島をずらして書込まない。 return() } # Ryukyu islands lines(c(136, 137.5, 140, 145, 146), c(30, 31.7, 31.7, 37.2, 37.2 )) lines(c(145, 145), c(30, 36),lwd = 1, col = 8) lines(c(146, 137), c(30.7, 30.7),lwd = 1, col = 8) lines(c(140, 140), c(29.7, 31.4),lwd = 1, col = 8) lines(c(144, 146), c(35.7, 35.7),lwd = 1, col = 8) text(145, 35.7, "(130, 30)", adj = c(0, 0)) text(145, 30.7, "(130, 25)", adj = c(0, 0)) text(140, 30.7, "(125, 25)", adj = c(0, 0)) d.sub <- d.blank[d.blank$latitude < 30.0, ] # 北緯30度より南のみプロット d.sub$latitude <- d.sub$latitude + 5.7 d.sub$longitude <- d.sub$longitude + 15 for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.blank, border = col.blank) } # Ogasawara, Iwo jima d.sub <- d.blank[((d.blank$latitude <= 30.0) & (d.blank$longitude >= 140.0)), ] d.sub$latitude <- d.sub$latitude + 13.5 d.sub$longitude <- d.sub$longitude + 3 for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.blank, border = col.blank) } text(143.5, 40.2, "(142, 27)", adj = c(0, 0)) lines(c(145.5, 143.5, 143.5, 144.5), c(42, 41.5, 37.5, 37.25 )) lines(c(145, 145), c(41.5, 38),lwd = 1, col = 8) lines(c(144, 146), c(40.5, 40.5),lwd = 1, col = 8) } ############################## # # 白地図上に点をプロットする。 # # ※複数種類の点をプロットしたい場合は、overlay = TRUE として上書きしていく。 # ※位置を二次メッシュコードで与える場合は、 by.code = TRUE と指定。 # # 引数 # d, 一列めが緯度、二列めが経度のデータフレーム # ないしはメッシュコード(1列め)が入ったデータフレーム # # 以下の引数はオプショナル(何も指定しなくともよい) # # by.code, TRUEなら、メッシュコードが与えられたとして処理。デフォルトは FALSE # title, 図内に書込むタイトル # cex.title タイトルの文字の大きさ。デフォルトは 1.5 # col シンボルの色。デフォルトでは 1 # cex シンボルのサイズ。デフォルトは 1 # pch シンボルの種類。デフォルトは 16(塗りつぶし円) # lwd シンボルの線の太さ。 デフォルトは 1 # col.blank, 白地図の色。デフォルトは灰色 (#AAAAAA) # col.back 背景色、前景色(枠線など)の配色セット # デフォルトは "white", ほかに "dark.blue", "dark.green", "black", "light.grey" # overlay, 既存グラフに上書きするか。デフォルトはFALSE. # # no.isl TRUEなら、小笠原諸島、南西諸島をずらして書込まない。デフォルトはFALSE plot_on_j_map <- function(d, by.code = FALSE, title = '', cex.title = 1.5, col.back = "white", cex = 1, col = 2, pch = 16, lwd = 1, col.blank = "#AAAAAA", overlay = FALSE, no.isl = FALSE) { pattern = get_col_pattern(col.back) par(bg = pattern[['bg']], fg = pattern[['fg']], col.axis = pattern[['fg']], col.lab = pattern[['fg']]) # 白地図を描く。codes2.txt は二次メッシュコード if (overlay == FALSE) { # 重ね描きが TRUE なら、白地図は描かない。 draw_blank_map(title = title, cex.title = cex.title, col.back = col.back, col.blank = col.blank, no.isl = no.isl) } if (by.code == FALSE) { # 緯度、経度の場合(デフォルト) colnames(d) = c('latitude', 'longitude') # 最初の二列が緯度と経度 } else { # 二次メッシュコードの場合 lapply(d[[1]], meshcode_to_latlong) -> z # z は list の list # z の各要素に["lat"] / ["long"] を適用後、数値に変換。 d$latitude <- as.numeric(sapply(z, "[", "lat")) d$longitude <- as.numeric(sapply(z, "[", "long")) } d.sub <- d[d$latitude >= 30.0, ] # 北緯30度以北のみプロット points(d.sub$longitude, d.sub$latitude, lwd = lwd, cex = cex, pch = pch, col = col) ########################### # 離島 if (no.isl == TRUE) { # 小笠原諸島、南西諸島をずらして書込まない。 return() } # Ryukyu islands d.sub <- d[d$latitude < 30.0, ] # 北緯30度より南のみプロット d.sub$latitude <- d.sub$latitude + 5.7 d.sub$longitude <- d.sub$longitude + 15 points(d.sub$longitude, d.sub$latitude, lwd = lwd, cex = cex, pch = pch, col = col) # Ogasawara, Iwo jima d.sub <- d[((d$latitude <= 30.0) & (d$longitude >= 140.0)), ] d.sub$latitude <- d.sub$latitude + 13.5 d.sub$longitude <- d.sub$longitude + 3 points(d.sub$longitude, d.sub$latitude, lwd = lwd, cex = cex, pch = pch, col = col) } ############################## # 二次メッシュの色分けマップを描く。 # # 引数 # d, 一列めが二次メッシュコード、二列めが値のデータフレーム # # 以下の引数はオプショナル(何も指定しなくともよい) # # n.class, 値を何個のクラスに分けるか。デフォルトは 8 # is.natural 値を非負整数として扱う。最小クラスの扱いは min.natural で指定する。 # クラス分けは整数幅。 したがってクラス数が n.class より小さくなることもある。 # min.natural 非負整数扱い(is.natural が TRUE)の場合の、ゼロのデータの処理。 # "from.zero" (デフォルト) 最小クラスに 0 を含める。 # "only.zero" 0 のデータのみを最小クラスとする。 # "from.one" 最少クラスは 1 以上。0 以下のデータはプロットしない。 # limits 値の最小、最大をベクトルで指定。 # デフォルトでは、データの最大値、最小値を使う。 # title 図内に書込むタイトル # cex.title タイトルの文字の大きさ。デフォルトは 1.5 # col.back 背景色、前景色(枠線など)の配色セット # デフォルトは "white", ほかに "dark.blue", "dark.green", "black", "light.grey" # 拡張したければ、get_col_pattern を改変する。 # col.scale, 色スケールのパターン. "heat", "topo", "terrain", "cm" の他、 # "red", "green", "blue", "red.green", "green.blue", "blue.red"を定義している # rev.scale, 色の順序の反転 (TRUE で反転。デフォルトは FALSE) # col.blank, データがないメッシュの色の指定。デフォルトは灰色 (#AAAAAA) # no.isl TRUEなら、小笠原諸島、南西諸島をずらして書込まない。デフォルトはFALSE paint_j_map <- function(d, n.class = 8, is.natural = FALSE, min.natural = "from.zero", limits = c(NA, NA), title = "", cex.title = 1.5, col.back = "white", col.scale = "heat", rev.scale = FALSE, col.blank = "#AAAAAA", no.isl = FALSE) { draw_blank_map(title = title, cex.title = cex.title, col.back = col.back, col.blank = col.blank, no.isl = no.isl) pattern = get_col_pattern(col.back) par(bg = pattern[['bg']], fg = pattern[['fg']], col.axis = pattern[['fg']], col.lab = pattern[['fg']]) colnames(d) = c('mesh_code', 'value') if (is.na(limits[1]) == TRUE) { min.value <- min(d$value) max.value <- max(d$value) } else { min.value <- limits[1] max.value <- limits[2] } class.val <- c() # 凡例用文字列 if (max.value == min.value) { # みな同じ値 n.class <- 1 d$class <- 1 if (is.natural == TRUE) { # 自然数 class.val <- c(sprintf("%d", max.value)) } else { class.val <- c(sprintf("%.3f", max.value)) } } else if (is.natural == FALSE) { # 連続数、負数もあり class.width <- (max.value - min.value) / n.class d$class <- as.integer((d$value - min.value) / class.width) + 1 class.val <- c(class.val, # 一番下のクラスの凡例説明 [lo, hi) sprintf("%.3f - %.3f", min.value, min.value + class.width)) # 二番目以降のクラスの凡例説明 [lo, hi)、最後のみ [lo, hi] for (i in 2:n.class) { class.val <- c(class.val, sprintf("- %.3f", min.value + class.width * i)) } } else { # 非負の整数、クラス幅は整数、最小クラスは min.natural で指定 if (min.natural == 'only.zero') { # 最小クラスは値がゼロのみ。 d <- d[d$value >= 0,] # value が 0 未満 のデータは捨てる # 残りのクラス数(n.class - 1 )で最大値を割りクラス幅(整数)を求める class.width <- ceiling(max.value / (n.class - 1)) # 最小クラス(0) があることから、1 を加える。 d$class <- ceiling(d$value / class.width) + 1 # value が 0 のデータは単独クラス d$class[d$value == 0] <- 1 # 凡例の説明 class.val <- c(0) # 一番下のクラス(ゼロ) for (i in 2:n.class) { # 以降のクラスの範囲(最大値) class.val <- c(class.val, sprintf(" - %d", class.width * (i - 1))) } } else if (min.natural == 'from.one') { # 1以上のデータのみプロット d <- d[d$value > 0,] # value が 0 以下 のデータは捨てる # クラス数(n.class で最大値を割りクラス幅(整数)を求める class.width <- ceiling(max.value / n.class) # クラスを求める。 d$class <- ceiling(d$value / class.width) # 凡例の説明 class.val <- c(sprintf("1 - %d", class.width) ) # 一番下のクラス(1〜) for (i in 2:n.class) { # 以降のクラスの範囲(最大値) class.val <- c(class.val, sprintf(" - %d", class.width * i)) } } else { # min.natural == 'from.zero' # 最小クラスに 0 を含める。 d <- d[d$value >= 0,] # value が 0 未満 のデータは捨てる # クラス数(n.class で最大値を割りクラス幅(整数)を求める class.width <- ceiling(max.value / n.class) # クラスを求める。 d$class <- ceiling(d$value / class.width) # 値が 0 のデータも最小クラスに加える。 d$class[d$class == 0] <- 1 # 凡例の説明 class.val <- c(sprintf("0 - %d", class.width) ) # 一番下のクラス(ゼロ〜) for (i in 2:n.class) { # 以降のクラスの範囲(最大値) class.val <- c(class.val, sprintf(" - %d", class.width * i)) } } } # 範囲外データへに対処 d$class[d$class > n.class] <- n.class d$class[d$class < 1] <- 1 # 実現された最大クラス。is.natural = TRUE の場合、クラス幅を整数にするため、 # データが存在しないクラスが生じるので、本当のクラス数を探す。 # n.class <- max(d$class) # 色スケールの指定 col.array <- get_col_scale(name = col.scale, n.class = n.class, rev.scale = rev.scale) d <- d[order(d$class),] # class の値で昇順に整列→値が高いものが上に描かれる。 lapply(d$mesh_code, meshcode_to_latlong) -> z # z は list の list d$latitude <- as.numeric(sapply(z, "[", "lat")) # z の各要素に["lat"] を適用後、数値に d$longitude <- as.numeric(sapply(z, "[", "long")) # long についても同様に。 d.sub <- d[d$latitude >= 30.0, ] # 北緯30度以北のみプロット for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.array[d.sub$class[i]], border = col.array[d.sub$class[i]]) } ################### # 凡例 for (i in 1:n.class) { rect(129, (43 - i/2), 130, (43-i/2 - 0.4), col = col.array[i], lwd = 1) text(130.5, (43-i/2 - 0.2), class.val[i], cex = 1.2, pos = 4) } ########################### # 離島 if (no.isl == TRUE) { # 小笠原諸島、南西諸島をずらして書込まない。 return() } # Ryukyu islands d.sub <- d[d$latitude < 30.0, ] # 北緯30度より南のみプロット d.sub$latitude <- d.sub$latitude + 5.7 d.sub$longitude <- d.sub$longitude + 15 for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.array[d.sub$class[i]], border = col.array[d.sub$class[i]]) } # Ogasawara, Iwo jima d.sub <- d[((d$latitude <= 30.0) & (d$longitude >= 140.0)), ] d.sub$latitude <- d.sub$latitude + 13.5 d.sub$longitude <- d.sub$longitude + 3 for (i in 0:nrow(d.sub)) { rect(d.sub$longitude[i] - 0.04, d.sub$latitude[i] - 0.03, d.sub$longitude[i] + 0.04, d.sub$latitude[i] + 0.03, col = col.array[d.sub$class[i]], border = col.array[d.sub$class[i]]) } } ############################## # # 色分けパターンの設定 # 組込み関数のほか、新たにいくつか定義したものから選択 # # 通常は、ユーザーはこの関数を直接呼び出さない。 get_col_scale <- function(name = "heat", n.class = 8, rev.scale = FALSE) { ## 以下 組込み if (name == "heat") { col.array <- rev(heat.colors(n.class)) } else if (name == "topo") { col.array <- topo.colors(n.class) } else if (name == "terrain") { col.array <- terrain.colors(n.class) } else if (name == "cm") { col.array <- cm.colors(n.class) } else if (name == "blue") { ## 以下 新規定義 col.array <- blue.colors(n.class) } else if (name == "green") { col.array <- green.colors(n.class) } else if (name == "red") { col.array <- red.colors(n.class) } else if (name == "red.green") { col.array <- red.green.colors(n.class) } else if (name == "green.blue") { col.array <- green.blue.colors(n.class) } else if (name == "blue.red"){ col.array <- blue.red.colors(n.class) } else { stop("Invalid name specification") } if (rev.scale == TRUE) { col.array <- rev(col.array) # 色の順番を変えたければ rev する。 } return (col.array) } ############################################### # # 通常は、ユーザーはこの関数を直接呼び出さない。 # # 背景色、前景色(枠線など)の配色セットを返す。 # セット名は、デフォルトの white のほかに dark.blue, dark.green, black, light.grey get_col_pattern <- function(name = "white") { if (name == "white") { bg <- "#ffffff" fg <- "#000000" } else if (name == "dark.blue") { bg <- "#000044" fg <- "#ffffff" } else if (name == "dark.green") { bg <- "#004400" fg <- "#ffffff" } else if (name == "black") { bg <- "#000000" fg <- "#ffffff" } else if (name == "light.grey") { bg <- "#dddddd" fg <- "#000000" } else { stop("Invalid col.back specification") } pattern <- c(bg, fg) names(pattern) <- c('bg', 'fg') return (pattern) } ########################################### # 色スケールの生成関数 ### MONOCHOME ### ########################## blue.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } for (i in 1:n) { b <- 255 g <- as.integer(255 * (i - 1) / (n - 1)) r <- as.integer(255 * (i - 1) / (n - 1)) col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (rev(col.array)) } ########################## green.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } for (i in 1:n) { b <- as.integer(255 * (i - 1) / (n - 1)) g <- 255 r <- as.integer(255 * (i - 1) / (n - 1)) col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (rev(col.array)) } ########################## red.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } for (i in 1:n) { b <- as.integer(255 * (i - 1) / (n - 1)) r <- 255 g <- as.integer(255 * (i - 1) / (n - 1)) col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (rev(col.array)) } ######## FROM ONE TO OTHER ########### ########################## red.green.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } half <- (n - 1) / 2 for (i in 1:n) { if (i - 1 <= half) { r <- 255 g <- as.integer(255 * (i - 1) / half) b <- as.integer(255 * (i - 1) / half) } else { g <- 255 r <- as.integer(255 * (n - i) / half) b <- as.integer(255 * (n - i) / half) } col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (col.array) } ########################## green.blue.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } half <- (n - 1) / 2 for (i in 1:n) { if (i - 1 <= half) { g <- 255 b <- as.integer(255 * (i - 1) / half) r <- as.integer(255 * (i - 1) / half) } else { b <- 255 g <- as.integer(255 * (n - i) / half) r <- as.integer(255 * (n - i) / half) } col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (col.array) } ########################## blue.red.colors <- function(n = 10) { col.array <- c() if (n < 2) { stop('error in blue.colors(). Parameter out of range') } half <- (n - 1) / 2 for (i in 1:n) { if (i - 1 <= half) { b <- 255 r <- as.integer(255 * (i - 1) / half) g <- as.integer(255 * (i - 1) / half) } else { r <- 255 b <- as.integer(255 * (n - i) / half) g <- as.integer(255 * (n - i) / half) } col.array <- c(col.array, sprintf("#%02x%02x%02x", r, g, b)) } return (col.array) } ########################################################################## # 以下の関数は、 # http://takenaka-akio.org/etc/meshcode/index.html # で公開している 'mesh_lib.R' に含まれている。 # mesh_lib.R は別途更新されている可能性もある。 # ######################################## # メッシュコードを渡し、対応する緯度・経度を返す。 # 特に指定しなければメッシュの中央の座標を返す。 # メッシュコードは1次、2次、3次いずれも可。 # # NW, NE, SW, SE を2つ目の引数として渡すと、それぞれ北西、北東、南西、南東の # コーナーの座標を返す。 # # 戻り値はリスト、要素の名前は lat と long、各要素の値は度単位の小数。 # # Usage1: # meshcode_to_long(584385) -> z # paste("latitide = ", z$lat) # paste("longitude = ", z$lat) # # Usage2: # d <- read.table('...', header = T) # メッシュコードの列 (code) を持つテキストファイル # lapply(d$code, meshcode_to_latlong) -> z # z は list の list # d$lat <- as.numeric(sapply(z, "[", "lat")) # z の各要素に["lat"] を適用ののち単純数値に # d$long <- as.numeric(sapply(z, "[", "long")) # long についても同様に。 meshcode_to_latlong <- function (code, loc = "C") { code <- as.character(code) if (length(grep("^[0-9]{4}", code)) == 1) { code12 <- as.numeric(substring(code, 1, 2)) code34 <- as.numeric(substring(code, 3, 4)) lat_width <- 2 / 3; long_width <- 1; } else { return(NULL) } if (length(grep("^[0-9]{6}", code)) == 1) { code5 <- as.numeric(substring(code, 5, 5)) code6 <- as.numeric(substring(code, 6, 6)) lat_width <- lat_width / 8; long_width <- long_width / 8; } if (length(grep("^[0-9]{8}", code)) == 1) { code7 <- as.numeric(substring(code, 7, 7)) code8 <- as.numeric(substring(code, 8, 8)) lat_width <- lat_width / 10; long_width <- long_width / 10; } # 以下、南西コーナーの座標を求める。 lat <- code12 * 2 / 3; # 一次メッシュ long <- code34 + 100; if (exists("code5") && exists("code6")) { # 二次メッシュ lat <- lat + (code5 * 2 / 3) / 8; long <- long + code6 / 8; } if (exists("code7") && exists("code8")) { # 三次メッシュ lat <- lat + (code7 * 2 / 3) / 8 / 10; long <- long + code8 / 8 / 10; } if (loc == "C") { # 中央の座標 lat <- lat + lat_width / 2; long <- long + long_width / 2; } if (length(grep("N", loc)) == 1) { # 北端の座標 lat <- lat + lat_width; } if (length(grep("E", loc) == 1)) { # 東端の座標 long <- long +long_width; } lat <- sprintf("%.8f", lat); # 小数点以下8桁まで。 long <- sprintf("%.8f", long); x <- list(as.numeric(lat), as.numeric(long)) names(x) <- c("lat", "long") return (x) } ############################# # 全国の二次メッシュ 4473 個が列 (mesh_code) にしまわれたデータフレームを返す。 # # 2次メッシュコードは、気象庁のメッシュ2000 気候値のデータセットでデータが提供されている # 地域をベースにしている。必ずしも日本の領域すべてを カバーするものではない。 get_secondary_mesh <- function() { d <- data.frame(c( 362257, 362306, 362327, 362335, 362336, 362337, 362345, 362346, 362347, 362350, 362356, 362420, 362430, 362431, 362440, 362441, 362450, 362451, 362462, 362475, 364120, 372502, 372503, 372511, 372512, 372513, 372521, 372522, 374112, 382343, 383162, 384112, 392636, 392645, 392646, 392705, 392712, 392715, 392716, 392721, 392722, 392725, 392726, 392727, 392735, 392736, 392737, 392741, 392745, 392746, 392747, 392755, 392756, 392757, 392761, 392766, 392767, 392771, 392776, 392777, 392860, 392861, 392870, 392871, 392872, 394271, 402706, 402707, 402727, 402737, 402747, 402800, 402801, 402802, 402811, 402812, 402822, 402840, 402843, 404241, 412804, 412805, 412815, 412837, 412847, 412857, 412861, 412867, 412940, 412950, 414231, 414241, 422901, 422902, 422911, 422912, 422913, 422921, 422922, 422923, 422931, 422932, 422933, 422934, 422937, 422942, 422943, 422944, 422945, 422947, 422954, 422955, 422965, 423030, 423040, 432817, 432951, 432962, 442914, 442935, 442944, 442956, 442957, 442964, 442966, 442967, 442977, 453023, 453024, 453033, 453034, 453035, 453043, 453044, 453045, 453046, 453047, 453051, 453052, 453053, 453054, 453056, 453057, 453067, 453077, 453160, 453170, 462917, 462927, 462963, 463006, 463007, 463012, 463013, 463016, 463035, 463045, 463046, 463054, 463055, 463056, 463057, 463063, 463064, 463065, 463066, 463067, 463071, 463072, 463073, 463074, 463075, 463076, 463077, 463100, 463110, 463160, 463170, 463171, 472935, 472945, 472946, 472956, 472957, 472966, 472967, 473000, 473001, 473002, 473003, 473004, 473006, 473007, 473011, 473012, 473013, 473014, 473015, 473016, 473017, 473022, 473023, 473024, 473025, 473026, 473027, 473032, 473033, 473034, 473035, 473036, 473037, 473041, 473042, 473043, 473044, 473045, 473046, 473047, 473051, 473052, 473053, 473054, 473055, 473056, 473057, 473061, 473062, 473063, 473064, 473065, 473066, 473067, 473071, 473072, 473073, 473074, 473075, 473076, 473077, 473100, 473101, 473102, 473110, 473111, 473112, 473113, 473120, 473121, 473122, 473123, 473130, 473131, 473132, 473133, 473140, 473141, 473142, 473143, 473150, 473151, 473152, 473153, 473160, 473161, 473162, 473163, 473170, 473171, 473172, 473173, 482803, 482866, 482867, 482874, 482875, 482876, 482877, 482927, 482937, 482947, 482965, 482966, 482976, 482977, 483001, 483002, 483003, 483004, 483005, 483006, 483007, 483010, 483011, 483012, 483013, 483014, 483015, 483016, 483017, 483020, 483021, 483022, 483023, 483024, 483025, 483026, 483027, 483030, 483031, 483032, 483033, 483034, 483035, 483036, 483037, 483040, 483041, 483042, 483043, 483044, 483045, 483046, 483047, 483050, 483051, 483052, 483053, 483054, 483055, 483056, 483057, 483060, 483061, 483062, 483063, 483064, 483065, 483066, 483067, 483071, 483072, 483073, 483074, 483075, 483076, 483077, 483100, 483101, 483102, 483103, 483104, 483110, 483111, 483112, 483113, 483114, 483120, 483121, 483122, 483123, 483124, 483130, 483131, 483132, 483133, 483134, 483140, 483141, 483142, 483143, 483144, 483145, 483150, 483151, 483152, 483153, 483154, 483155, 483160, 483161, 483162, 483163, 483164, 483165, 483170, 483171, 483172, 483173, 483174, 483175, 483176, 483956, 492804, 492805, 492806, 492807, 492815, 492816, 492817, 492827, 492837, 492906, 492907, 492910, 492915, 492916, 492917, 492920, 492925, 492926, 492927, 492930, 492931, 492934, 492935, 492936, 492937, 492940, 492941, 492942, 492944, 492945, 492946, 492947, 492950, 492951, 492954, 492955, 492956, 492957, 492960, 492961, 492962, 492963, 492964, 492965, 492966, 492967, 492970, 492971, 492973, 492974, 492975, 492976, 492977, 493001, 493002, 493004, 493005, 493006, 493007, 493010, 493011, 493012, 493014, 493015, 493016, 493017, 493020, 493021, 493022, 493023, 493024, 493025, 493026, 493027, 493030, 493031, 493033, 493034, 493035, 493036, 493037, 493040, 493041, 493043, 493044, 493045, 493046, 493047, 493050, 493051, 493052, 493053, 493054, 493055, 493056, 493057, 493060, 493061, 493062, 493063, 493064, 493065, 493066, 493067, 493070, 493071, 493072, 493073, 493074, 493075, 493076, 493077, 493100, 493101, 493102, 493103, 493104, 493105, 493106, 493107, 493110, 493111, 493112, 493113, 493114, 493115, 493116, 493117, 493120, 493121, 493122, 493123, 493124, 493125, 493126, 493127, 493130, 493131, 493132, 493133, 493134, 493135, 493136, 493137, 493140, 493141, 493142, 493143, 493144, 493145, 493146, 493147, 493150, 493151, 493152, 493153, 493154, 493155, 493156, 493157, 493160, 493161, 493162, 493163, 493164, 493165, 493166, 493167, 493170, 493171, 493172, 493173, 493174, 493175, 493177, 493204, 493207, 493210, 493215, 493216, 493217, 493220, 493223, 493224, 493225, 493226, 493227, 493230, 493233, 493234, 493235, 493236, 493237, 493240, 493243, 493244, 493245, 493246, 493247, 493252, 493253, 493254, 493255, 493256, 493257, 493262, 493263, 493264, 493265, 493266, 493267, 493273, 493274, 493275, 493276, 493277, 493300, 493310, 493320, 493330, 493340, 493350, 493351, 493360, 493361, 493370, 493371, 493372, 493461, 493470, 493471, 493956, 502903, 502904, 502905, 502906, 502907, 502913, 502914, 502915, 502916, 502917, 502926, 502927, 502936, 502945, 502946, 502955, 502956, 502965, 502966, 503000, 503001, 503002, 503003, 503004, 503005, 503006, 503007, 503010, 503011, 503012, 503013, 503014, 503015, 503016, 503017, 503020, 503021, 503022, 503023, 503024, 503025, 503026, 503027, 503030, 503031, 503032, 503033, 503034, 503035, 503036, 503037, 503041, 503042, 503043, 503044, 503045, 503046, 503047, 503053, 503054, 503055, 503056, 503057, 503063, 503064, 503065, 503066, 503067, 503075, 503076, 503077, 503100, 503101, 503102, 503103, 503104, 503105, 503110, 503111, 503112, 503113, 503114, 503115, 503120, 503121, 503122, 503123, 503124, 503125, 503130, 503131, 503132, 503133, 503134, 503135, 503140, 503144, 503145, 503157, 503160, 503170, 503171, 503172, 503173, 503174, 503176, 503177, 503200, 503201, 503203, 503204, 503205, 503206, 503207, 503211, 503212, 503213, 503214, 503215, 503216, 503217, 503222, 503223, 503224, 503225, 503226, 503227, 503233, 503234, 503235, 503236, 503237, 503241, 503244, 503245, 503246, 503247, 503250, 503251, 503252, 503255, 503256, 503257, 503260, 503261, 503262, 503263, 503265, 503266, 503267, 503270, 503271, 503272, 503273, 503274, 503275, 503276, 503277, 503300, 503301, 503302, 503303, 503310, 503311, 503312, 503313, 503314, 503317, 503320, 503321, 503322, 503323, 503324, 503325, 503326, 503327, 503330, 503331, 503332, 503333, 503334, 503335, 503336, 503337, 503340, 503341, 503342, 503343, 503344, 503345, 503346, 503347, 503350, 503351, 503352, 503353, 503354, 503355, 503356, 503357, 503360, 503361, 503362, 503363, 503364, 503365, 503366, 503367, 503370, 503371, 503372, 503373, 503374, 503375, 503376, 503377, 503400, 503401, 503410, 503411, 503412, 503420, 503421, 503422, 503430, 503431, 503432, 503433, 503440, 503441, 503442, 503443, 503444, 503450, 503451, 503452, 503453, 503454, 503455, 503460, 503461, 503462, 503463, 503464, 503465, 503466, 503470, 503471, 503472, 503473, 503474, 503475, 503515, 503516, 503523, 503524, 503525, 503526, 503527, 503532, 503533, 503534, 503535, 503536, 503537, 503542, 503543, 503544, 503545, 503546, 503547, 503551, 503552, 503553, 503554, 503555, 503556, 503557, 503560, 503561, 503562, 503563, 503564, 503565, 503566, 503567, 503570, 503571, 503572, 503573, 503574, 503575, 503576, 503577, 503640, 503650, 503660, 503661, 503670, 503671, 503672, 503964, 512911, 512912, 512921, 512922, 512931, 512932, 512933, 512941, 512942, 512943, 512952, 512953, 512962, 512963, 512972, 512973, 513007, 513016, 513017, 513027, 513037, 513046, 513047, 513057, 513100, 513101, 513102, 513103, 513104, 513105, 513106, 513107, 513110, 513111, 513112, 513113, 513114, 513115, 513116, 513117, 513120, 513121, 513122, 513123, 513124, 513125, 513126, 513127, 513130, 513131, 513132, 513133, 513134, 513135, 513136, 513137, 513140, 513141, 513142, 513143, 513144, 513145, 513146, 513147, 513151, 513152, 513153, 513154, 513155, 513156, 513157, 513162, 513163, 513164, 513165, 513166, 513167, 513174, 513175, 513176, 513177, 513200, 513201, 513203, 513204, 513206, 513207, 513210, 513211, 513213, 513214, 513216, 513217, 513220, 513221, 513222, 513223, 513224, 513225, 513226, 513227, 513230, 513231, 513232, 513233, 513234, 513235, 513236, 513237, 513240, 513241, 513242, 513243, 513244, 513245, 513246, 513247, 513250, 513251, 513252, 513253, 513254, 513255, 513256, 513257, 513260, 513261, 513262, 513263, 513264, 513265, 513266, 513267, 513270, 513271, 513272, 513273, 513274, 513275, 513276, 513277, 513300, 513304, 513305, 513306, 513307, 513310, 513315, 513316, 513317, 513320, 513321, 513322, 513324, 513325, 513326, 513327, 513330, 513331, 513334, 513335, 513336, 513337, 513340, 513341, 513342, 513343, 513344, 513345, 513346, 513347, 513350, 513351, 513352, 513353, 513354, 513355, 513356, 513357, 513360, 513361, 513362, 513363, 513364, 513365, 513366, 513367, 513370, 513371, 513372, 513373, 513374, 513375, 513376, 513377, 513400, 513401, 513402, 513403, 513404, 513410, 513411, 513412, 513413, 513414, 513415, 513416, 513420, 513421, 513422, 513423, 513424, 513425, 513426, 513427, 513430, 513431, 513432, 513435, 513436, 513437, 513440, 513441, 513442, 513445, 513446, 513447, 513450, 513451, 513452, 513456, 513457, 513460, 513461, 513462, 513466, 513467, 513470, 513471, 513473, 513474, 513477, 513500, 513501, 513502, 513503, 513504, 513505, 513506, 513507, 513510, 513511, 513512, 513513, 513514, 513515, 513516, 513517, 513520, 513521, 513522, 513523, 513524, 513525, 513526, 513527, 513530, 513531, 513532, 513533, 513534, 513535, 513536, 513537, 513541, 513542, 513543, 513544, 513545, 513546, 513547, 513552, 513553, 513554, 513555, 513556, 513557, 513560, 513563, 513564, 513565, 513566, 513567, 513570, 513571, 513573, 513574, 513575, 513576, 513577, 513600, 513601, 513602, 513610, 513611, 513612, 513620, 513621, 513622, 513623, 513624, 513630, 513631, 513632, 513633, 513634, 513635, 513636, 513637, 513640, 513641, 513642, 513643, 513644, 513645, 513646, 513647, 513650, 513651, 513652, 513653, 513654, 513655, 513656, 513657, 513660, 513661, 513662, 513663, 513664, 513665, 513666, 513667, 513670, 513671, 513672, 513673, 513674, 513675, 513760, 513770, 513771, 513772, 513773, 513775, 513776, 513777, 513870, 513871, 513876, 513877, 513904, 513921, 513942, 513962, 522903, 523105, 523106, 523107, 523111, 523117, 523200, 523201, 523202, 523203, 523204, 523205, 523206, 523207, 523210, 523211, 523212, 523213, 523214, 523215, 523216, 523217, 523220, 523221, 523222, 523223, 523224, 523225, 523226, 523227, 523230, 523231, 523232, 523233, 523234, 523235, 523236, 523237, 523241, 523242, 523243, 523244, 523245, 523246, 523247, 523252, 523253, 523254, 523255, 523256, 523257, 523263, 523264, 523265, 523266, 523267, 523274, 523275, 523276, 523277, 523300, 523301, 523302, 523303, 523304, 523305, 523306, 523307, 523310, 523311, 523312, 523313, 523314, 523315, 523316, 523317, 523320, 523321, 523322, 523323, 523324, 523325, 523326, 523327, 523330, 523331, 523332, 523333, 523334, 523335, 523336, 523337, 523340, 523341, 523342, 523343, 523344, 523345, 523346, 523347, 523350, 523351, 523352, 523353, 523354, 523355, 523356, 523357, 523360, 523361, 523362, 523363, 523364, 523365, 523366, 523367, 523370, 523371, 523372, 523373, 523374, 523375, 523376, 523377, 523400, 523401, 523402, 523403, 523404, 523406, 523407, 523410, 523411, 523412, 523413, 523414, 523415, 523416, 523417, 523420, 523421, 523422, 523423, 523424, 523425, 523426, 523427, 523430, 523431, 523432, 523433, 523434, 523435, 523436, 523437, 523440, 523441, 523442, 523443, 523444, 523445, 523446, 523447, 523450, 523451, 523452, 523453, 523454, 523455, 523456, 523457, 523460, 523461, 523462, 523463, 523464, 523465, 523466, 523467, 523470, 523471, 523472, 523473, 523474, 523475, 523476, 523477, 523500, 523501, 523502, 523503, 523504, 523505, 523506, 523507, 523510, 523511, 523512, 523513, 523514, 523515, 523516, 523517, 523520, 523521, 523522, 523523, 523524, 523525, 523526, 523527, 523530, 523531, 523532, 523533, 523534, 523535, 523536, 523537, 523540, 523541, 523542, 523543, 523544, 523545, 523546, 523547, 523550, 523551, 523552, 523553, 523554, 523555, 523556, 523557, 523560, 523561, 523562, 523563, 523564, 523565, 523566, 523567, 523570, 523571, 523572, 523573, 523574, 523575, 523576, 523577, 523600, 523601, 523602, 523603, 523604, 523606, 523607, 523610, 523611, 523612, 523613, 523614, 523616, 523617, 523620, 523621, 523622, 523623, 523624, 523625, 523626, 523627, 523630, 523631, 523632, 523633, 523634, 523635, 523636, 523637, 523640, 523641, 523642, 523643, 523644, 523645, 523646, 523647, 523650, 523651, 523652, 523653, 523654, 523655, 523656, 523657, 523660, 523661, 523662, 523663, 523664, 523665, 523666, 523667, 523670, 523671, 523672, 523673, 523674, 523675, 523676, 523677, 523701, 523702, 523703, 523704, 523705, 523706, 523707, 523710, 523711, 523712, 523713, 523714, 523715, 523716, 523717, 523720, 523721, 523722, 523723, 523724, 523725, 523726, 523727, 523730, 523731, 523732, 523733, 523734, 523735, 523736, 523737, 523740, 523741, 523742, 523743, 523744, 523745, 523746, 523747, 523750, 523751, 523752, 523753, 523754, 523755, 523756, 523757, 523760, 523761, 523762, 523763, 523764, 523765, 523766, 523767, 523770, 523771, 523772, 523773, 523774, 523775, 523776, 523777, 523800, 523801, 523802, 523806, 523807, 523810, 523811, 523812, 523816, 523817, 523820, 523821, 523822, 523826, 523827, 523830, 523831, 523832, 523833, 523834, 523836, 523837, 523840, 523841, 523842, 523843, 523844, 523846, 523847, 523850, 523851, 523852, 523853, 523854, 523855, 523856, 523857, 523860, 523861, 523862, 523863, 523864, 523865, 523866, 523867, 523870, 523871, 523872, 523873, 523874, 523875, 523876, 523877, 523900, 523903, 523910, 523920, 523921, 523926, 523927, 523930, 523931, 523936, 523937, 523940, 523946, 523947, 523950, 523951, 523954, 523955, 523956, 523957, 523960, 523961, 523964, 523965, 523966, 523967, 523970, 523971, 523972, 523973, 523974, 523975, 523976, 523977, 524040, 524050, 524051, 524052, 524060, 524061, 524062, 524063, 524070, 524071, 524072, 524073, 533205, 533206, 533207, 533215, 533216, 533217, 533226, 533227, 533300, 533301, 533302, 533303, 533304, 533305, 533306, 533307, 533310, 533311, 533312, 533313, 533314, 533315, 533316, 533317, 533320, 533321, 533322, 533323, 533324, 533325, 533327, 533330, 533400, 533401, 533402, 533403, 533404, 533405, 533406, 533407, 533410, 533411, 533412, 533413, 533414, 533415, 533416, 533417, 533420, 533421, 533422, 533423, 533424, 533425, 533426, 533427, 533432, 533433, 533434, 533435, 533436, 533437, 533447, 533500, 533501, 533502, 533503, 533504, 533505, 533506, 533507, 533510, 533511, 533512, 533513, 533514, 533515, 533516, 533517, 533520, 533521, 533522, 533523, 533524, 533525, 533526, 533527, 533530, 533531, 533532, 533533, 533536, 533537, 533540, 533541, 533542, 533547, 533551, 533577, 533600, 533601, 533602, 533603, 533604, 533605, 533606, 533607, 533610, 533611, 533612, 533613, 533614, 533615, 533616, 533617, 533620, 533621, 533622, 533623, 533624, 533625, 533626, 533627, 533630, 533631, 533632, 533633, 533634, 533635, 533636, 533637, 533640, 533641, 533642, 533643, 533644, 533645, 533646, 533647, 533650, 533651, 533652, 533653, 533654, 533655, 533656, 533657, 533660, 533661, 533662, 533663, 533664, 533665, 533666, 533667, 533670, 533671, 533672, 533673, 533674, 533675, 533676, 533677, 533700, 533701, 533702, 533703, 533704, 533705, 533706, 533707, 533710, 533711, 533712, 533713, 533714, 533715, 533716, 533717, 533720, 533721, 533722, 533723, 533724, 533725, 533726, 533727, 533730, 533731, 533732, 533733, 533734, 533735, 533736, 533737, 533740, 533741, 533742, 533743, 533744, 533745, 533746, 533747, 533750, 533751, 533752, 533753, 533754, 533755, 533756, 533757, 533760, 533761, 533762, 533763, 533764, 533765, 533766, 533767, 533770, 533771, 533772, 533773, 533774, 533775, 533776, 533777, 533800, 533801, 533802, 533803, 533804, 533805, 533806, 533807, 533810, 533811, 533812, 533813, 533814, 533815, 533816, 533817, 533820, 533821, 533822, 533823, 533824, 533825, 533826, 533827, 533830, 533831, 533832, 533833, 533834, 533835, 533836, 533837, 533840, 533841, 533842, 533843, 533844, 533845, 533846, 533847, 533850, 533851, 533852, 533853, 533854, 533855, 533856, 533857, 533860, 533861, 533862, 533863, 533864, 533865, 533866, 533867, 533870, 533871, 533872, 533873, 533874, 533875, 533876, 533877, 533900, 533901, 533902, 533903, 533904, 533905, 533906, 533907, 533910, 533911, 533912, 533913, 533914, 533915, 533917, 533920, 533921, 533922, 533923, 533924, 533925, 533926, 533930, 533931, 533932, 533933, 533934, 533935, 533936, 533937, 533940, 533941, 533942, 533943, 533944, 533945, 533946, 533947, 533950, 533951, 533952, 533953, 533954, 533955, 533956, 533957, 533960, 533961, 533962, 533963, 533964, 533965, 533966, 533967, 533970, 533971, 533972, 533973, 533974, 533975, 533976, 533977, 534000, 534001, 534002, 534003, 534010, 534011, 534012, 534013, 534020, 534021, 534022, 534023, 534030, 534031, 534032, 534033, 534034, 534040, 534041, 534042, 534043, 534044, 534045, 534046, 534050, 534051, 534052, 534053, 534054, 534055, 534056, 534060, 534061, 534062, 534063, 534064, 534065, 534066, 534070, 534071, 534072, 534073, 534074, 534075, 543300, 543310, 543321, 543322, 543331, 543332, 543333, 543507, 543600, 543601, 543602, 543603, 543604, 543605, 543606, 543607, 543610, 543611, 543612, 543613, 543614, 543615, 543616, 543617, 543620, 543621, 543622, 543623, 543624, 543625, 543626, 543627, 543631, 543632, 543633, 543634, 543635, 543636, 543637, 543642, 543643, 543644, 543645, 543646, 543647, 543653, 543654, 543655, 543656, 543657, 543664, 543665, 543666, 543667, 543674, 543675, 543676, 543677, 543700, 543701, 543702, 543703, 543704, 543705, 543706, 543707, 543710, 543711, 543712, 543713, 543714, 543715, 543716, 543717, 543720, 543721, 543722, 543723, 543724, 543725, 543726, 543727, 543730, 543731, 543732, 543733, 543734, 543735, 543736, 543737, 543740, 543741, 543742, 543743, 543744, 543745, 543746, 543747, 543750, 543751, 543752, 543753, 543754, 543755, 543756, 543757, 543760, 543761, 543762, 543763, 543764, 543765, 543766, 543767, 543770, 543771, 543772, 543773, 543774, 543775, 543776, 543777, 543800, 543801, 543802, 543803, 543804, 543805, 543806, 543807, 543810, 543811, 543812, 543813, 543814, 543815, 543816, 543817, 543820, 543821, 543822, 543823, 543824, 543825, 543826, 543827, 543830, 543831, 543832, 543833, 543834, 543835, 543836, 543837, 543840, 543841, 543842, 543843, 543844, 543845, 543846, 543847, 543850, 543851, 543852, 543853, 543854, 543855, 543856, 543857, 543860, 543861, 543862, 543863, 543864, 543865, 543866, 543867, 543870, 543871, 543872, 543873, 543874, 543875, 543876, 543877, 543900, 543901, 543902, 543903, 543904, 543905, 543906, 543907, 543910, 543911, 543912, 543913, 543914, 543915, 543916, 543917, 543920, 543921, 543922, 543923, 543924, 543925, 543926, 543927, 543930, 543931, 543932, 543933, 543934, 543935, 543936, 543937, 543940, 543941, 543942, 543943, 543944, 543945, 543946, 543947, 543950, 543951, 543952, 543953, 543954, 543955, 543956, 543957, 543960, 543961, 543962, 543963, 543964, 543965, 543966, 543967, 543970, 543971, 543972, 543973, 543974, 543975, 543976, 543977, 544000, 544001, 544002, 544003, 544004, 544005, 544010, 544011, 544012, 544013, 544014, 544020, 544021, 544022, 544023, 544024, 544030, 544031, 544032, 544033, 544034, 544040, 544041, 544042, 544043, 544044, 544050, 544051, 544052, 544053, 544054, 544060, 544061, 544062, 544063, 544064, 544065, 544070, 544071, 544072, 544073, 544074, 544075, 553605, 553606, 553607, 553615, 553616, 553617, 553626, 553627, 553636, 553637, 553645, 553646, 553647, 553655, 553656, 553657, 553665, 553666, 553667, 553675, 553676, 553677, 553700, 553701, 553702, 553703, 553704, 553705, 553706, 553707, 553710, 553711, 553712, 553713, 553714, 553715, 553716, 553717, 553720, 553723, 553724, 553725, 553726, 553727, 553730, 553733, 553734, 553735, 553736, 553737, 553740, 553745, 553746, 553747, 553750, 553757, 553760, 553770, 553771, 553772, 553800, 553801, 553802, 553803, 553804, 553805, 553806, 553807, 553810, 553811, 553812, 553813, 553814, 553815, 553816, 553817, 553820, 553821, 553822, 553823, 553824, 553825, 553826, 553827, 553830, 553831, 553832, 553833, 553834, 553835, 553836, 553837, 553840, 553841, 553842, 553843, 553844, 553845, 553846, 553847, 553850, 553851, 553852, 553853, 553854, 553855, 553856, 553857, 553861, 553862, 553863, 553864, 553865, 553866, 553867, 553872, 553873, 553874, 553875, 553876, 553877, 553900, 553901, 553902, 553903, 553904, 553905, 553906, 553907, 553910, 553911, 553912, 553913, 553914, 553915, 553916, 553917, 553920, 553921, 553922, 553923, 553924, 553925, 553926, 553927, 553930, 553931, 553932, 553933, 553934, 553935, 553936, 553937, 553940, 553941, 553942, 553943, 553944, 553945, 553946, 553947, 553950, 553951, 553952, 553953, 553954, 553955, 553956, 553957, 553960, 553961, 553962, 553963, 553964, 553965, 553966, 553967, 553970, 553971, 553972, 553973, 553974, 553975, 553976, 553977, 554000, 554001, 554002, 554003, 554004, 554005, 554010, 554011, 554012, 554013, 554014, 554015, 554016, 554020, 554021, 554022, 554023, 554024, 554025, 554026, 554030, 554031, 554032, 554033, 554034, 554035, 554036, 554037, 554040, 554041, 554042, 554043, 554044, 554045, 554046, 554047, 554050, 554051, 554052, 554053, 554054, 554055, 554056, 554057, 554060, 554061, 554062, 554063, 554064, 554065, 554066, 554067, 554070, 554071, 554072, 554073, 554074, 554075, 554076, 554077, 554160, 554170, 563605, 563606, 563607, 563700, 563701, 563702, 563710, 563711, 563712, 563721, 563722, 563803, 563804, 563805, 563806, 563807, 563814, 563815, 563816, 563817, 563825, 563826, 563827, 563835, 563836, 563837, 563846, 563847, 563851, 563852, 563856, 563857, 563862, 563863, 563867, 563871, 563872, 563873, 563874, 563900, 563901, 563902, 563903, 563904, 563905, 563906, 563907, 563910, 563911, 563912, 563913, 563914, 563915, 563916, 563917, 563920, 563921, 563922, 563923, 563924, 563925, 563926, 563927, 563930, 563931, 563932, 563933, 563934, 563935, 563936, 563937, 563940, 563941, 563942, 563943, 563944, 563945, 563946, 563947, 563950, 563951, 563952, 563953, 563954, 563955, 563956, 563957, 563960, 563961, 563962, 563963, 563964, 563965, 563966, 563967, 563970, 563971, 563972, 563973, 563974, 563975, 563976, 563977, 564000, 564001, 564002, 564003, 564004, 564005, 564006, 564007, 564010, 564011, 564012, 564013, 564014, 564015, 564016, 564017, 564020, 564021, 564022, 564023, 564024, 564025, 564026, 564027, 564030, 564031, 564032, 564033, 564034, 564035, 564036, 564037, 564040, 564041, 564042, 564043, 564044, 564045, 564046, 564047, 564050, 564051, 564052, 564053, 564054, 564055, 564056, 564057, 564060, 564061, 564062, 564063, 564064, 564065, 564066, 564067, 564070, 564071, 564072, 564073, 564074, 564075, 564076, 564077, 564100, 564110, 564120, 564130, 564140, 573801, 573802, 573803, 573804, 573812, 573813, 573822, 573823, 573824, 573833, 573834, 573902, 573903, 573904, 573905, 573906, 573907, 573912, 573913, 573914, 573915, 573916, 573917, 573923, 573924, 573925, 573926, 573927, 573933, 573934, 573935, 573936, 573937, 573943, 573944, 573945, 573946, 573947, 573951, 573952, 573953, 573954, 573955, 573956, 573957, 573964, 573965, 573966, 573967, 573974, 573975, 573976, 573977, 574000, 574001, 574002, 574003, 574004, 574005, 574006, 574007, 574010, 574011, 574012, 574013, 574014, 574015, 574016, 574017, 574020, 574021, 574022, 574023, 574024, 574025, 574026, 574027, 574030, 574031, 574032, 574033, 574034, 574035, 574036, 574037, 574040, 574041, 574042, 574043, 574044, 574045, 574046, 574047, 574050, 574051, 574052, 574053, 574054, 574055, 574056, 574057, 574060, 574061, 574062, 574063, 574064, 574065, 574066, 574067, 574070, 574071, 574072, 574073, 574074, 574075, 574076, 574077, 574120, 574130, 574131, 574133, 574134, 574140, 574141, 574142, 574143, 574144, 574150, 574151, 574152, 574153, 574154, 574160, 574161, 574162, 574163, 574164, 574170, 574171, 574172, 574173, 574174, 583904, 583905, 583906, 583907, 583915, 583916, 583917, 583926, 583927, 583936, 583937, 583946, 583947, 583957, 583964, 583967, 583977, 584000, 584001, 584002, 584003, 584004, 584005, 584006, 584007, 584010, 584011, 584012, 584013, 584014, 584015, 584016, 584017, 584020, 584021, 584022, 584023, 584024, 584025, 584026, 584027, 584030, 584031, 584032, 584033, 584034, 584035, 584036, 584037, 584040, 584041, 584042, 584043, 584044, 584045, 584046, 584047, 584050, 584051, 584052, 584053, 584054, 584055, 584056, 584057, 584060, 584061, 584062, 584063, 584064, 584065, 584066, 584067, 584070, 584071, 584072, 584073, 584074, 584075, 584076, 584077, 584100, 584101, 584102, 584103, 584104, 584110, 584111, 584112, 584113, 584114, 584120, 584121, 584122, 584123, 584124, 584125, 584130, 584131, 584132, 584133, 584134, 584135, 584140, 584141, 584142, 584143, 584144, 584145, 584146, 584150, 584151, 584152, 584153, 584154, 584155, 584156, 584157, 584160, 584161, 584162, 584163, 584164, 584165, 584166, 584167, 584170, 584171, 584172, 584173, 584174, 584175, 584176, 584177, 593965, 593966, 593967, 593975, 593976, 593977, 594000, 594001, 594002, 594003, 594004, 594005, 594006, 594007, 594010, 594011, 594012, 594013, 594014, 594015, 594016, 594017, 594020, 594021, 594022, 594023, 594024, 594025, 594026, 594027, 594030, 594031, 594032, 594033, 594034, 594035, 594036, 594037, 594040, 594041, 594042, 594043, 594044, 594045, 594046, 594047, 594050, 594051, 594052, 594053, 594054, 594055, 594056, 594057, 594060, 594061, 594062, 594063, 594064, 594065, 594066, 594067, 594070, 594071, 594072, 594073, 594074, 594075, 594076, 594077, 594100, 594101, 594102, 594103, 594104, 594105, 594106, 594107, 594110, 594111, 594112, 594113, 594114, 594115, 594116, 594117, 594120, 594121, 594122, 594123, 594124, 594125, 594126, 594127, 594130, 594131, 594132, 594133, 594134, 594135, 594136, 594137, 594140, 594141, 594142, 594143, 594144, 594145, 594146, 594147, 594150, 594151, 594152, 594153, 594154, 594155, 594156, 594157, 594160, 594161, 594162, 594163, 594164, 594165, 594166, 594167, 594170, 594171, 594172, 594173, 594174, 594175, 594176, 594177, 594200, 594210, 594220, 594230, 603907, 603917, 603947, 603957, 603967, 603976, 603977, 604000, 604001, 604002, 604003, 604004, 604005, 604006, 604007, 604010, 604011, 604012, 604013, 604014, 604015, 604016, 604017, 604020, 604021, 604022, 604023, 604024, 604025, 604026, 604027, 604030, 604031, 604032, 604033, 604034, 604035, 604036, 604037, 604040, 604041, 604042, 604043, 604044, 604045, 604046, 604047, 604050, 604051, 604052, 604053, 604054, 604055, 604056, 604057, 604060, 604061, 604062, 604063, 604064, 604065, 604066, 604067, 604070, 604071, 604072, 604073, 604074, 604075, 604076, 604077, 604100, 604101, 604102, 604103, 604104, 604105, 604106, 604107, 604110, 604111, 604112, 604113, 604114, 604115, 604116, 604120, 604121, 604122, 604123, 604124, 604125, 604126, 604130, 604131, 604132, 604133, 604134, 604135, 604136, 604140, 604141, 604142, 604143, 604144, 604145, 604146, 604150, 604151, 604152, 604153, 604154, 604155, 604160, 604161, 604162, 604163, 604164, 604170, 604171, 604172, 604173, 613907, 614000, 614001, 614002, 614003, 614004, 614005, 614006, 614007, 614010, 614011, 614012, 614013, 614014, 614015, 614016, 614017, 614022, 614023, 614024, 614025, 614026, 614027, 614032, 614033, 614034, 614035, 614036, 614037, 614042, 614043, 614044, 614045, 614047, 614052, 614053, 614054, 614055, 614056, 614057, 614062, 614063, 614064, 614065, 614066, 614067, 614076, 614077, 614100, 614101, 614102, 614103, 614110, 614111, 614112, 614113, 614120, 614121, 614122, 614123, 614130, 614131, 614132, 614133, 614141, 614142, 614143, 614152, 614153, 614160, 614161, 614162, 614163, 614170, 614171, 614172, 614173, 623906, 623922, 623923, 623927, 623937, 624001, 624006, 624007, 624010, 624011, 624012, 624016, 624017, 624020, 624021, 624022, 624023, 624027, 624030, 624031, 624032, 624033, 624040, 624041, 624042, 624043, 624044, 624045, 624047, 624050, 624051, 624052, 624053, 624054, 624055, 624056, 624057, 624061, 624062, 624063, 624064, 624065, 624066, 624067, 624071, 624072, 624073, 624074, 624075, 624076, 624077, 624100, 624101, 624102, 624103, 624110, 624111, 624140, 624150, 624151, 624160, 624161, 624371, 624372, 633903, 633913, 633914, 633917, 633923, 633924, 633926, 633927, 633936, 633937, 633946, 633947, 633956, 633957, 633966, 633967, 633976, 633977, 634000, 634001, 634002, 634003, 634004, 634005, 634006, 634010, 634011, 634012, 634013, 634014, 634015, 634016, 634020, 634021, 634022, 634023, 634030, 634031, 634032, 634037, 634040, 634041, 634042, 634047, 634050, 634051, 634052, 634056, 634057, 634060, 634061, 634062, 634063, 634064, 634065, 634066, 634067, 634070, 634071, 634072, 634073, 634074, 634075, 634076, 634077, 634130, 634140, 634150, 634151, 634152, 634160, 634161, 634162, 634163, 634167, 634170, 634171, 634172, 634173, 634174, 634175, 634176, 634177, 634216, 634217, 634224, 634225, 634226, 634227, 634233, 634234, 634235, 634236, 634237, 634241, 634242, 634243, 634244, 634245, 634246, 634247, 634250, 634251, 634252, 634253, 634254, 634255, 634256, 634257, 634260, 634261, 634262, 634263, 634264, 634265, 634266, 634267, 634270, 634271, 634272, 634273, 634274, 634275, 634276, 634277, 634300, 634301, 634302, 634310, 634311, 634312, 634320, 634321, 634322, 634330, 634331, 634332, 634340, 634341, 634342, 634343, 634350, 634351, 634352, 634353, 634360, 634361, 634362, 634363, 634364, 634370, 634371, 634372, 634373, 634374, 643907, 644000, 644001, 644002, 644003, 644004, 644005, 644006, 644007, 644011, 644012, 644013, 644014, 644015, 644016, 644017, 644022, 644023, 644024, 644025, 644026, 644027, 644033, 644034, 644035, 644036, 644037, 644043, 644044, 644045, 644046, 644047, 644053, 644054, 644055, 644056, 644057, 644062, 644063, 644064, 644065, 644066, 644067, 644072, 644073, 644074, 644075, 644100, 644101, 644102, 644103, 644104, 644105, 644106, 644107, 644110, 644111, 644112, 644113, 644114, 644115, 644116, 644117, 644120, 644121, 644122, 644123, 644124, 644125, 644126, 644127, 644130, 644131, 644132, 644133, 644134, 644135, 644136, 644137, 644140, 644141, 644142, 644143, 644144, 644145, 644146, 644147, 644150, 644151, 644152, 644153, 644154, 644155, 644156, 644157, 644160, 644162, 644163, 644164, 644165, 644166, 644167, 644173, 644174, 644175, 644176, 644177, 644200, 644201, 644202, 644203, 644204, 644205, 644206, 644207, 644210, 644211, 644212, 644213, 644214, 644215, 644216, 644217, 644220, 644221, 644222, 644223, 644224, 644225, 644226, 644227, 644230, 644231, 644232, 644233, 644234, 644235, 644236, 644237, 644240, 644241, 644242, 644243, 644244, 644245, 644246, 644247, 644250, 644251, 644252, 644253, 644254, 644255, 644256, 644257, 644260, 644261, 644262, 644263, 644264, 644265, 644266, 644267, 644270, 644271, 644272, 644273, 644274, 644275, 644276, 644277, 644300, 644301, 644302, 644303, 644304, 644305, 644310, 644311, 644312, 644313, 644314, 644315, 644316, 644320, 644321, 644322, 644323, 644324, 644325, 644326, 644327, 644330, 644331, 644332, 644333, 644334, 644335, 644336, 644337, 644340, 644341, 644342, 644343, 644344, 644345, 644346, 644347, 644350, 644351, 644352, 644353, 644354, 644355, 644356, 644357, 644360, 644361, 644362, 644363, 644364, 644365, 644366, 644367, 644370, 644371, 644372, 644373, 644374, 644375, 644376, 644377, 644430, 644431, 644432, 644433, 644434, 644435, 644436, 644437, 644440, 644441, 644442, 644443, 644444, 644445, 644446, 644447, 644450, 644451, 644452, 644453, 644454, 644455, 644456, 644457, 644460, 644461, 644462, 644463, 644464, 644465, 644466, 644467, 644470, 644471, 644472, 644473, 644474, 644475, 644476, 644477, 644530, 644540, 644541, 644550, 644551, 644552, 644554, 644560, 644561, 644562, 644563, 644564, 644570, 644571, 644572, 644573, 644574, 644575, 654003, 654004, 654103, 654104, 654105, 654106, 654107, 654113, 654114, 654115, 654116, 654117, 654122, 654123, 654124, 654125, 654126, 654127, 654132, 654133, 654134, 654135, 654136, 654137, 654142, 654143, 654144, 654145, 654146, 654147, 654152, 654153, 654154, 654155, 654156, 654157, 654164, 654165, 654166, 654167, 654175, 654176, 654177, 654200, 654201, 654202, 654203, 654204, 654205, 654206, 654207, 654210, 654211, 654212, 654213, 654214, 654215, 654216, 654217, 654220, 654221, 654222, 654223, 654224, 654225, 654226, 654227, 654230, 654231, 654232, 654233, 654234, 654235, 654236, 654237, 654240, 654241, 654242, 654243, 654244, 654245, 654246, 654247, 654250, 654251, 654252, 654253, 654254, 654255, 654256, 654257, 654260, 654261, 654262, 654263, 654264, 654265, 654266, 654267, 654270, 654271, 654272, 654273, 654274, 654275, 654276, 654277, 654300, 654301, 654302, 654303, 654304, 654305, 654306, 654307, 654310, 654311, 654312, 654313, 654314, 654315, 654316, 654317, 654320, 654321, 654322, 654323, 654324, 654325, 654326, 654327, 654330, 654331, 654332, 654333, 654334, 654335, 654336, 654337, 654340, 654341, 654342, 654343, 654344, 654345, 654346, 654347, 654350, 654351, 654352, 654353, 654354, 654355, 654356, 654357, 654360, 654361, 654362, 654363, 654364, 654365, 654366, 654367, 654370, 654371, 654372, 654373, 654374, 654375, 654376, 654377, 654400, 654401, 654402, 654403, 654404, 654405, 654406, 654407, 654410, 654411, 654412, 654413, 654414, 654415, 654416, 654417, 654420, 654421, 654422, 654423, 654424, 654425, 654426, 654427, 654430, 654431, 654432, 654433, 654434, 654435, 654436, 654437, 654440, 654441, 654442, 654443, 654444, 654445, 654446, 654447, 654450, 654451, 654452, 654453, 654454, 654455, 654456, 654457, 654460, 654461, 654462, 654463, 654464, 654465, 654466, 654467, 654470, 654471, 654472, 654473, 654474, 654476, 654477, 654500, 654501, 654502, 654504, 654505, 654506, 654510, 654511, 654512, 654520, 654521, 654522, 654530, 654531, 654532, 654540, 654550, 654560, 654570, 654571, 664105, 664106, 664107, 664115, 664116, 664117, 664125, 664126, 664127, 664135, 664136, 664137, 664142, 664145, 664146, 664147, 664152, 664153, 664156, 664157, 664166, 664167, 664176, 664177, 664200, 664201, 664202, 664203, 664204, 664205, 664206, 664207, 664210, 664211, 664212, 664213, 664214, 664215, 664216, 664217, 664220, 664221, 664222, 664223, 664224, 664225, 664226, 664227, 664230, 664231, 664232, 664233, 664234, 664235, 664236, 664237, 664240, 664241, 664242, 664243, 664244, 664245, 664246, 664247, 664250, 664251, 664252, 664253, 664254, 664255, 664256, 664257, 664260, 664261, 664262, 664263, 664264, 664265, 664266, 664267, 664270, 664271, 664272, 664273, 664274, 664275, 664276, 664277, 664300, 664301, 664302, 664303, 664304, 664305, 664306, 664307, 664310, 664311, 664312, 664313, 664314, 664315, 664316, 664317, 664320, 664321, 664322, 664323, 664324, 664325, 664330, 664331, 664332, 664333, 664334, 664340, 664341, 664342, 664350, 664351, 664360, 664400, 664401, 664402, 664407, 664410, 664411, 664412, 664500, 664501, 664510, 664511, 664512, 664521, 664522, 664531, 664532, 664542, 674106, 674107, 674116, 674117, 674125, 674126, 674127, 674135, 674136, 674137, 674145, 674146, 674147, 674151, 674152, 674154, 674155, 674156, 674157, 674161, 674162, 674164, 674165, 674166, 674167, 674170, 674174, 674175, 674176, 674177, 674200, 674201, 674202, 674203, 674204, 674205, 674206, 674210, 674211, 674212, 674213, 674214, 674215, 674220, 674221, 674222, 674223, 674224, 674225, 674230, 674231, 674232, 674233, 674234, 674240, 674241, 674242, 674243, 674244, 674250, 674251, 674252, 674253, 674260, 674261, 674262, 674270, 674271, 674272, 684007, 684017, 684100, 684105, 684106, 684107, 684110, 684115, 684116, 684117, 684127, 684200, 684201, 684210)) colnames(d) <- c('mesh_code') return (d); }