Excel(XLSX)を GeoJSON に変換

このツールは、緯度・経度または X/Y の列がある Excel の .xlsx シートを GeoJSON のポイントに変換し、他の列は数値、テキスト、日付のままプロパティとして残します。ブックはブラウザー内で読み込まれ、アップロードされません。1行目はヘッダーである必要があり、座標は度分秒ではなく10進数で、古い .xls ファイルには対応していません。

うまく変換できないファイルがありましたか? [email protected] までメールでお知らせください。小さなサンプルファイルを添えていただけると、修正しやすくなります。

要点

Excel を GeoJSON に変換する理由

店舗、調査地点、顧客、設備などのリストは、緯度の列と経度の列を持つ Excel で管理されていることがよくあります。これを Leaflet、Mapbox、geojson.io などのウェブ地図に載せるには、GeoJSON にする必要があります。このツールは .xlsx ブックを読み込み、座標のあるシートとその列を見つけ、各行を1つのポイントにして、他の列をすべてプロパティにします。Excel のセルの型も引き継がれます。数値は数値、テキストはテキストのまま(0150 のような郵便番号も先頭の 0 が残ります)で、日付は 2024-05-01 の形で書き出されます。列の名前が違う場合は、自分で列を選べます。UTM などの投影座標の X/Y も、EPSG コードを入力すれば使えます。ダウンロードする前に、ポイントを地図で確認できます。

Excel を GeoJSON に変換する方法

  1. .xlsx ファイルをボックスにドロップするか、クリックして選びます。
  2. ツールが選んだ座標の列を確認し、必要なら「経度または X の列」と「緯度または Y の列」を変更します。
  3. 地図でポイントを確認してから「GeoJSON に変換」をクリックし、ファイルをダウンロードします。

知っておきたいこと

どのシートが読み込まれるか

1つのブックには多くのシートを入れられます。このツールは、ヘッダー行に Latitude と Longitude、Lat と Lon、X と Y などの座標の列がある最初のシートを読み込み、スキップしたシートをお知らせします。どのシートでも座標の列が見つからない場合は、データのある最初のシートを使い、列を選んでもらいます。

1行目はヘッダーにしてください

各シートは、1行目を列名として読み込みます。ヘッダーの上にタイトル、メモ、空の行があると、それが列名になってデータが読みにくくなるので、先に Excel で削除してください。数式は最後に計算された値として読み込まれ、結合したセルの値は最初のセルにだけ入ります。

座標は数値で

緯度と経度は 55.6761 のような10進数である必要があります。55°40'34"N のような度分秒はテキストなので読み込めません。先に Excel で変換してください。座標が空または無効な行は "geometry": null のまま残され、その件数が表示されます。

古い .xls ファイル

拡張子が .xls の Excel 97-2003 ファイルは古い形式で、ここでは対応していません。ファイルを開き、.xlsx(Excel ブック)または CSV として保存してください。

ファイル形式について

Excel (XLSX)

XLSX は Excel 2007 以降の Microsoft Excel のブック形式で、LibreOffice、Numbers、Google スプレッドシートも書き出せます。 住所リスト、サンプル地点、資産台帳などは、緯度と経度の列があるスプレッドシートで管理されていることが多いですが、 その列がポイントになるまでは、スプレッドシートは地図データではありません。

  • 1つのブックに複数のシートを入れられ、各シートがヘッダー行のある1つの表になります。
  • セルは数値、日付、テキストといった型を保持するため、0150 のような郵便番号も先頭の 0 を残せます。
  • ジオメトリも座標系もなく、座標は列に並んだ単なる数値です。
  • 古い .xls 形式(Excel 97-2003)は、別のバイナリ形式です。

GeoJSON

GeoJSON は地理的なフィーチャーを表すプレーンテキストの JSON 形式で、2016 年に RFC 7946 として標準化されました。 Leaflet、MapLibre、Mapbox などのウェブ地図や、多くの API が標準で使う形式です。

  • 座標は WGS84 の経度、緯度の順です。
  • ポイント、ライン、ポリゴンを1つのファイルに混在させることができます。
  • プロパティには任意の JSON 値を使え、フィールド名の長さに制限はありません。

よくある質問

スプレッドシートはアップロードされますか?

いいえ。ブックは、WebAssembly 向けにコンパイルされた GDAL を使って、お使いの端末上のブラウザーで読み込まれます。

どんな列名が認識されますか?

lat、lon、lng、long で始まる名前と、X、Y、easting、northing です。大文字・小文字は問いません。POINT (12.57 55.68) のような WKT テキストの列も認識されます。

座標が UTM や国の平面直角座標系でも使えますか?

はい。座標系の EPSG コード(例:EPSG:25832)を入力すると、GeoJSON の決まりどおり、ポイントが経度・緯度に変換されます。

Google スプレッドシートや LibreOffice でも使えますか?

はい。シートを .xlsx(Microsoft Excel)としてダウンロードまたは保存し、そのファイルをここにドロップしてください。