GISデータには様々な形式があります。
GISデータ形式の違い【シェープファイル・GeoJSON・GeoPackageを比較】
それぞれの特徴を理解し、目的に合った形式を選ぶことが重要です。
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、データ交換 |
json
{
"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での変換
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(コマンドライン)
bash
# シェープファイル → GeoPackage
ogr2ogr -f "GPKG" output.gpkg input.shp
# GeoJSON → シェープファイル
ogr2ogr -f "ESRI Shapefile" output.shp input.geojson
変換時の注意点
⚠️ 確認すべき点
- 座標系
変換後も同じ座標系か確認、必要に応じて再投影 - 属性データ
フィールド名の制限(シェープは10文字)、文字コード(UTF-8推奨) - ジオメトリ
マルチパート/シングルパートの扱い、不正ジオメトリのチェック
まとめ
主要形式の特徴
| 形式 | 一言で表すと |
|---|---|
| シェープファイル | 業界標準だが古い |
| GeoJSON | Web向けテキスト形式 |
| GeoPackage | 新しい推奨形式 |
| GeoTIFF | ラスターの標準 |
選び方のポイント
4つのポイント
- 新規作成なら GeoPackage
単一ファイル、制限なし - 互換性重視なら シェープファイル
最も広く対応 - Web公開なら GeoJSON
JavaScriptで扱いやすい - 形式は後から変換可能
まず始めてみることが大事
関連記事
