Rでカンボジアの白地図を書く

Dr. Kazuhiro Fukuyo
Professor, Yamaguchi University
Last updated: September 8th, 2011

以前,Rを使って日本地図の塗り分けをしたわけですが,今回はカンボジアの地図の塗り分けをしようと 思い,まずは白地図を書くところから始めました。

日本地図の塗り分けでは群馬大学の青木繁伸先生の作成したグラフィック関連プログラム(参考:「塗り分け地図を描く」)を利 用しましたが,今回はRのパッケージ"maptools"とDIVA-GISのデータを使って白地図を書いてみます。


準備作業

まず,Rのパッケージ"maptools"が必要なので,あらかじめCRANのミラーサイト(筑波大httpミラーなど)からmaptoolsをダウンロードしておく。

"RGui"を使っている場合にはメニューから
パッケージ−>パッケージのインストール−>CRANのミラーを選択−>maptoolsを選択
という手順でパッケージのインストールができる。

※多分他に必要な(依存関係にある)パッケージもインストールされるはず。マニュアルによると,foreign, sp, methods, latticeといったパッケージが必要だという話。

つぎに,DIVA-GISからfree spatial dataを頂くことにする。ここではcountry level dataを 使う。"Country"として"Cambodia"を,"Subject"として"Administrative areas"を選択する。そうするとzipデータのダウンロードページにたどり着く。そこからzipデータをダウンロードし,ハードディスク上の適当な場 所で解凍。

maptoolsの関数で白地図を書く

DIVA-GISからダウンロードしたデータは,"KHM_adm0.dbf", "KHM_adm0.prj", "KHM_adm0.sbn", "KHM_adm0.sbx", "KHM_adm0.shp", "KHM_adm0.spx", ...とたくさんのファイルに分かれている。KHM_adm0は国境,KHM_adm1は州境,というように行政単位別の境界のデータが収められている。今回 使うのは州境なので,KHM_adm1で始まるデータを使用する。

Rを立ち上げて,

library(maptools)

と入力するとforeign, sp, latticeなどのパッケージもロードされる。

つぎにKHM_adm1.shpを読み込む(下線部は保存場所に応じて書き直すこと)。

x <- readShapeLines("c:\\rtemp\\cmb\\KHM_adm\\KHM_adm1.shp")

これで境界線のデータが読み込めたので,描画してみる。

plot(x)

こうなるはず:

カンボジア白地図

トンレサップが無いのが残念。

州のIDと名前は

x$ID_1
x$NAME_1

で確かめることができる。x$NAME_1でと打ち込んだら文字化けだらけ(多分フランス語のフォントが必要なのだろう)なのだが,清書すると次の表のとおりである。

ID_1
NAME_1
ID_1
NAME_1
1533
Banteay Mean Chey
1545
Krong Preah Sihanouk
1534
Battam Bang
1546
Mondul Kiri
1535
Kampong Cham
1547
Otdar Mean Chey
1536
Kampong Chhnang
1548
Phnom Penh
1537
Kampong Speu
1549
Pursat
1538
Kampong Thum
1550
Preah Vihear
1539
Kampot
1551
Prey Veng
1540
Kandal
1552
Rattanak Kiri
1541
Koh Kong
1553
Siem Reap
1542
Kep
1554
Steung Treng
1543
Kratie
1555
Svay Rien
1544
Krong Pailin
1556
Takeo


次回はこのID_1に対応させて州別の塗り分けをやってみる予定である。



参考:
<back>