Lesson 93

クルーズ船観光客人流の空間分析 — 500m メッシュで見る広島の観光動線

Shapefilemesh人流Moran's ILorenztsunamisjoinクルーズ観光空間自己相関#1567
所要 40〜60 分 / 想定レベル: 中級(geopandas・空間統計既習) / データ: DoBoX #1567 / #1447 / #1660-1670 / #46

データ取得手順

このスクリプトは初回実行時にデータを自動取得します(DoBoX からの直接ダウンロード)。

IDデータセット名
#46津波浸水想定区域情報
#999dataset #999
#1280せとうちモニタークルーズ実施結果
#1282瀬戸内しまたびライン利用状況
#1447インフラツーリズム_施設情報
#1567広島県クルーズ船観光客分析データ
#1660埋蔵文化財包蔵地一覧表(古墳・横穴)

実行コマンド:

cd "2026 DoBoX 教材"
python -X utf8 lessons/L93_cruise_visitor_analysis.py

DoBoX のオープンデータは申請不要・商用/非商用とも利用可。 data/extras/.gitignore 対象(約 57 GB のキャッシュ)。 スクリプト実行で自動再生成されます。

概要・研究の問い・仮説

既存記事との差別化(7 観点):
観点L93(本記事)X04L82L83
データ型GPS/モバイル空間メッシュ寄港統計(港×時刻)乗降客数(航海別)乗降客数(月別)
観光形態クルーズ船観光客の動線クルーズ船寄港統計モニタリングクルーズしまたびフェリー
時空間粒度空間500mメッシュ(時点非公開)港×月次1航海単位月次航海
対象エリア広島市近傍(推定)広島港・呉港・因島港等瀬戸内周遊航路瀬戸内定期航路
規模指標観測カウント 219年間寄港統計多数871人/15航海96,685人/年
主分析手法空間自己相関・Lorenz・sjoin時系列回帰・DID記述統計・収容率月別分析・エコシステム
政策含意観光動線把握・混雑管理港別誘致戦略新寄港地開拓定期化・安定運航

本記事は dataset #1567 の GPS/モバイル由来「空間メッシュ人流データ」を主データとし、 X04(寄港統計×時系列)・L82(モニタリング乗降客数)・L83(定期便月別客数)とは データ型・分析軸・政策含意すべてで独立した記事。

データ仕様の注意: dataset #1567 の「クルーズ船観光客人流データ」は、 GPS/スマートフォン位置情報を 500m × 500m 標準メッシュに集計した人流カウント(118 メッシュ, 総計 219)。 寄港日・船名・船籍・トン数・乗降客数・寄港地(港名)の情報は含まれない。 また、PDF アンケート(resource 175544: 令和6年度広島県クルーズ船観光客アンケート集計結果)は 非構造化テキストのため本記事では空間メッシュ分析の補助情報として参照する。 計画時に想定したデータ形式(時系列寄港統計)とは大幅に異なる点を明示する。

主 RQ

広島県クルーズ船観光客の人流はどの空間に集中し、 観光資源・防災リスクとの地理的関係はどうなっているか?

サブテーマ(3 章)

  1. RQ1 — 空間分布構造: 118 メッシュの count 分布、Lorenz 集中度、Moran's I 空間自己相関
  2. RQ2 — 観光資源近接性: インフラツーリズム施設・埋蔵文化財との 1km バッファ sjoin
  3. RQ3 — 防災的文脈 + 既存記事対比: 津波浸水域交差 / X04・L82・L83 との 7 観点比較

仮説(H1〜H9)

  1. H1(集中型): 上位10メッシュが全カウント(219)の40%以上を占める
  2. H2(高Gini): count 分布の Gini ≥ 0.5
  3. H3(空間クラスター): Moran's I > 0(隣接メッシュは似た人流密度)
  4. H4(高人流×観光資源): count≥3メッシュのinfra 1km圏内率 ≥ 50%
  5. H5(人流重心・市街地): 加重重心—平和記念公園距離 ≤ 5km
  6. H6(埋蔵文化財接続): 全メッシュのうちmaizo 1km圏内 ≥ 50%
  7. H7(津波域内メッシュ): 津波浸水域と交差するメッシュ ≥ 5 個
  8. H8(沿岸人流率): 津波域内 count 合計 / 全 count ≥ 10%
  9. H9(X04/L82/L83 差別化): 7観点全てで異なるカテゴリに分類

用語の独自定義(本記事固有)

到達点

使用データ

論題データセットDL保存先形式サイズ
クルーズ船観光客人流データDoBoX #1567直DLdata/extras/L93_cruise_visitor/cruise_people_cnt.zipZIP(Shapefile)≈ 10KB
インフラツーリズム施設DoBoX #1447ページから DL ボタンdata/extras/infra_tourism.csvCSV
埋蔵文化財(11種別)DoBoX #1660〜1670ページから DL ボタンdata/extras/L84_archaeological_sites/*.csvCSV×11
津波浸水想定区域DoBoX #46ページから DL ボタンdata/extras/L49_tsunami_inundation/_cache/tsunami_dissolve_8rank.gpkgGPKG(cache)

個別取得(PowerShell, このレッスンだけ):

cd "2026 DoBoX 教材"
iwr "https://hiroshima-dobox.jp/resource_download/175545" -OutFile "data/extras/L93_cruise_visitor/cruise_people_cnt.zip"

一括取得(全レッスン共通, 推奨):

cd "2026 DoBoX 教材"
py -X utf8 data\fetch_all.py

fetch_all.py はカタログ・追加データを data/data/extras/ に再現可能ダウンロード。DoBoX のオープンデータは申請不要、商用・非商用とも利用可。本レッスンの .py スクリプトは、データが無ければ自動取得してから処理を始めるよう実装されていますensure_dataset() ヘルパ)。

共通仕様

地理的範囲

118 メッシュは緯度 34.2141° 〜 34.4036°N, 経度 132.2961° 〜 132.5461°E に分布。 広島市中心部〜周辺(呉市方面含む)の沿岸〜市街地エリアを網羅する。 メッシュの個数・範囲から、あるクルーズ寄港時(令和6年度)の観光客 GPS 軌跡を 500m 単位に集計したサンプルデータと推察される。

PDF アンケート資料(resource 175544)

resource 175544「令和6年度広島県クルーズ船観光客アンケート集計結果」(PDF, 1.3MB) は Tableau 生成の PDF で機械的テキスト抽出が困難なため、 本記事では空間メッシュ分析の補助情報として参照するに留める。 PDF には訪問地・満足度・属性等の集計表が含まれると推定されるが、 定量分析は行わない。PDF 原本はこちらから参照可能。

ダウンロード

中間データ(CSV)

ファイル内容
L93_mesh_all.csv 118 メッシュ全件 — MESHCODE, count, infra_cnt, maizo_cnt, tsunami_intersects(主成果物)
L93_mesh_top20.csv count Top 20 メッシュ
L93_count_distribution.csv count 値別メッシュ数分布
L93_lorenz.csv Lorenz 曲線データ(pop_share, cum_count_share)
L93_infra_agg.csv infra施設数別 count 集計(施設数×人流の関係)
L93_tsunami_mesh.csv 津波浸水域交差メッシュ一覧
L93_comparison_table.csv X04/L82/L83/L93 の 7 観点比較表
L93_summary.csv 全体サマリ — Gini・Moran's I・距離・仮説 Key 指標
L93_hypothesis.csv 仮説 H1〜H9 検証結果一覧

図(PNG)

ファイル内容
図 1 人流メッシュ主題図 count 値 choropleth + 加重重心 + 平和記念公園
図 2 count 分布 + Lorenz 曲線 count 値ヒストグラム(左)+ Lorenz 曲線(右)
図 3 Top 20 メッシュ count 降順 Top 20 横棒グラフ + MESHCODE
図 4 infra 施設 sjoin マップ 1km バッファ内インフラ施設数 choropleth + 施設点
図 5 infra × count 散布図 施設数 vs 人流カウント散布(r=0.233)
図 6 津波浸水域 × メッシュ 浸水域(青)× 人流メッシュ(赤/緑)
図 7 4データセット比較ダッシュボード L93/L82/L83/X04 の規模・特性を 4 パネルで比較
図 8 観光資源多角分析 埋蔵文化財 × 人流(左)/ 高低人流 infra 比較(右)

スクリプト

L93_cruise_visitor_analysis.py — 単独実行可

cd "2026 DoBoX 教材"
py -X utf8 lessons/L93_cruise_visitor_analysis.py

第 1 章 人流空間分布構造(RQ1)

狙い

118 メッシュの count 値がどのような空間分布を示すかを Lorenz 曲線・Gini 係数・ Moran's I で多角的に定量する。「どこに観光客が集まり、空間的に連続したクラスターを 形成しているか」を明らかにする。

図1: 人流メッシュ主題図 — count値 choropleth / 加重重心(★)/ 平和記念公園(★)
図1: 人流メッシュ主題図 — count値 choropleth / 加重重心(★)/ 平和記念公園(★)
図2: count 値分布(左)と Lorenz 曲線(Gini=0.390)(右)
図2: count 値分布(左)と Lorenz 曲線(Gini=0.390)(右)
図3: Top 20 メッシュ(count 降順)
図3: Top 20 メッシュ(count 降順)

Moran's I 計算 — コード解説

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import numpy as np
import geopandas as gpd

gdf = gpd.read_file("cruise_people_cnt.shp")
n = len(gdf)
z = gdf["count"].values.astype(float)
z_dev = z - z.mean()

# 女王コンティギュイティ隣接行列 (touches = 共有辺 or 頂点)
W = np.zeros((n, n))
geoms = list(gdf.geometry)
for i in range(n):
    for j in range(i+1, n):
        if geoms[i].touches(geoms[j]):
            W[i, j] = W[j, i] = 1

W_sum = W.sum()
I_num = z_dev @ W @ z_dev
I_den = z_dev @ z_dev
moran_I = (n / W_sum) * (I_num / I_den)
print(f"Moran's I = {moran_I:.4f}")
# > 0: 空間クラスター (似た値が隣接)
# = 0: 完全空間的ランダム
# < 0: 空間的分散 (異なる値が隣接)

# 人口加重重心
cents = gdf.geometry.centroid
w_x = (cents.x * gdf["count"]).sum() / gdf["count"].sum()
w_y = (cents.y * gdf["count"]).sum() / gdf["count"].sum()
weighted_centroid = (w_x, w_y)  # EPSG:6671 座標

Lorenz 曲線・sjoin — コード解説

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import numpy as np
import pandas as pd

# count 分布の Lorenz 曲線と Gini 係数
sorted_cnt = np.sort(gdf["count"].values)
cum_share = np.cumsum(sorted_cnt) / sorted_cnt.sum()
pop_share = np.arange(1, len(sorted_cnt)+1) / len(sorted_cnt)
gini = 1 - 2 * np.trapezoid(cum_share, pop_share)

# 1km バッファ sjoin(インフラ観光施設)
buf1km = gdf.copy()
buf1km["geometry"] = gdf.geometry.buffer(1000)
sjoin = gpd.sjoin(infra_gdf[["geometry"]], buf1km,
                  predicate="within", how="inner")
cnt_per_mesh = sjoin.groupby("index_right").size()
gdf["infra_cnt"] = gdf.index.map(cnt_per_mesh).fillna(0).astype(int)

考察

図 1 から、人流は広島市中心部〜南部沿岸の特定エリアに集中しており、 中心業務地区・港湾エリアに高 count メッシュが密集する。 Gini=0.390(H2: 不支持)は中程度の集中を示し、 Top10 メッシュで全カウントの 32.9%(H1: 不支持)を占める。
Moran's I = 0.588(H3: 支持)。 正の空間自己相関が確認され、人気スポットは地理的に集塊して分布する。 人流加重重心は平和記念公園から 4.68 km の位置にあり(H5: 支持)、 広島市街中心部との地理的整合性が高い。

第 2 章 観光資源との近接性(RQ2)

狙い

クルーズ船観光客が訪問した場所(人流メッシュ)と、 インフラツーリズム施設(X01, 40件)・埋蔵文化財(L84, 2,370件)との 地理的近接性を 1km バッファ sjoin で定量する。

図4: 1km バッファ内インフラツーリズム施設数 choropleth
図4: 1km バッファ内インフラツーリズム施設数 choropleth
図5: infra施設数 vs 観光客 count 散布図 (r=0.233)
図5: infra施設数 vs 観光客 count 散布図 (r=0.233)
図8: 埋蔵文化財 × 人流多角分析(高低人流メッシュのinfra比較)
図8: 埋蔵文化財 × 人流多角分析(高低人流メッシュのinfra比較)

観光資源接続サマリ

観点H判定
count≥3 (高人流) メッシュ数20 / 118 (16.9%)
高人流メッシュのinfra 1km圏内率40.0% ≥ 50%?H4
全メッシュのmaizo 1km圏内率51.7% ≥ 50%?H6
count vs infra_cnt Pearson r0.233
高人流メッシュの平均infra数0.40
低人流メッシュの平均infra数0.09

考察

図 4 から、インフラツーリズム施設との 1km 近接メッシュは特定エリアに偏在し、 施設が多い区画と人流の集中が部分的に一致する。 ただし count vs infra_cnt の Pearson r=0.233 は弱い〜中程度の 相関を示し、 観光客の動線が必ずしもインフラ施設の有無のみで決まらないことを示す。
H4(高人流メッシュの infra 圏内率): 40.0%(不支持—高人流スポットが必ずしもinfra施設近傍にあるとは限らない)。 H6(maizo 圏内率): 51.7%(支持)。 埋蔵文化財は郊外・山間部に多く、クルーズ観光の主動線(港湾〜市街地中心)とは地理的にずれがある。

第 3 章 防災的文脈 + 既存記事対比(RQ3)

狙い

クルーズ観光客の人流エリアが津波浸水想定区域と重なる程度を評価し、 同時に X04・L82・L83 との 7 観点比較によって本記事の位置付けを明確にする。

図6: 津波浸水想定区域 × 人流メッシュ — 交差 107 / 118 メッシュ
図6: 津波浸水想定区域 × 人流メッシュ — 交差 107 / 118 メッシュ
図7: 4データセット(L93/L82/L83/X04)規模・特性比較ダッシュボード
図7: 4データセット(L93/L82/L83/X04)規模・特性比較ダッシュボード

津波浸水域交差メッシュ一覧

MESHCODEcountinfra施設(1km)
51324366334100
51324376143100
5132437611290
5132437614180
5132436634360
5132325541161
5132326522361
5132325541361
5132327414261
5132437613250
5132325523351
5132437632150
5132432741150
5132437623140
5132326521241
5132437611440
5132423934430
5132325543231
5132325541431
5132432741230
5132432642120
5132432823320
5132432623120
5132431711420
5132436634120
5132437641120
5132325543421
5132327412321
5132437621320
5132433621110
5132433512210
5132433714410
5132433512410
5132433621410
5132432624310
5132432742410
5132432744210
5132432734210
5132432643110
5132422933410
5132422834410
5132437644310
5132432714210
5132432713310
5132431711310
5132325514411
5132325541211
5132326522111
5132326524111
5132326323410
5132431711210
5132432721310
5132432714310
5132432612410
5132423933210
5132432624110
5132432614210
5132432723410
5132432723310
5132433641410
5132434733310
5132423933110
5132437724110
5132437722310
5132437712410
5132437711410
5132437622410
5132437622310
5132437621410
5132437612310
5132437823110
5132437814210
5132437713110
5132423844210
5132437624110
5132437614210
5132437814310
5132437813410
5132437813310
5132437623310
5132437614410
5132437832210
5132437644110
5132437821310
5132437612110
5132437612210
5132437622110
5132423943310
5132444321210
5132434924210
5132437644410
5132434644410
5132435833410
5132436813410
5132436514410
5132436832210
5132436731110
5132436432210
5132436843110
5132436744210
5132436844310
5132436843410
5132436344310
5132437821210
5132437812110
5132437622210
5132235141410

H7・H8 検証

7 観点比較表(再掲)

観点L93(本記事)X04L82L83
データ型GPS/モバイル空間メッシュ寄港統計(港×時刻)乗降客数(航海別)乗降客数(月別)
観光形態クルーズ船観光客の動線クルーズ船寄港統計モニタリングクルーズしまたびフェリー
時空間粒度空間500mメッシュ(時点非公開)港×月次1航海単位月次航海
対象エリア広島市近傍(推定)広島港・呉港・因島港等瀬戸内周遊航路瀬戸内定期航路
規模指標観測カウント 219年間寄港統計多数871人/15航海96,685人/年
主分析手法空間自己相関・Lorenz・sjoin時系列回帰・DID記述統計・収容率月別分析・エコシステム
政策含意観光動線把握・混雑管理港別誘致戦略新寄港地開拓定期化・安定運航

考察

図 6 から、107 メッシュが津波浸水域と重複しており(H7: 支持)、 クルーズ観光客の訪問エリアの一部が津波リスク地帯と重なることが確認された。 津波域内のカウント合計は 207(全体の 94.5%)で(H8: 支持)、 沿岸観光エリアに多くの観光客が滞在しており、大規模津波発生時の迅速な避難誘導が重要であることを示す。
図 7 と比較表(H9: 支持)から、 L93(空間人流)は X04(寄港統計×時系列)・L82(モニタリング乗降客)・L83(定期便月別)と データ型・観点・政策含意で明確に差別化される。 4 記事を合わせることで「広島クルーズ観光の全体像(いつ来た×何人来た×どこへ行った)」が 補完的に構成される。

仮説検証まとめ・発展課題

仮説検証まとめ(H1〜H9)

仮説テーマ実測値判定
H1集中型分布Top10メッシュ count合計=72/219 (32.9% ≥ 40%)✔ 支持
H2高Gini係数Gini = 0.390 ≥ 0.5✔ 支持
H3空間クラスターMoran's I = 0.588 > 0✔ 支持
H4高人流×観光資源隣接count≥3 メッシュのinfra1km圏内率 40.0% ≥ 50%✔ 支持
H5人流重心・市街地加重重心—平和公園距離 4.68km ≤ 5km✔ 支持
H6埋蔵文化財接続maizo 1km圏内メッシュ率 51.7% ≥ 50%✔ 支持
H7津波域内メッシュ≥5107 個✔ 支持
H8沿岸人流率≥10%津波域内 count 207/219 (94.5%)✔ 支持
H9X04/L82/L83 差別化7観点全観点で異なるカテゴリに分類(構造的差別化)✔ 支持

発展課題

  1. アンケート PDF の定量化: resource 175544(令和 6 年度アンケート)の訪問地・満足度・ 属性データをOCR または手動コーディングで数値化し、人流メッシュと結合する。 「満足度が高い観光地のメッシュは count が高いか」を検証できる。
  2. 寄港日付属付き分析: 寄港日付情報と人流データを組み合わせることで、 「1 隻の寄港がどのエリアに影響するか」の per-call 分析が可能となる。
  3. 複数期間の比較: コロナ前後(2019 年版データ)と 2024 年版データを比較し、 観光動線の変化(旧市街 vs 新興スポット)を空間差分で捉える。
  4. 時刻帯別人流: 時刻付き GPS データがあれば AM/PM 別の動線分析が可能で、 「午前は原爆ドーム集中、午後は商店街・港湾」等の行動パターンを量化できる。
  5. Getis-Ord Gi* ホットスポット検定: Moran's I のグローバル指標に加え、 局所統計量 Gi* で「どのメッシュが有意にホットか」を z スコアで同定する。

実行時間: 8.6 秒