Skip to content

Commit

Permalink
Fixed typos again
Browse files Browse the repository at this point in the history
  • Loading branch information
babayoshihiko committed Feb 26, 2024
1 parent 015f468 commit 0f9b62d
Show file tree
Hide file tree
Showing 15 changed files with 168 additions and 168 deletions.
12 changes: 6 additions & 6 deletions 01-introduction-ja.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ R と同様に、Python も地理データの解析と操作をサポートし

R で地理データを扱う方法はたくさんあり、この分野では何十ものパッケージ\index{R-spatial}がある。^[
R の空間エコシステムの概要は、CRAN\index{CRAN} Task View on Analysis of Spatial Data に掲載されている。
(参照https://cran.r-project.org/view=Spatial)。
(参照: https://cran.r-project.org/view=Spatial)。
]
本書では、この分野の最先端を学ぶと同時に、将来的にも通用する手法を確保するよう努めることとした。
ソフトウェア開発の多くの分野と同様に、R の空間エコシステムは急速に進化している (Figure \@ref(fig:cranlogs))。
Expand Down Expand Up @@ -282,7 +282,7 @@ R の空間機能は、S 言語の初期の空間パッケージが起源であ
これらのうち、特に **spatial****sgeostat****splancs** は CRAN\index{CRAN} でまだ利用可能である [@rowlingson_splancs_1993; @rowlingson_splancs_2017;@venables_modern_2002; @majure_sgeostat_2016]

その後の R News ([The R Journal](https://journal.r-project.org/) の前身) の記事には、当時の R の空間統計ソフトウェアの概要が掲載されており、その多くは S/S-PLUS\index{S} のために書かれた以前のコードに基づいていた [@ripley_spatial_2001]
この概要では、**akima****geoR** [@akima_akima_2016; @jr_geor_2016] などの空間平滑化や補間のパッケージ、**splancs** [@rowlingson_splancs_2017]**spatstat** [@baddeley_spatial_2015] などの点パターン解析のパッケージについて説明した。
この概要では、**akima****geoR** [@akima_akima_2016; @jr_geor_2016] などの空間平滑化や補間のパッケージ、**splancs** [@rowlingson_splancs_2017]**spatstat** [@baddeley_spatial_2015] などの点パターン解析のパッケージについて説明した。

R News の次の号 (Volume 1/3) では、空間系パッケージに再びスポットライトを当て、**splancs** をより詳しく紹介し、空間統計に関する将来の展望を解説した [@bivand_more_2001]
さらに、この問題では空間自己相関を検定するための 2 つのパッケージが紹介され、最終的には **spdep** [@bivand_spdep_2017] の一部となった。
Expand All @@ -307,11 +307,11 @@ R News の次の号 (Volume 1/3) では、空間系パッケージに再びス

\index{sp (package)}
2005年にリリースされた **sp** は、R の空間オブジェクトと非空間オブジェクトの区別ができない点を克服した [@pebesma_classes_2005]
**sp** は 2003年にウィーンで開かれたワークショップから発展し、当初は SourceForge でホストされていたが、R-Forge、GItHub へと移行した。
**sp** は 2003年にウィーンで開かれたワークショップから発展し、当初は SourceForge でホストされていたが、R-Forge、GitHub へと移行した。
2005年以前は、地理座標は一般的に他の数値と同様に扱われていた。
点、線、ポリゴン、グリッド、属性データをサポートするクラスと汎用メソッドにより、**sp** はこれを変更した。

**sp** は、S4 クラス\index{S4 クラス}システムを使用して、バウンディングボックス \index{ばうんでぃんぐぼっくす@バウンディングボックス}、座標参照系\index{CRS}、属性などの情報を `Spatial` オブジェクトのスロットに格納する。
**sp** は、S4 クラス\index{S4 クラス}システムを使用して、バウンディングボックス\index{ばうんでぃんぐぼっくす@バウンディングボックス}、座標参照系\index{CRS}、属性などの情報を `Spatial` オブジェクトのスロットに格納する。
データ操作で地理データを扱えるようにする (Section \@ref(why-simple-features) 参照)。
さらに、**sp** では、地理データのための `summary()``plot()` などの汎用的なメソッドが用意されている。
その後の 10年間で **sp** クラスは R の地理データ用として急速に普及し、これに依存するパッケージの数は2008年の約 20 から 2013 年には 100 以上に増加した [@bivand_applied_2013]
Expand Down Expand Up @@ -344,7 +344,7 @@ R-spatial の開発の大部分は解析と地理的な操作に集中してお
base と lattice の両方のプロット方式で地図を作る方法を提供していた **sp** であるが、高度な地図作成機能への要望が高まっていた。
2009 年にリリースされた **RgoogleMaps** は、Google Maps や OpenStreetMap [@loecher_rgooglemaps_2015] などのオンラインサービスの「ベースマップ」タイルの上に R 空間データを重ね合わせることができる。
\index{ggplot2 (package)}
その後、**ggplot2** [@kahle_ggmap_2013] に同様の「ベースマップ」タイル機能を追加した **ggmap** パッケージがリリースされた。
その後、**ggplot2** [@kahle_ggmap_2013] に同様の「ベースマップ」タイル機能を追加した **ggmap** パッケージがリリースされた。
**gpmap****ggplot2** で地図を作ることを容易にしたが、`fortify` 空間オブジェクトをロング形式のデータフレームに変換する必要があるため、その実用性は限られていた。
これは点に対してはうまくいくが、線やポリゴンに対しては計算効率が悪く、各座標 (頂点) が行に変換されるため、複雑な形状を表現するためには巨大なデータフレームが必要となるのである。
地理的な可視化はベクタデータを中心に行われる傾向があるが、ラスタの可視化は **raster** でサポートされており、空間と時間のデータの可視化に関する書籍 [@lamigueiro_displaying_2018] で紹介されている **rasterVis** のリリースで盛り上がりを見せた。
Expand All @@ -370,7 +370,7 @@ R 空間パッケージを含むほとんどの空間ソフトウェアに影響
2018年以降、R による空間可視化ツールの進展は、いくつかの要因が関係している。
まず、新しいタイプの空間プロットが開発され、レイトレーシングと複数のヒルシェード手法を組み合わせて 2D および 3D のデータ可視化を行う **rayshader** パッケージが提供された [@morganwall_rayshader_2021]
\index{ggplot2 (package)}
第二に、**ggplot2** は、スケールバーや北矢印などの空間可視化要素を追加する **ggspatial** パッケージ [@dunnington_ggspatial_2021] と、スムーズでカスタマイズ可能な空間アニメーションを可能にする **gganimate** パッケージ [@pedersen_gganimate_2020] など、新しく空間機能が追加された。
第二に、**ggplot2** は、スケールバーや北矢印などの空間可視化要素を追加する **ggspatial** パッケージ [@dunnington_ggspatial_2021] と、スムーズでカスタマイズ可能な空間アニメーションを可能にする **gganimate** パッケージ [@pedersen_gganimate_2020] など、新しく空間機能が追加された。
第三は、大規模な空間データの可視化性能の向上である。
特に、**tmap** におけるダウンスケールしたラスタの自動プロットや、**mapview** パッケージの高性能インタラクティブレンダリングプラットフォーム (`"leafgl"``"mapdeck"` など) の使用可能性に関連している。
最後に、既存のマッピングツールの中には、依存関係の最小化、ユーザーインターフェースの改善、拡張機能の作成が容易になるように書き直されたものがある。
Expand Down
20 changes: 10 additions & 10 deletions 02-spatial-data-ja.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ RStudio の R コンソールから以下のコマンドで、ホームディレ
]

R を初めて使う方は、R のコードを使ったジオコンピュテーションに入る前に、Garrett Grolemund の [Hands on Programming with R](https://rstudio-education.github.io/hopr/starting.html) や Claudia Engel の [Introduction to R](https://cengel.github.io/R-intro/) などの R 入門リソースに従うことを勧める。
作業内容を整理し (例RStudio プロジェクト)、スクリプトに `chapter-02-notes.R` などのわかりやすい名前を付けて、学習しながらコードを記録するとよい。
作業内容を整理し (例: RStudio プロジェクト)、スクリプトに `chapter-02-notes.R` などのわかりやすい名前を付けて、学習しながらコードを記録するとよい。
\index{R!pre-requisites}

セットアップが完了したら、いよいよコードを実行する。
Expand Down Expand Up @@ -337,7 +337,7 @@ plot(asia, add = TRUE, col = "red")

**sf**`plot()` メソッドでマップを修正する方法はいろいろある。
**sf** は R の基本的な描画メソッド `plot()` を拡張しているので、`plot()` の引数は `sf` オブジェクトでも動作する (`main =` などの引数の情報は、`?graphics::plot``?par` を参照)。^[
注意ファセットマップにおいて、1つ以上の `sf` 列がプロットされる場合、多くのプロット引数は無視される。]
注意: ファセットマップにおいて、1つ以上の `sf` 列がプロットされる場合、多くのプロット引数は無視される。]
\index{base plot|see {map making}}\index{map making!base plotting} Figure \@ref(fig:contpop) は、この柔軟性を、世界地図の上に、直径 (`cex =` で設定) が各国の人口を表す円を重ねることで表現している。
この図の非投影版は、以下のコマンドで作成できる (本章末の練習問題と、スクリプト [`02-contplot.R`](https://github.com/geocompx/geocompr/blob/main/code/02-contpop.R) を使って Figure \@ref(fig:contpop) を再現することができる。)

Expand Down Expand Up @@ -556,9 +556,9 @@ sf_points = st_sf(our_attributes, geometry = our_geometry)

`sfg` オブジェクトは、3 つの基本的な R データ型から作成することができる。

1. 数値ベクトルひとつの点
2. 行列点の集合で、各行が点、多点、または線分を表す。
3. リスト行列、マルチ文字列、ジオメトリコレクションなどのオブジェクトの集合体
1. 数値ベクトル: ひとつの点
2. 行列: 点の集合で、各行が点、多点、または線分を表す。
3. リスト: 行列、マルチ文字列、ジオメトリコレクションなどのオブジェクトの集合体

関数 `st_point()` は、数値ベクトルから単一の点を作成する。

Expand Down Expand Up @@ -1071,7 +1071,7 @@ CRSには、本章の冒頭で紹介したように、地理的なものと投
球体モデルは、地球がある半径の完全な球体であると仮定したもので、単純であるという利点があるが、実際は完全な球体ではないため不正確である。
楕円体型モデルは、赤道半径と極半径の 2 つのパラメータで定義され、球体よりは正確になる。
地球は圧縮されているので、これが適している。すなわち、赤道半径は極半径より約 11.5 km 長い [@maling_coordinate_1992]。^[
圧縮の程度はしばしば *flattening* と呼ばれ、赤道半径 ($a$) と極半径 ($b$) で以下のように定義される$f = (a - b) / a$。また、<u>楕円度</u>と<u>圧縮度</u>という用語も使用できる。
圧縮の程度はしばしば *flattening* と呼ばれ、赤道半径 ($a$) と極半径 ($b$) で以下のように定義される: $f = (a - b) / a$。また、<u>楕円度</u>と<u>圧縮度</u>という用語も使用できる。
$f$ はかなり小さな値なので、デジタル楕円体モデルでは、地球の圧縮を定義するために「逆平坦化」($rf = 1/f$)を使用している。
様々な楕円体モデルにおける $a$ と $rf$ の値は、`sf_proj_info(type = "ellps")` を実行することで確認することができる。
]
Expand All @@ -1097,7 +1097,7 @@ knitr::include_graphics("figures/02_datum_fig.png")
\index{CRS!projected}
すべての投影 CRS は、前節で説明した地理的 CRS に基づいており、地図投影に依存して、地球の 3 次元表面を投影 CRS の東方向距離 (easting) と北方向距離 (northing) (x と y) の値に変換している。
投影 CRS は、暗黙のうちに平坦な表面上のデカルト座標に基づいている (Figure \@ref(fig:vector-crs) 右図)。
投影 CRS には、原点、X軸とY軸、メートルなど線形単位がある。
投影 CRS には、原点、X 軸とY 軸、メートルなど線形単位がある。

この推移は、何らかのデフォルメを加えないとできない。
そのため、地表の面積、方向、距離、形状など、地表の一部の性質が歪んでしまう。
Expand All @@ -1109,7 +1109,7 @@ knitr::include_graphics("figures/02_datum_fig.png")
この投影では接線に沿って歪みが最小になり、接線からの距離に応じて歪みが大きくなる。
そのため、中緯度地域の地図に最も適している。
円筒投影は、表面を円筒に写すものである。
この投影は、1本の接線または2本の接線に沿って地表に接することによっても作成することができる
この投影は、1 本の接線または 2 本の接線に沿って地表に接することによっても作成することができる
円筒形の投影は、全世界の地図を作成するときに最もよく使われる。
平面投影は、地球上のある点または接線に沿った平面上にデータを投影するものである。
極域の地図作成によく使われる。
Expand All @@ -1132,7 +1132,7 @@ knitr::include_graphics("figures/02_vector_crs.png")

CRS の重要な特徴は、空間単位の情報を含んでいることである。
家の寸法がフィートなのかメートルなのかが大事なように、地図でも同じことが言える。
ページや画面上の距離と地上での距離の関係を示すために、地図上に<u>スケールバー</u>やその他の距離表示を追加することは、地図製作の良い習慣である
ページや画面上の距離と地上での距離の関係を示すために、地図上に<u>スケールバー</u>やその他の距離表示を追加することは、地図作成の良い習慣である
同様に、ジオメトリデータやセルを測定する単位を正式に指定して文脈を示し、その後の計算が文脈に沿って行われるようにすることが重要である。

新しい特徴として、`sf` オブジェクトのジオメトリデータは、単位を<u>ネイティブにサポート</u>している。
Expand All @@ -1154,7 +1154,7 @@ st_area(luxembourg) # 最近の sf の場合 s2 パッケージが必要
この情報は属性として保存され (興味のある読者は `attributes(st_area(luxembourg))` で確認できる)、人口密度 (単位面積当たりの人口、通常は 1 km^2^) など単位を使用する後の計算に反映させることができる。
単位を報告することで混乱を防ぐことができる。
luxembourg の例で言えば、単位が明記されていないままだと、単位がヘクタールであると誤って判断してしまう可能性がある。
この膨大な数字を消化しやすいサイズに変換するために、結果を 100万 (1平方キロメートルの中の平方メートル数) で割れば良いと思うかもしれない。
この膨大な数字を消化しやすいサイズに変換するために、結果を 100 万 (1 平方キロメートルの中の平方メートル数) で割れば良いと思うかもしれない。

```{r 02-spatial-data-59}
st_area(luxembourg) / 1000000
Expand Down
Loading

0 comments on commit 0f9b62d

Please sign in to comment.