ExcelデータをGISで地図化する方法

住所や座標が入ったExcelデータ、地図に表示できます。

ExcelデータをGISで地図化する方法【初心者向け完全ガイド】

この記事では、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

  • ファイル → 名前を付けて保存
  • ファイルの種類 → CSV(コンマ区切り)
  • 保存

注意点

  • 文字コードは 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スクリプト例:

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
有料サービス Google Maps Platform、Yahoo!ジオコーダAPI

よくあるトラブルと解決策

トラブル1: 何も表示されない

原因 対処
座標系が違う EPSG:4326を確認
X/Yが逆 経度=X、緯度=Y
データが空 CSVの中身を確認

トラブル2: 位置がずれる

原因
  • 座標系の不一致
  • 経度/緯度の取り違え
  • 座標の形式が違う(度分秒など)

対処

  • 元データの座標系を確認
  • QGISで正しいCRSを設定
  • 経度/緯度の列を再確認

トラブル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

実践例:店舗データの地図化

サンプルデータ

csv
店舗名,住所,売上,従業員数
本店,東京都千代田区丸の内1-1-1,1000,50
渋谷店,東京都渋谷区道玄坂1-1-1,800,30
新宿店,東京都新宿区西新宿1-1-1,1200,40

完成イメージ

地図上に表示

  • 各店舗をポイントで表示
  • 売上に応じて円の大きさを変更
  • 店舗名をラベル表示
  • 背景に地理院タイル

手順

6ステップ

  • 住所をジオコーディング
  • QGISにCSV読み込み
  • 背景地図を追加
  • シンボロジで売上に応じた表示
  • ラベルで店舗名を表示
  • 印刷レイアウトで出力

まとめ

ExcelをGISで使う手順

【座標がある場合】
Excel → CSV → QGISで読み込み → 地図表示

【住所しかない場合】
Excel → ジオコーディング → CSV → QGISで読み込み → 地図表示

ポイント

3つのポイント

  • データ準備が大事
    UTF-8で保存、座標の形式を確認
  • 座標系を理解する
    緯度経度はEPSG:4326、経度=X、緯度=Y
  • トラブルは原因を特定
    表示されない→座標系、文字化け→エンコーディング

関連記事

お問い合わせ

ExcelデータのGIS活用についてのご相談は、お気軽にお問い合わせください。

  • データ変換の相談
  • 地図化のご依頼
  • GIS導入サポート

お問い合わせはこちら

最終更新: 2025年1月