GISデータ形式の違い【シェープファイル・GeoJSON・GeoPackageを比較】
目次
GISデータには様々な形式があります。
それぞれの特徴を理解し、目的に合った形式を選ぶことが重要です。
GISデータ形式の分類
ベクターデータとラスターデータ
| 種類 | 特徴 | 例 |
|---|---|---|
| ベクター | 点・線・面で表現 | 道路、建物、行政界 |
| ラスター | ピクセル(格子)で表現 | 航空写真、標高データ |
【ベクターデータ】
点(ポイント):駅、店舗、基準点
線(ライン):道路、河川、鉄道
面(ポリゴン):建物、行政区域、土地利用
【ラスターデータ】
各ピクセルに値を持つ格子状データ
例:標高値、土地利用コード、衛星画像のバンド値
ベクターデータ形式
シェープファイル(Shapefile)
| 項目 | 内容 |
|---|---|
| 拡張子 | .shp(+ .shx, .dbf, .prj 等) |
| 開発元 | ESRI |
| 普及度 | 最も普及している形式 |
構成ファイル:
sample.shp - ジオメトリ(図形)
sample.shx - インデックス
sample.dbf - 属性データ
sample.prj - 座標系情報
sample.cpg - 文字コード(オプション)
メリット:
- 業界標準で互換性が高い
- ほぼすべてのGISソフトで対応
- 長年の実績
デメリット:
- 複数ファイルで管理が面倒
- ファイルサイズ制限(2GB)
- フィールド名10文字制限
- 1ファイル1ジオメトリタイプ
GeoJSON
| 項目 | 内容 |
|---|---|
| 拡張子 | .geojson, .json |
| 形式 | JSON(テキスト) |
| 用途 | Web、データ交換 |
構造例:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [139.7671, 35.6812]
},
"properties": {
"name": "東京駅"
}
}
]
}
メリット:
- 人間が読めるテキスト形式
- Webとの親和性が高い
- 座標系はWGS84が標準
- 複数ジオメトリタイプを1ファイルに
デメリット:
- ファイルサイズが大きくなりがち
- 大量データには不向き
- 座標系が限定的
GeoPackage
| 項目 | 内容 |
|---|---|
| 拡張子 | .gpkg |
| 形式 | SQLite データベース |
| 用途 | 汎用、推奨形式 |
メリット:
- 単一ファイルで完結
- サイズ制限なし
- 複数レイヤを1ファイルに格納可能
- ラスターも格納可能
- OGC標準
デメリット:
- 比較的新しいため古いソフトで非対応の場合あり
- バイナリ形式で中身が見えない
おすすめポイント:
シェープファイルの後継として推奨される形式
QGISのデフォルト保存形式
KML/KMZ
| 項目 | 内容 |
|---|---|
| 拡張子 | .kml, .kmz |
| 形式 | XML(KMZは圧縮版) |
| 用途 | Google Earth、可視化 |
メリット:
- Google Earthで直接表示
- スタイル情報を含められる
- 一般向けの共有に便利
デメリット:
- GIS分析には不向き
- 座標系はWGS84のみ
その他の形式
| 形式 | 特徴 |
|---|---|
| CSV | 座標列があれば点データとして使用可 |
| DXF | CADデータ、属性は限定的 |
| GML | XML形式、国土数値情報等で使用 |
| FlatGeobuf | 高速読み込み、新形式 |
ラスターデータ形式
GeoTIFF
| 項目 | 内容 |
|---|---|
| 拡張子 | .tif, .tiff |
| 特徴 | 座標情報を埋め込んだTIFF |
| 用途 | 衛星画像、標高データ |
メリット:
- 業界標準
- 多くのソフトで対応
- 座標情報を内包
デメリット:
- ファイルサイズが大きい
- 圧縮オプションにより互換性注意
Cloud Optimized GeoTIFF(COG)
特徴:
- Web配信に最適化されたGeoTIFF
- 必要な部分だけ読み込み可能
- 大規模データ向け
その他のラスター形式
| 形式 | 特徴 |
|---|---|
| JPEG | 圧縮画像、航空写真 |
| PNG | 可逆圧縮、透過対応 |
| IMG | ERDAS形式 |
| ASCII Grid | テキスト形式の標高データ |
選び方ガイド
用途別おすすめ
| 用途 | おすすめ形式 |
|---|---|
| 汎用(新規作成) | GeoPackage |
| 他システムとの連携 | シェープファイル |
| Web公開 | GeoJSON |
| Google Earth表示 | KML |
| 画像データ | GeoTIFF |
判断フローチャート
新規にデータを作成する?
│
├─ Yes → GeoPackage がおすすめ
│
└─ No → 既存データの形式に合わせる
│
├─ 他システムと連携? → シェープファイル
│
├─ Web公開? → GeoJSON
│
└─ 可視化のみ? → KML
形式比較表
| 形式 | ファイル数 | サイズ制限 | Web親和性 | 普及度 |
|---|---|---|---|---|
| Shapefile | 複数 | 2GB | △ | ◎ |
| GeoJSON | 1 | なし | ◎ | ○ |
| GeoPackage | 1 | なし | ○ | ○ |
| KML | 1 | なし | ○ | ○ |
形式変換の方法
QGISでの変換
エクスポート方法:
レイヤを右クリック
→ エクスポート
→ 新規ファイルに地物を保存
→ 形式を選択
→ 出力先を指定
→ OK
対応形式:
- シェープファイル
- GeoPackage
- GeoJSON
- KML
- CSV
- その他多数
Pythonでの変換
import geopandas as gpd
# シェープファイル → GeoPackage
gdf = gpd.read_file("input.shp")
gdf.to_file("output.gpkg", driver="GPKG")
# シェープファイル → GeoJSON
gdf.to_file("output.geojson", driver="GeoJSON")
OGR(コマンドライン)
# シェープファイル → GeoPackage
ogr2ogr -f "GPKG" output.gpkg input.shp
# GeoJSON → シェープファイル
ogr2ogr -f "ESRI Shapefile" output.shp input.geojson
変換時の注意点
⚠️ 確認すべき点
1. 座標系
- 変換後も同じ座標系か確認
- 必要に応じて再投影
2. 属性データ
- フィールド名の制限(シェープは10文字)
- 文字コード(UTF-8推奨)
3. ジオメトリ
- マルチパート/シングルパートの扱い
- 不正ジオメトリのチェック
まとめ
主要形式の特徴
| 形式 | 一言で表すと |
|---|---|
| シェープファイル | 業界標準だが古い |
| GeoJSON | Web向けテキスト形式 |
| GeoPackage | 新しい推奨形式 |
| GeoTIFF | ラスターの標準 |
選び方のポイント
-
新規作成なら GeoPackage
- 単一ファイル、制限なし
-
互換性重視なら シェープファイル
- 最も広く対応
-
Web公開なら GeoJSON
- JavaScriptで扱いやすい
-
形式は後から変換可能
- まず始めてみることが大事
参考・一次情報
- OGC「GeoPackage Standard」 — SQLiteコンテナにベクター、タイル、非空間表を格納するGeoPackageの公式規格です。
- IETF「RFC 7946: The GeoJSON Format」 — GeoJSONのオブジェクト構造、座標順序、WGS 84の扱いを定める標準です。
- GDAL「ESRI Shapefile / DBF」 — Shapefileの構成、ジオメトリ型、属性名・型などの制約を確認できます。
- GDAL「COG – Cloud Optimized GeoTIFF generator」 — COGのタイル・オーバービュー構造と部分読み込み向け配置の公式仕様解説です。
関連記事
お問い合わせ
GISデータの活用についてのご相談は、お気軽にお問い合わせください。
最終更新: 2025年1月