ExcelデータをGISで地図化する方法【初心者向け完全ガイド】
目次
住所や座標が入ったExcelデータ、地図に表示できます。
この記事では、ExcelデータをQGISで地図化する方法を、ステップバイステップで解説します。
ExcelをGISで使うための準備
必要なもの
・Excel(またはCSVファイル)
・QGIS(無料GISソフト)
・位置情報(座標 or 住所)
データの形式
座標データがある場合:
| 名称 | 緯度 | 経度 | 売上 |
|---|---|---|---|
| 店舗A | 35.6812 | 139.7671 | 100 |
| 店舗B | 35.6894 | 139.6917 | 150 |
住所データのみの場合:
| 名称 | 住所 | 売上 |
|---|---|---|
| 店舗A | 東京都千代田区丸の内1-1 | 100 |
| 店舗B | 東京都渋谷区神宮前1-1 | 150 |
CSVへの変換
Excel → CSV:
1. ファイル → 名前を付けて保存
2. ファイルの種類 → CSV(コンマ区切り)
3. 保存
注意点:
- 文字コードは UTF-8 推奨
- Excel 2016以降なら「CSV UTF-8」を選択
座標データがある場合
手順概要
1. CSVファイルを準備
2. QGISで読み込み
3. 座標系を指定
4. 地図に表示
ステップ1: CSVファイルの準備
必要な列:
- 緯度(Y座標)
- 経度(X座標)
- その他の属性(任意)
座標の形式例:
| 形式 | 緯度 | 経度 |
|---|---|---|
| 度(推奨) | 35.6812 | 139.7671 |
| 度分秒 | 35°40’52“ | 139°46’02“ |
ステップ2: QGISで読み込み
1. レイヤ → レイヤを追加 → CSVテキストレイヤを追加
2. ファイル名:CSVファイルを選択
3. ジオメトリ定義:
- ポイント座標
- Xフィールド:経度の列
- Yフィールド:緯度の列
- ジオメトリCRS:EPSG:4326(WGS84)
4. 追加 をクリック
ステップ3: 表示確認
・背景地図(地理院タイル等)を追加して位置を確認
・正しい場所に表示されているか
地理院タイルの追加:
ブラウザパネル → XYZ Tiles → 右クリック → 新規接続
名前:地理院タイル
URL:https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png
住所データしかない場合
ジオコーディングとは
住所 → 座標 に変換する処理を ジオコーディング と呼びます。
方法1: 国土地理院API(無料)
Pythonスクリプト例:
import requests
import csv
def geocode(address):
"""国土地理院APIでジオコーディング"""
url = "https://msearch.gsi.go.jp/address-search/AddressSearch"
params = {"q": address}
response = requests.get(url, params=params)
data = response.json()
if data:
coords = data[0]["geometry"]["coordinates"]
return coords[1], coords[0] # 緯度, 経度
return None, None
# CSVを処理
with open('input.csv', 'r', encoding='utf-8') as infile:
reader = csv.DictReader(infile)
results = []
for row in reader:
lat, lon = geocode(row['住所'])
row['緯度'] = lat
row['経度'] = lon
results.append(row)
# 結果を出力
with open('output.csv', 'w', encoding='utf-8', newline='') as outfile:
writer = csv.DictWriter(outfile, fieldnames=results[0].keys())
writer.writeheader()
writer.writerows(results)
注意点:
- APIの利用規約を確認
- 大量データは時間がかかる
- 一部の住所は変換できない場合あり
方法2: QGISプラグイン
GeoCoding プラグイン:
1. プラグイン → プラグインの管理とインストール
2. "geocoding" で検索
3. インストール
4. プラグインの指示に従って住所変換
方法3: オンラインサービス
無料サービス:
- 国土地理院 地理院地図(少量なら手動可)
- CSV Address Matching(Webサービス)
有料サービス:
- Google Maps Platform
- Yahoo!ジオコーダAPI
よくあるトラブルと解決策
トラブル1: 何も表示されない
原因と対処:
| 原因 | 対処 |
|---|---|
| 座標系が違う | EPSG:4326を確認 |
| X/Yが逆 | 経度=X、緯度=Y |
| データが空 | CSVの中身を確認 |
トラブル2: 位置がずれる
原因:
・座標系の不一致
・経度/緯度の取り違え
・座標の形式が違う(度分秒など)
対処:
1. 元データの座標系を確認
2. QGISで正しいCRSを設定
3. 経度/緯度の列を再確認
トラブル3: 文字化け
原因: 文字コードの不一致
対処:
【Excel保存時】
・CSV UTF-8(コンマ区切り)で保存
【QGIS読み込み時】
・エンコーディング:UTF-8 を指定
・日本語の場合 Shift_JIS も試す
トラブル4: 一部のデータが欠損
確認ポイント:
・空白セルがないか
・数値が文字として入力されていないか
・特殊文字が含まれていないか
応用テクニック
数値による色分け表示
【売上データで色分け】
1. レイヤをダブルクリック → シンボロジ
2. 単一シンボル → 段階分類 に変更
3. カラム:売上
4. 分類 をクリック
5. OK
ラベル表示
1. レイヤをダブルクリック → ラベル
2. 単一ラベル を選択
3. ラベル:表示したい列を選択
4. フォント等を調整
5. OK
属性テーブルの編集
1. レイヤを右クリック → 属性テーブルを開く
2. 編集モード(鉛筆アイコン)をON
3. 値を編集
4. 編集モードをOFF → 保存
ヒートマップの作成
1. レイヤをダブルクリック → シンボロジ
2. 単一シンボル → ヒートマップ に変更
3. 半径を調整
4. OK
実践例:店舗データの地図化
サンプルデータ
店舗名,住所,売上,従業員数
本店,東京都千代田区丸の内1-1-1,1000,50
渋谷店,東京都渋谷区道玄坂1-1-1,800,30
新宿店,東京都新宿区西新宿1-1-1,1200,40
完成イメージ
【地図上に表示】
・各店舗をポイントで表示
・売上に応じて円の大きさを変更
・店舗名をラベル表示
・背景に地理院タイル
手順
1. 住所をジオコーディング
2. QGISにCSV読み込み
3. 背景地図を追加
4. シンボロジで売上に応じた表示
5. ラベルで店舗名を表示
6. 印刷レイアウトで出力
まとめ
ExcelをGISで使う手順
【座標がある場合】
Excel → CSV → QGISで読み込み → 地図表示
【住所しかない場合】
Excel → ジオコーディング → CSV → QGISで読み込み → 地図表示
ポイント
-
データ準備が大事
- UTF-8で保存
- 座標の形式を確認
-
座標系を理解する
- 緯度経度はEPSG:4326
- 経度=X、緯度=Y
-
トラブルは原因を特定
- 表示されない→座標系
- 文字化け→エンコーディング
関連記事
お問い合わせ
ExcelデータのGIS活用についてのご相談は、お気軽にお問い合わせください。
最終更新: 2025年1月