
R言語付属のサンプルデータベースをABC順に経めぐってます。今回は mapsパッケージの lakes です。世界の大きな湖を列挙した地図データ(ポリゴン)みたいです。しかし、データベースを眺めてみれば、アラル海は湖扱いでリスト入りしているのに、カスピ海は「海」扱い。そこの違いはどこに?ちゃんと根拠があるみたい。
※「データのお砂場」投稿順Indexはこちら
※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。
lakesMapEnv
今回は maps パッケージ内の lakesMapEnv というデータベースです。解説ページが以下に
https://search.r-project.org/CRAN/refmans/maps/html/lakes.html
世界地図上に描けるような大きな湖の地図データみたいです。データソースは、「パブリック・ドメインの地図」を公開していただいているNatural Earth様の3縮尺の地図のうち 1:50m(5000万分の1)だそうです。
例によって 「なんちゃらMapEnv」 という御名前のデータベースです。今まで見てきたように、実際の lakesMapEnv という名前で参照しているのは「環境変数」
R_MAP_DATA_DIR
であり、実体データはR_MAP_DATA_DIRが保持するパスの中の3種類のファイルです。そのうち、人間可読なお名前を列挙しているファイルが lakes.N ファイルです。そのファイルの冒頭部分が以下に。
湖のお名前が列挙されているので、このお名前で地図が描ける筈。しかし、湖によっては複数行にまたがってます。これは後程確認。
上記をみると、Aral Sea(アラル海)は含まれてますが、カスピ海は含まれていません。調べたらそれらしい理由が判明。小中学生のときの社会科で散々お世話になりました『帝国書院』様の以下のページです。
これをみると、カスピ海も「湖」扱いされてもよい地形ではあるものの、国際海洋法条約(1998年)で「海」として扱うことになったので「海」だそうです。「湖」と「海」では資源管理の方法が大きく異なるので、「沿岸の各国」の利害調整の結果みたいっす。大人の事情ってやつだね。
なお、どこまでの広さの湖をリストに入れたのかは不明です。調べるのがメンドイのよ。。。
先ずは生データ
形だけですが、サンプルデータベースをロードしてその中身を確認したところが以下に。単なる環境変数名デス。
処理例では白地図に白ヌキの湖を描いていて、小縮尺ではなんだか分からないので、敢えて「赤色」に塗ったものを描きました。
map('world') map('lakes', add=TRUE, fill=TRUE, col='red', boundary='black')
北米大陸が目立つのでそこを拡大してみた
なにやら北米大陸に湖リストに載っている湖どもが多そうなのでそこを拡大。今度は青色で塗ってます。
map('world', xlim=c(-130,-60), ylim=c(36, 70))
map('lakes', add=TRUE, fill=TRUE, col='blue', boundary='black', xlim=c(-130,-60), ylim=c(36, 70))
上記のプロット結果が以下に。
おお、5大湖から北西に向けて、大きな湖どもが並んでいるのね。これはかって北米大陸を覆っていた氷河のツメ痕?なのか。。。
左下の方に、ユタ州はグレートソルトレーク湖あり(塩の砂漠のグレートソルトレークデザートのお隣だけれども、こちらは水が溜まっている)、そこを拡大した図形を描くコードが以下に(テキスト付)
map.text('lakes', xlim=c(-114,-111), ylim=c(39, 42))
グレートソルトレーク湖は2個のポリゴンからできてます。湖の外形ともう一つ、右下(東南)の島の2図形です。右下の島は「アンテロープ島」という名の大きな島みたいです。ただし、水位によっては陸続きになって半島と化すらしいです。Googleマップで眺めると陸続きに描かれてます。現況は半島。
湖の水位低下の話は過去回でもサンプルデータベースを扱った遠い記憶。
データのお砂場(16) R言語、LakeHuron、ヒューロン湖の水位とな?
世界的に水位低下が問題になっている湖が多そうなんだが、どうなんだ?