Skip to content

Commit

Permalink
14 15
Browse files Browse the repository at this point in the history
  • Loading branch information
babayoshihiko committed Mar 1, 2024
1 parent b462c6c commit 8d8500e
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 30 deletions.
40 changes: 20 additions & 20 deletions 14-location-ja.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ library(osmdata)
library(spDataLarge)
```

- 必要なデータ、順次ダウンロードする
- 必要なデータは順次ダウンロードする

読者の利便性と再現性を確保するため、ダウンロードしたデータを **spDataLarge** パッケージで公開している。

## イントロダクション

この章では、パート I とパート II で学んだスキルを特定のドメインに適用する方法を示す。商圏分析\index{しょうけんぶんせき@商圏分析} (立地分析\index{location analysis}やロケーションインテリジェンスとも呼ばれることがある) である。
この章では、パート I とパート II で学んだスキルを特定のドメインに適用する方法を示す。商圏分析\index{しょうけんぶんせき@商圏分析} (立地分析\index{りっちぶんせき@立地分析}やロケーションインテリジェンスとも呼ばれることがある) である。
研究・実用化されている分野は幅広い。
その典型的な例として、どこに新しい店舗を置くかを考えよう。
ここでの目的は、最も多くの訪問者を集め、最終的に最も多くの利益を上げることである。
Expand All @@ -33,7 +33,7 @@ library(spDataLarge)
興味深いことに、エコロジーの概念やモデルは、店舗立地分析に使われるものと非常によく似ている。
動物や植物は、空間的に変化する変数に基づいて、特定の「最適な」場所でそのニーズを最もよく満たすことができる (@muenchow_review_2018; Chapter \@ref(eco) も参照)。
これはジオコンピュテーションや GIS サイエンス全般の大きな強みである。コンセプトや手法は他の分野にも転用可能である。
例えば、ホッキョクグマは気温が低く、餌 (アザラシやアシカ) が豊富な北方を好む。
例えば、ホッキョクグマは気温が低く餌 (アザラシやアシカ) が豊富な北方を好む。
同様に、人間は特定の場所に集まる傾向があり、北極の生態学的ニッチに類似した経済的ニッチ (そして高い地価) を作り出す。
立地分析の主な作業は、利用可能なデータに基づいて、特定のサービスにとってそのような「最適な場所」がどこであるかを見つけ出すことである。
典型的なリサーチクエスチョンとしては、以下のようなものがある。
Expand All @@ -51,17 +51,17 @@ library(spDataLarge)
あなたがドイツで自転車店のチェーンを始めたとする。
店舗は、できるだけ多くの潜在顧客がいる都市部に配置したい。
さらに、仮定の調査 (この章のために考案されたもので、商業利用はできない!) によると、独身の若い男性 (20 歳から40 歳) が貴社の製品を購入する可能性が最も高いので<u>ターゲット層</u>である。
あなたは、何店舗も出店できる十分な資金をお持ちの幸運な立場にある
あなたは、何店舗も出店できる十分な資金を持っている幸運な立場にある
しかし、どこに配置すればいいのだろうか?
コンサルティング会社 (商圏分析\index{しょうけんぶんせき@商圏分析}アナリストを雇っている) は、このような質問に答えるために喜んで高い料金を取るだろう。
幸い、オープンデータ\index{おーぷんでーた@オープンデータ}やオープンソースソフトウェア\index{おーぷんそーすそふとうぇあ@オープンソースソフトウェア}の力を借りれば、私たち自身でそれを行うことができる。
以下の章では、本書の最初の章で学んだテクニックを、サービスロケーション解析の一般的なステップにどのように応用できるかを紹介する。

- ドイツの国勢調査の入力データを整理する (Section \@ref(tidy-the-input-data))
- ドイツの国勢調査の入力データを整理 (Section \@ref(tidy-the-input-data))
- 集計された国勢調査データをラスタ\index{らすた@ラスタ}オブジェクトに変換 (Section \@ref(create-census-rasters) )
- 人口密度の高い都市圏の特定 (Section \@ref(define-metropolitan-areas) )
- これらの地域の詳細な地理データ (**osmdata**\index{osmdata (package)} で OpenStreetMap\index{OpenStreetMap}) をダウンロードする (Section \@ref(points-of-interest))
- 地図代数\index{map algebra}を用いて異なる場所の相対的な望ましさをスコアリングするためのラスタ\index{らすた@ラスタ}を作成する (Section \@ref(identifying-suitable-locations))
- これらの地域の詳細な地理データ (**osmdata**\index{osmdata (package)} で OpenStreetMap\index{OpenStreetMap}) をダウンロード (Section \@ref(points-of-interest))
- 地図代数\index{map algebra}を用いて異なる場所の相対的な望ましさをスコアリングするためのラスタ\index{らすた@ラスタ}を作成 (Section \@ref(identifying-suitable-locations))

これらのステップは、特定のケーススタディに適用されたが、店舗立地や公共サービス提供の多くのシナリオに一般化することが可能である。

Expand Down Expand Up @@ -283,9 +283,9 @@ metro_names = metro_names$city |>
{\(x) gsub("ü", "ue", x)}()
```

## 注目点 {#points-of-interest}
## 地理的目標物 {#points-of-interest}

\index{point of interest}
\index{ちりてきもくひょうぶつ@地理的目標物}
**osmdata**\index{osmdata (package)} パッケージは、OSM\index{OpenStreetMap} データへの使いやすいアクセスを提供する (Section \@ref(retrieving-data) も参照)。
ドイツ全土の店舗をダウンロードするのではなく、定義された大都市圏にクエリを限定することで、計算負荷を軽減し、関心のあるエリアのみの店舗位置を提供している。
この後のコードチャンクは、以下のようないくつかの関数を用いてこれを行う。
Expand Down Expand Up @@ -320,8 +320,8 @@ shops = purrr::map(metro_names, function(x) {
```

定義された大都市圏に店舗がないことはまずありえない。
次の `if` の条件は、各リージョンに少なくとも 1 つのショップがあるかどうかをチェックするだけである
その場合は、該当する地域のショップを再度ダウンロードすることを勧める
次の `if` の条件は、各地域に少なくとも 1 つの店舗があるかどうかをチェックするだけである
その場合は、該当する地域の店舗を再度ダウンロードすることを勧める

```{r 14-location-21, eval=FALSE}
# 各都道府県のダウンロードショップがあるかどうかの確認
Expand All @@ -332,7 +332,7 @@ if (any(ind)) {
}
```

各リストの要素 (`sf`\index{sf} データフレーム) が同じ列を持っていることを確認するために^[OSM contributors はデータを集めるときに同じように細心の注意を払っているわけではないので、これは絶対ではない。] `osm_id``shop` 列だけを残し、さらに `map_dfr` ループを使ってすべてのショップを一つの大きな `sf`\index{sf} オブジェクトに統合する。
各リストの要素 (`sf`\index{sf} データフレーム) が同じ列を持っていることを確認するために^[OSM contributors はデータを集めるときに同じように細心の注意を払っているわけではないので、これは絶対ではない。] `osm_id``shop` 列だけを残し、さらに `map_dfr` ループを使って全ての店舗を一つの大きな `sf`\index{sf} オブジェクトに統合する。

```{r 14-location-22, eval=FALSE}
# 特定の列のみを選択
Expand Down Expand Up @@ -365,9 +365,9 @@ poi = terra::rasterize(x = shops, y = reclass, field = "osm_id", fun = "length")
```

他のラスタレイヤ (人口、女性、平均年齢、世帯人員) と同様、`poi` ラスタは 4 つのクラスに再分類される (Section \@ref(create-census-rasters) 参照)。
クラス間隔の定義は、ある程度恣意的に行われるものである
クラス間隔の定義は、ある程度恣意的に行われる
均等割、分位割、固定値などを使用することができる。
ここでは、クラス内分散を最小化する Fisher-Jenks 自然休息法を選択し、その結果を再分類行列の入力とする。
ここでは、クラス内分散を最小化する Fisher-Jenks 自然分類法を選択し、その結果を再分類行列の入力とする。

```{r 14-location-26, message=FALSE, warning=FALSE}
# 再分類化行列を作成
Expand Down Expand Up @@ -434,16 +434,16 @@ if (knitr::is_latex_output()) {
アプローチにいくつかの変更を加えることで、分析結果を改善することができる。

- 最終的なスコアの算出には均等なウェイトを用いたが、世帯規模など他の要因も、女性の割合や平均年齢と同様に重要である可能性がある。
- 全てのポイントオブインタレスト\index{point of interest} を使用したが、DIY、ハードウェア、自転車、釣り、ハンティング、バイク、アウトドア、スポーツショップなど、バイクショップに関連するもののみ (ショップ値の範囲は [OSM Wiki](https://wiki.openstreetmap.org/wiki/Map_Features#Shop) で確認可能)、より洗練された結果を得ることができたかもしれない
- より高い解像度のデータにより、出力が向上する場合がある (演習参照)
- 私たちは限られた変数のみを使用し[INSPIRE geoportal](https://inspire-geoportal.ec.europa.eu/) や OpenStreetMap のサイクリングロードのデータなど、他の情報源からのデータは分析を豊かにするかもしれない (Section \@ref(retrieving-data) も参照のこと)。
- 全ての地理的目標物\index{ちりてきもくひょうぶつ@地理的目標物} を使用したが、DIY、ハードウェア、自転車、釣り、ハンティング、バイク、アウトドア、スポーツショップなど、自転車販売店に関連するもののみ (ショップ値の範囲は [OSM Wiki](https://wiki.openstreetmap.org/wiki/Map_Features#Shop) で確認可能)にすると、より洗練された結果を得ることができたかもしれない
- 解像度の高いデータを使うと、出力が向上する場合がある (演習参照)
- 限られた変数のみを使用し[INSPIRE geoportal](https://inspire-geoportal.ec.europa.eu/) や OpenStreetMap のサイクリングロードのデータなど、他の情報源からのデータは分析を豊かにするかもしれない (Section \@ref(retrieving-data) も参照のこと)。
- 男性比率と単身世帯の関係などの相互作用は考慮されていない。

つまり、この分析は多方面に拡張できるのである
とはいえ、商圏分析\index{しょうけんぶんせき@商圏分析}の文脈の中で、R\index{R} で空間データを取得し、扱う方法について、第一印象と理解を深めていただけたと思われる。
つまり、この分析は多方面に拡張することができる
商圏分析\index{しょうけんぶんせき@商圏分析}の文脈の中で、R\index{R} で空間データを取得し、扱う方法について、第一印象と理解を深めていただけたと思われる。

最後に、今回の分析は、あくまでも適地探しの第一歩に過ぎないということを指摘しておく必要がある。
これまでの調査により、1 km 四方でバイクショップの立地が可能なエリアを特定した
これまでの調査により、1 km 四方で自転車販売店の立地が可能なエリアを特定した
その後の分析のステップを踏むことができる。

- 特定のキャッチメントエリア\index{きゃっちめんとえりあ@キャッチメントエリア}内の住民の数に基づいて最適な場所を見つける。
Expand Down
Loading

0 comments on commit 8d8500e

Please sign in to comment.