序文
本書の対象
本書は、オープンソースソフトウェアを使って地理データを分析、視覚化、モデル化したい人のための本である。 強力なデータ処理、可視化、地理空間機能を持つ統計プログラミング言語である R をベースにしている。 本書は幅広いトピックをカバーしており、特に様々な背景を持つ幅広い人々に興味を持っていただけると思われる。
-
QGIS、ArcGIS、 GRASS、SAGA などのデスクトップ地理情報システム (GIS) を使って空間分析力を身につけた人が、強力な (ジオ) 統計・視覚化プログラミング言語とコマンドラインアプローチの利点にアクセスしたい (Sherman 2008)。
With the advent of ‘modern’ GIS software, most people want to point and click their way through life. That’s good, but there is a tremendous amount of flexibility and power waiting for you with the command line.
地理学、リモートセンシング、計画、GIS、空間データ科学など、地理データを専門とする分野の大学院生・研究者
地質学、地域科学、生物学と生態学、農業科学、考古学、疫学、輸送モデリング、および広義のデータ科学などの分野で地理データを扱っている研究者や大学院生で、研究に R のパワーと柔軟性を必要としている人。
都市・交通計画、物流、ジオマーケティング (店舗立地分析)、緊急時計画など、多様な空間データを扱うアプリケーションにおいて、Rなどのコマンドライン言語の再現性、スピード、柔軟性を必要とする公共、民間、第三セクターの応用研究者やアナリストの方
本書は、ジオコンピュテーションに興味のある中級から上級の R ユーザーと、地理データを扱ったことのある R 初心者を対象にしている。 R も地理データも初めてという方は、Chapter 2 と下に用意したリンクで、初心者の視点から空間データの本質を解説している。
本書の読み方
本書は 3 つのパートに分かれている。
- 第 I 部: 基本機能では、R で地理データを扱うための知識を身につけることを目的としている。
- 第 II 部: 拡張機能では、高度なテクニックを網羅する。具体的には、空間データの可視化、GIS へのブリッジ、空間データのプログラミング、統計学習。
- 第 III 部: 応用では、実際の問題への対応。具体例として、交通解析、商圏分析、生態学。
章ごとにだんだん難しくなっていく。 このため、第 I 部はすべて読んでいただき、第 II 部、第 III 部に取り組んでいただきたい。 第 II 部、第 III 部は、順に読んでいただくとよいが、興味のある章だけを読むこともできる。 R で地理解析を行う際の大きな障壁は、その学習曲線が急であることである。 第I部の各章では、簡単なデータセットで再現可能なコードを提供することで、この問題に対処することを目的としている。
教える・学ぶという観点でこの本の重要な点は、各章の最後にある演習である。 演習を修了することで、地理空間に関するさまざまな問題に取り組むために必要なスキルを身につけ、自信を持つことができる。 演習の解答は、 geocompr.github.io/solutions でホストされている Geocomputation with R に付属するオンラインブックレットで見ることができる。 この冊子の作成方法、および _01-ex.Rmd などのファイルの解答を更新する方法については、この blog post を参照。 その他のブログ記事と拡張例は、この本のサポートサイト(geocompx.org)を参照。
急ぎたい場合は、Chapter 2 から始まる実用的な例題にすぐに取り組むこともできる。 しかし、まずは Chapter 1 の Geocomputation with R の広い文脈を読むことを勧める。 また、R に初めて触れる方は、各章で提供されるコードチャンクを実行しようとする前に、この言語についてもっと学ぶことを勧める(概念を理解するためにこの本を読む場合は別)。 R の初心者にとって幸いなことに、R にはサポートするコミュニティがあり、助けとなるリソースが豊富に開発されている。 特にお勧めのチュートリアルは、R for Data Science (Grolemund and Wickham 2016) と Efficient R Programming (Gillespie and Lovelace 2016)、そして An introduction to R (R Core Team 2021) の 3 つである。
なぜ R なのか?
R の学習曲線は急であるが、本書で提唱するコマンドラインアプローチはすぐに成果を上げることができる。 この後の章で学ぶように、R は地理データに関するさまざまな課題に取り組むための効果的なツールである。 練習を重ねれば、R が地理空間ツールボックスの中で、多くのアプリケーションに選ばれるプログラムになることを期待している。 コマンドラインでコマンドを入力して実行する方が、デスクトップ GIS のグラフィカル・ユーザー・インターフェース (GUI) をマウスで操作するよりも速い場合が多くある。 空間統計やモデリングなどのアプリケーションでは、R が唯一の現実的な方法だろう。
Section 1.3 で概説したように、ジオコンピュテーションに R を使用する理由はたくさんある。
R は、他の言語と比較して、多くの地理データ解析ワークフローで必要とされる対話的な使用に適している。
R は、データサイエンス(データ加工、統計学習技術、データの可視化など)やビッグデータ(データベースや分散コンピューティングシステムとの効率的なインターフェースによる)の分野で急速に発展している分野に優れている。
さらに、R は再現性のあるワークフローを可能にする。分析の基礎となるスクリプトを共有することで、他の人があなたの研究を発展させることができるのである。
本書での再現性を確保するために、ソースコードを github.com/geocompx/geocompr で公開している。
上記サイトでは、code/
フォルダに数値を生成するスクリプトファイルがある。
図を生成するコードが書籍の本文に記載されていない場合、図を生成したスクリプトファイル名をキャプションに記載する(例えば、 Figure 13.2 のキャプションを参照)。
Python、Java、C++ などの他の言語もジオコンピュテーションに使用でき、Section 1.4 で説明したように、R を使わずにジオコンピュテーションを学ぶための優れたリソースがある。 R コミュニティが提供するパッケージ・エコシステム、統計機能、可視化オプション、強力な IDE のユニークな組み合わせは、いずれも提供されていない。 さらに、1つの言語(R)の使い方を深く学ぶことで、他の言語でジオコンピュテーションを行うために必要な概念と自信を身につけることができる。
実世界への影響
Geocomputation with R は、地理データに現れる科学的、社会的、環境的な意味を含む幅広い問題に取り組むための知識とスキルを身につけることができる。 Section 1.1 にあるように、ジオコンピュテーションは、コンピュータを使って地理データを処理することだけが目的ではない。 また、現実的なインパクトも重要である。 本書の背景や動機に興味がある方は、Chapter 1 を参照。
謝辞
プルリクエストで直接貢献してくださった以下の方々をはじめ、コードのホスティングとコラボレーションサイトである GitHub を通じて直接、間接的に貢献してくださった以下の皆様に感謝する: prosoitos, florisvdh, babayoshihiko, katygregg, tibbles-and-tribbles, Lvulis, rsbivand, iod-ine, KiranmayiV, cuixueqin, defuneste, zmbc, erstearns, FlorentBedecarratsNM, dcooley, darrellcarvalho, marcosci, appelmar, MikeJohnPage, eyesofbambi, krystof236, nickbearman, tylerlittlefield, giocomai, KHwong12, LaurieLBaker, MarHer90, mdsumner, pat-s, sdesabbata, ahmohil, ateucher, annakrystalli, andtheWings, kant, gavinsimpson, Himanshuteli, yutannihilation, howardbaek, jimr1603, jbixon13, olyerickson, yvkschaefer, katiejolly, kwhkim, layik, mpaulacaldas, mtennekes, mvl22, ganes1410, richfitz, VLucet, wdearden, yihui, adambhouston, chihinl, cshancock, e-clin, ec-nebi, gregor-d, jasongrahn, p-kono, pokyah, schuetzingit, tim-salabim, tszberkowitz, and vlarmet。
表紙画像を作成しただけでなく、それを生成するコードも公開してくれた Marco Sciaini 氏に感謝する (本書の GitHub リポジトリの code/frontcover.R
を参照)。
さらに何十人もの人々が、問題提起やコメント、ソーシャルメディアを通じてのフィードバックなど、オンラインで貢献した。
#geocompr
ハッシュタグは生き続けます!
CRC プレス社の John Kimmel 氏には、2 年以上にわたって私たちのアイデアを初期の書籍企画から 4 回の査読を経て製品化するまでに協力していただいたことに感謝する。 本書の構成と内容を大幅に改善するために、詳細なフィードバックと専門知識を提供してくださった査読者の方々は、特筆に値する。
また、この章では、Jena 大学の Patrick Schratz 氏と Alexander Brenning 氏との有意義な議論とご意見に感謝する。 ウェブサービスに関するセクションで専門的なご意見をいただいた国際連合食糧農業機関の Emmanuel Blondel 氏に感謝する。 Michael Sumnerv 氏には、本書の多くの部分、特に第 10 章のアルゴリズムに関する議論に重要な示唆をいただいた。 Tim Appelhans 氏と David Cooley 氏は、可視化の章 (第 8 章) で重要な貢献をした。 さらに、Katy Greggv 氏は、すべての章を校正し、本書の読みやすさを大きく向上させた。
他にも数え切れないほど、さまざまな形で貢献された方がいるだろう。 最後に、R によるジオコンピュテーションを可能にしているすべてのソフトウェア開発者に感謝する。 Edzer Pebesma (sfパッケージを作成)、Robert Hijmans (raster を作成)、Roger Bivand (多くの R-spatial ソフトウェアの基礎を作った) は、R で高性能な地理計算を可能にした。