Skip to content

Commit

Permalink
October fix for 01
Browse files Browse the repository at this point in the history
  • Loading branch information
babayoshihiko committed Oct 18, 2024
1 parent 0d80315 commit 4d3a4b0
Showing 1 changed file with 18 additions and 17 deletions.
35 changes: 18 additions & 17 deletions 01-introduction-ja.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ R は、他の言語へのインターフェースを提供し [@eddelbuettel_ex
```{block2 01-introduction-1, type='rmdnote'}
再現性はコマンドラインインターフェースの大きな利点だが、実際にはどのような意味があるのだろうか。
ここでは、次のように定義している。「一般にアクセス可能なコードを用いて、他の人が同じ結果を生成できるプロセス」
これは単純で簡単に思えるかもしれないが (Rのコードをスクリプトファイルで注意深く管理すれば) 、教育や科学的プロセスにとって深い意味を持つ [@pebesma_r_2012]。
```
\index{さいげんせい@再現性}
Expand All @@ -57,7 +56,7 @@ R は、他の言語へのインターフェースを提供し [@eddelbuettel_ex
> 再現性、柔軟性、ツール開発に重点を置き、地理データを使って問題を解決する研究、ソフトウェア開発、実用化の分野。
ジオコンピューテーション\index{じおこんぴゅてーしょん@ジオコンピュテーション}という用語は比較的新しく、1996年の第 1 回学術会議で用いられた。^[
最初の「GeoComputation」会議は、著者の一人 (Robin Lovelace) が現在在籍しているリーズ大学で開催された
最初の「GeoComputation」会議は、著者の一人 (Robin Lovelace) が現在在籍している Leeds 大学で開催された
2017年、GeoComputation カンファレンスはリーズ大学に戻り、私たちがこの本に取り組み、発表する機会を与えてくれた (カンファレンスシリーズや20年以上にわたる論文/発表については、www.geocomputation.org を参照)。
]
ジオコンピュテーションを (当時) 一般的に使われていた「計量地理学」と区別したのは、その初期の提唱者が提唱した、「創造的・実験的」応用 [@longley_geocomputation_1998] と新しいツールや手法の開発に重点を置いたことである [@openshaw_geocomputation_2000]
Expand All @@ -84,7 +83,7 @@ R とコードエディタのインストール方法は、Chapter \@ref(spatial

ジオコンピュテーションは最近の言葉であるが、古い考えに影響を受けている。
2000年以上の歴史を持つ地理学\index{ちりがく@地理学} の一部と見ることができる [@talbert_ancient_2014]
また、1960年代に登場した *Geographic Information Systems* (GIS\index{GIS}) [@neteler_open_2008] の延長線上にあるものでもある [@coppock_history_1991]
また、1960年代に登場した GIS\index{GIS} [@neteler_open_2008] の延長線上にあるものでもある [@coppock_history_1991]

地理学\index{ちりがく@地理学}は、コンピュータが発明されるずっと以前から、人類と自然界との関係を説明し、影響を与える上で重要な役割を担ってきた。
著名な探検家・地理学者であり博識であった Alexander von Humboldt\index{von Humboldt} (彼の名前を冠した種、地物、大学などがある) が、この役割を以下のように説明している。
Expand All @@ -111,10 +110,10 @@ R とコードエディタのインストール方法は、Chapter \@ref(spatial
現在では、研究や実務に際して、地理データの不足ではなく、逆に多すぎるデータと多すぎるツールに悩まされている。
ほとんどのスマートフォンに全地球測位 (GPS\index{GPS}) 受信機が搭載されている。
人工衛星や半自動運転車、市民科学者に至るまで、数多くのセンサーが世界のあらゆる場所を絶え間なく測定している。
データの生成速度が圧倒的に速く、自律走行車のような新技術は、毎日数百から数千GBのデータを生成する
データの生成速度が圧倒的に速く、自律走行車のような新技術は、毎日数百から数千ギガバイトのデータを生成する
人工衛星からのリモートセンシング\index{りもーとせんしんぐ@リモートセンシング}データが膨大になり、対応するデータを 1 台のコンピュータで解析することが難しくなったため、Chapter \@ref(gis) で扱うように一台のコンピュータでは処理しきれない。
この「ジオデータ革命」によって、高性能なコンピュータ・ハードウェアと、ノイズから信号を処理・抽出するための効率的でスケーラブルなソフトウェアに対する需要が高まっている。
オープンソースツールの進化により、膨大な地理データストアから直接または API を利用してを介して地理データをインポートし処理することができる。\index{くうかんでーたべーす@空間データベース}
オープンソースツールの進化により、膨大な地理データストアから直接またはアプリケーションプログラミングインターフェイス (Application Programming Interface, API) を介して地理データをインポートし処理することができる。\index{くうかんでーたべーす@空間データベース}

急速に変化するハードウェア、ソフトウェア、およびデータ環境では、将来性のあるツールを選択することが重要である。
オープンソースソフトウェアの大きな利点は、何千人もの潜在的な貢献者がいることによる**開発速度と寿命**である。
Expand All @@ -126,7 +125,7 @@ R とコードエディタのインストール方法は、Chapter \@ref(spatial

もうひとつの大きな利点は、**再現性**である。
発見を再現できることは科学研究にとって不可欠であり、オープンソースソフトウェアは、他の人が同じツールを使ってあなたの発見をチェックしたり、新しい文脈であなたの方法を適用したりすることを可能にするため、再現性という重要な障壁がない。
誰でも無料でアクセスできるツールを使い、コードやデータを共有すると、研究結果を他の人がチェックし、それを基に構築できるようになる。
誰でも無料でアクセスできるツールを使い、コードやデータを共有すると、研究結果を他の人がチェックし、それを基に構築できるようになる。これは、自分の作品を使ってもらったり、引用されたいと思うのであれば、大きなアドバンテージとなる。

多くの人にとって、再現可能なコードの共有と組み合わされたオープンソースソフトウェアの最大の利点は、**コミュニティ**である。
プロプライエタリ・ソフトウェアのサポートは非常に使いづらいことが多い。一方、コミュニティでは質の高いサポートをすぐに得ることもある。
Expand Down Expand Up @@ -206,25 +205,26 @@ R の特に優れた点は、優れた地図作成パッケージのおかげで
## ジオコンピュテーションのためのソフトウェア {#software-for-geocomputation}

R は地理計算のための強力な言語であるが、地理データ解析のための他の多くの選択肢があり、何千もの地理関数\index{かんすう@関数}を提供している。
地理計算のための他の言語を理解することは、特定のタスクに別のツールがより適切である場合を決定し、より広い地理空間生態系に R を配置するのに役立つ
地理計算のための他の言語を理解することは、特定のタスクに別のツールがより適切である場合を決定し、より広い地理空間エコシステムに R を配置するのに役立つだろう
本節では、Chapter \@ref(gis) に向けて、ジオコンピュテーションのための言語 [C++](https://isocpp.org/)\index{C++}、 [Java](https://www.oracle.com/java/)\index{Java}、 [Python](https://www.python.org/)\index{Python} を簡単に紹介する。

R (と Python) の重要な特徴として、インタプリタ型言語であることが挙げられる。
REPL (Read-Eval-Print Loop) \index{REPL}で対話的にプログラミングできるのがメリットである。
コンソールに入力されたコードは、コンパイルという中間段階を待たずに、即座に実行され、結果が表示される。
一方、C++\index{C++} や Java\index{Java} などのコンパイルされた言語は、 (一度コンパイルされると) 動作が速くなる傾向がある。

C++\index{C++} は、[QGIS](https://www.qgis.org/)\index{QGIS}、 [GRASS GIS](https://grass.osgeo.org/)\index{GRASS GIS}、[SAGA](https://saga-gis.sourceforge.io/)\index{SAGA} などの多くの GIS パッケージの基礎を提供しているので、賢明な出発点であると言えるだろう。
C++\index{C++} は、[QGIS](https://www.qgis.org/)\index{QGIS}、[GRASS GIS](https://grass.osgeo.org/)\index{GRASS GIS}、[SAGA](https://saga-gis.sourceforge.io/)\index{SAGA} などの多くの GIS パッケージの基礎を提供しているので、賢明な出発点であると言えるだろう。
よく書かれた C++\index{C++} は非常に高速で、大規模な地理データセットを処理するようなパフォーマンスが重要なアプリケーションに適しているが、Python や R に比べて習得が困難である。
C++\index{C++} は、**Rcpp** パッケージによってよりアクセスしやすくなり、R ユーザーのために C\index{C} プログラミングへの良い「入り方」を提供している。
このような低レベルの言語を使いこなすことで、新しい高性能な「ジオアルゴリズム」を生み出す可能性や、GIS ソフトウェアの仕組みをより深く理解することができる (Chapter \@ref(algorithms) を参照)。
しかし、R を使用してジオコンピュテーションを行う際には、必ずしも C++\index{C++} を学ぶ必要はない。

Python\index{Python} は、特に GRASS GIS\index{GRASS GIS}、SAGA\index{SAGA}、QGIS\index{QGIS} などの多くのデスクトップ GIS\index{GIS} が Python API\index{API} を提供しているので、ジオコンピュテーションには重要な言語である (Chapter \@ref(gis) を参照)。
Python\index{Python} は、特に GRASS GIS\index{GRASS GIS}、SAGA\index{SAGA}、QGIS\index{QGIS} などの多くのデスクトップ GIS\index{GIS} が Python API\index{API} を提供しているので、ジオコンピュテーションには重要な言語である (Chapter \@ref(gis) を参照)。
Python\index{Python} は、R\index{R} と同様、データサイエンスでよく使われているプログラミング言語である。
両言語はオブジェクト指向であり、重複する部分が多いため、R から Python\index{Python} へのアクセスを容易にする **reticulate** パッケージや、オープンソースデータサイエンスエコシステム全体の利益のためにポータブルライブラリをサポートする [Ursa Labs](https://ursalabs.org/) イニシアチブなどの取り組みに繋がっている。

実際には、R と Python のどちらにも強みがあり、どちらを使うかは、ある程度、応用や結果の伝達の領域よりは重要ではない。
実際には、R と Python のどちらにも強みがある。
どちらを使うかは、ある程度、応用や結果の伝達の領域よりは重要ではない。
どちらかを習得することで、もう一方を習得するためのスタートラインに立つことができるのである。
しかし、ジオコンピュテーション\index{じおこんぴゅてーしょん@ジオコンピュテーション}においては、Python\index{Python} よりも R \index{R} の方が大きな利点がある。
R 言語自体の地理ラスタデータモデルのサポートが大幅に向上したこと (Chapter \@ref(spatial-class))、それに対応する可視化の可能性 (Chapter \@ref(spatial-class) と Chapter \@ref(adv-map) 参照) が含まれる。
Expand Down Expand Up @@ -298,11 +298,12 @@ R の空間機能は、S 言語の初期の空間パッケージが起源であ
1990年代には、数多くの S スクリプトが開発され、空間統計\index{とうけいがく@統計学}のためのパッケージも数多く開発された。
2000 年までに、「点パターン解析、地球統計学、探索的空間データ解析、空間経済学」という様々な空間手法のための R パッケージが誕生した [@bivand_open_2000]
これらのうち、特に **spatial****sgeostat****splancs** は CRAN\index{CRAN} でまだ利用可能である [@rowlingson_splancs_1993; @rowlingson_splancs_2017;@venables_modern_2002; @majure_sgeostat_2016]
主要な空間パッケージは @ripley_spatial_2001 で説明されており、空間平滑化と補間のための R パッケージ [@akima_akima_2016; @jr_geor_2016] と点パターン分析 [@rowlingson_splancs_2017; @baddeley_spatial_2015] の概要が述べられている
主要な空間パッケージは @ripley_spatial_2001 で説明されており、空間平滑化と補間と点パターン分析の R パッケージの概要が述べられている
そのうちの一つ(**spatstat**)は、最初のリリースから 20 年以上経った今でも活発にメンテナンスされている。

続く解説では、空間統計の将来の展望を概説し [@bivand_more_2001]、人気のある **spdep** パッケージ [@bivand_spdep_2017] の開発の舞台を設定した。
特筆すべきは、空間インターフェースの標準化、GIS とのデータ交換の効率的なメカニズム、座標参照系 (CRS\index{CRS}) などの空間メタデータの取り扱いの必要性に言及したことであり、これらの目的はほぼ達成されている。
特筆すべきは、空間インターフェースの標準化、GIS とのデータ交換の効率的なメカニズム、座標参照系 (CRS\index{CRS}) などの空間メタデータの取り扱いの必要性に言及したことである。
これらの目的はほぼ達成されている。

**maptools** [@bivand_maptools_2017] もこの時期の重要なパッケージで、 Shapefile\index{Shapefile} を読むための [shapelib](http://shapelib.maptools.org/) ライブラリへのインタフェースを提供し、**sp** に供給していた。
空間パッケージの拡張レビューでは、基本的な点、線、多角形、ラスタ型と外部ライブラリへのインタフェースを含む「GDALが提供するデータオブジェクト」をサポートするクラスシステムが提案された [@hornik_approaches_2003]
Expand All @@ -311,7 +312,7 @@ R の空間機能はそれ以来大幅に進化しているが、初期のパイ
例えば、GDAL\index{GDAL} と PROJ\index{PROJ} へのインターフェースは、R の高性能な地理データ I/O と CRS\index{CRS} の変換機能を可能にしている。それぞれ Chaptger \@ref(reproj-geo-data) と Chapter \@ref(read-write) で解説する。

2003 年にリリースされた **rgdal** は、R 用の GDAL\index{GDAL} バインディングを提供し、以前は利用できなかった地理データ形式からインポートする機能を大幅に強化した。
最初のリリースではラスタドライバのみをサポートしたが、その後の機能強化により、座標参照系 (PROJライブラリ経由)、再投影、ベクタのインポートをサポートした。
最初のリリースではラスタドライバのみをサポートしたが、その後の機能強化により、CRS (PROJ ライブラリ経由)、再投影、ベクタのインポートをサポートした。
これらの追加機能の多くは Barry Rowlingson によって開発され、2006 年に **rgdal** コードベースでリリースされた。

2005 年にリリースされた **sp** は、R の空間対応を大きく進展させた。
Expand All @@ -321,8 +322,8 @@ R の空間機能はそれ以来大幅に進化しているが、初期のパイ
さらに、**sp** では、地理データのための `summary()``plot()` などのジェネリックメソッドが用意されている。

その後の 10 年間で **sp** クラスは R の地理データ用として急速に普及し、これに依存するパッケージの数は2008年の約 20 から 2013 年には 100 以上に増加した [@bivand_applied_2013]
2019年までに **sp** に依存するパッケージは 500 を超えたが、**sf** やその他のパッケージに移行するためその数は減少している。
**sp** を使用する主な R パッケージには、空間・時空間地球統計学\index{くうかん@空間!とうけい@統計}の **gstat** 、球面三角法の **geosphere** などがある [@R-gstat; @calenge_package_2006; @hijmans_geosphere_2016]
2019年までに **sp** に依存するパッケージは 500 を超えた
**sf** やその他のパッケージに移行するためその数は減少しているが、**sp** を使用する主な R パッケージには、空間・時空間地球統計学\index{くうかん@空間!とうけい@統計}の **gstat** 、球面三角法の **geosphere** などの著名なパッケージもある [@R-gstat; @calenge_package_2006; @hijmans_geosphere_2016]

```{r, eval=FALSE, echo=FALSE}
# Aim: show n. pkgs that depend on sf and sp
Expand All @@ -343,7 +344,7 @@ Section \@ref(raster-data) にあるように、**raster** クラスシステム
**raster** および **terra** は、Section \@ref(map-algebra) で説明されているように、マップ代数もサポートしている。

このようなクラスシステムや手法の開発と並行して、専用の GIS ソフトのインターフェースとして R がサポートされるようになった。
**GRASS** [@bivand_using_2000] とそれに続くパッケージ **spgrass6****rgrass7****rgrass** (それぞれ GRASS\index{GRASS} GIS 6 と 7 と 7 + 8 に対応) は、この方向性の顕著な例であった [@bivand_rgrass7_2016;@bivand_spgrass6_2016;@R-rgrass]
**GRASS** [@bivand_using_2000] とそれに続くパッケージ **spgrass6****rgrass7****rgrass** は、この方向性の顕著な例であった [@bivand_rgrass7_2016;@bivand_spgrass6_2016;@R-rgrass]
R と GIS の橋渡しの例としては、他に QGIS には **qgisprocess** [@R-qgisprocess]、SAGA には **Rsagacmd** [@R-Rsagacmd]**RSAGA** [@R-RSAGA]\index{RSAGA (package)}、ArcGIS には **RPyGeo** [@brenning_arcgis_2012, first published in 2008] がある (Chapter \@ref(gis) 参照)。

R-spatial の開発の大部分は解析と地理的な操作に集中しており、当初は可視化には焦点が当てられていなかった。
Expand All @@ -366,7 +367,7 @@ Section \@ref(s2) で説明する通り、**sf** パッケージは、2021 年
\index{lidR (package)}

この展開は、R 環境外の新技術、新標準、ソフトウェアによるものである [@bivand_progress_2021]
2018 年に始まった PROJ ライブラリ\index{PROJ} の変更により、座標参照系の proj-string 表現を、Section \@ref(crs-intro) と Chapter \@ref(reproj-geo-data) で説明するように、Well Known Text に置き換えられなければならなくなった。
2018 年に始まった PROJ ライブラリ\index{PROJ} の変更により、CRS の proj-string 表現を、Section \@ref(crs-intro) と Chapter \@ref(reproj-geo-data) で説明するように、Well Known Text に置き換えられなければならなくなった。

\index{rayshader (package)}
2018 年に Geocomputation with R の第 1 版が出版されて以来、空間データ可視化のためのいくつかのパッケージが開発・改良されてきた。
Expand Down

0 comments on commit 4d3a4b0

Please sign in to comment.