シェープファイル(SHP)を GeoJSON に変換
この変換ツールは、.zip または .shp・.shx・.dbf・.prj の個別ファイルとして用意したシェープファイルを、WGS84 に座標変換した GeoJSON に変換し、ウェブ地図や API で使えるようにします。変換はブラウザー内で行われ、何もアップロードされません。少なくとも .shp、.shx、.dbf が必要で、.prj がないと EPSG コードの入力が必要な場合があり、GeoJSON は通常シェープファイルより大きくなります。
うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。
要点
- 入力: Shapefile (.shp)。出力: GeoJSON (.geojson)。
- ファイルはアップロードされません。処理はお使いのブラウザー内、ご自身の端末で行われます。
- ファイルサイズ: 固定の上限はありません。非常に大きなファイルは端末のメモリーによって制限されます。
- 最新のブラウザー(Chrome、Edge、Firefox、Safari)が必要です。パソコン、タブレット、スマートフォンで使え、インストールは不要です。
- 無料、登録不要です。
シェープファイルを GeoJSON に変換する理由
シェープファイルはデスクトップ GIS の標準的なやり取りの形式ですが、ウェブ地図、JavaScript、多くの API では GeoJSON が求められます。この変換ツールはシェープファイルを読み込み、GeoJSON の規格どおりに WGS84 へ座標変換して、Leaflet、MapLibre、Mapbox、D3、GitHub ですぐに使える1つの .geojson ファイルを作ります。シェープファイルは .zip にまとめて追加するか、構成ファイルをすべてまとめて選択してください。変換は GDAL を使ってブラウザー内で行われるため、データがお使いのコンピューターの外に出ることはありません。
シェープファイルを GeoJSON に変換する方法
- シェープファイルを含む .zip をドロップするか、.shp、.shx、.dbf、.prj ファイルをまとめて選択します。
- 地図のプレビューと、検出された座標系を確認します。
- 「GeoJSON に変換」をクリックし、GeoJSON ファイルをダウンロードします。
変換で変わること
.prj ファイルが必要
GeoJSON は WGS84 の経度・緯度でなければならないため、変換ツールはデータを座標変換します。元の座標系は .prj ファイルから読み取ります。.prj がない場合、座標が経度・緯度に見えれば WGS84 として扱い、そうでなければ EPSG コードの入力を求めます。たとえば英国のナショナルグリッドなら EPSG:27700、UTM ゾーン 33N なら EPSG:32633 です。
構成ファイルをすべて追加する
シェープファイルは複数のファイルでできています。.shp、.shx、.dbf は必須で、.prj と .cpg もあることを強くおすすめします。.shp ファイルだけを選択するのが、変換に失敗する最も多い原因です。
特殊文字の文字コード
.cpg ファイルは、属性テーブルがどの文字コードを使っているかを示します。.cpg がない場合、有効な UTF-8 は UTF-8 として読み込み、それ以外は .dbf ヘッダーのコードページ、それもなければ Windows-1252 を使います。それでも名前が文字化けする場合は、正しい文字コードを書いた .cpg を追加してください。
ファイルが大きくなる
GeoJSON はテキスト形式なので、シェープファイルの数倍の大きさになることがよくあります。座標は小数点以下7桁(約1 cm)で書き出され、見た目の精度を落とさずにサイズを抑えています。
日付と数値
日付フィールドは YYYY-MM-DD 形式のテキストになります。数値は数値のままです。.dbf の空の数値フィールドは、シェープファイルの書き出し方によって 0 または null になることがあります。
ファイル形式について
Shapefile
Esri シェープファイルは、GIS で最も広く使われているベクター形式です。「シェープファイル」は実際には同じ名前のファイルの集まりで、 .shp にジオメトリ、.shx にインデックス、.dbf に属性テーブルが入り、任意の .prj に座標系、.cpg に文字コードが入ります。
- 少なくとも .shp、.shx、.dbf が必要です。まとめて選択するか、1つの .zip にしてください。
- フィールド名は10文字まで、テキスト値は254文字までです。
- 1つのシェープファイルに入れられるジオメトリタイプは1種類だけです(ポイント、ライン、ポリゴンのいずれか)。
- .prj ファイルがないと、座標系が不明になります。
GeoJSON
GeoJSON は地理的なフィーチャーを表すプレーンテキストの JSON 形式で、2016 年に RFC 7946 として標準化されました。 Leaflet、MapLibre、Mapbox などのウェブ地図や、多くの API が標準で使う形式です。
- 座標は WGS84 の経度、緯度の順です。
- ポイント、ライン、ポリゴンを1つのファイルに混在させることができます。
- プロパティには任意の JSON 値を使え、フィールド名の長さに制限はありません。
よくある質問
.shp ファイルだけをアップロードできますか?
いいえ。.dbf がなければ属性がなく、.shx がなければほとんどの読み込みソフトはファイルを受け付けません。フォルダーを zip にまとめてその .zip を追加するか、同じ名前のファイルをすべてまとめて選択してください。
zip に複数のシェープファイルが入っている場合は?
シェープファイルごとに別の GeoJSON ファイルに変換され、.zip にまとめてダウンロードします。
フォルダーに .sbn、.sbx、.shp.xml などのファイルもありますが、問題ありませんか?
問題ありません。フォルダーをそのままドロップするか、そのまま zip にしてください。読み込まれるのは .shp、.shx、.dbf、.prj、.cpg ファイルだけで、ArcGIS や QGIS の空間インデックス、メタデータ、スタイル、ロックファイルは無視されます。
GeoJSON の座標が元と違うのはなぜですか?
GeoJSON の規格(RFC 7946)に従い、シェープファイルの座標系から WGS84 の経度・緯度に座標変換されたためです。地図上のフィーチャーの位置は同じです。
データはアップロードされますか?
いいえ。変換はお使いのブラウザーが行います。コンピューターの外に出るものはありません。