GeoJSON・KML・GPXの座標系 — 「WGS84固定」の意味

,

GeoJSON・KML・GPXの座標系 — WGS84固定の意味

GeoJSON・KML・GPXの座標系 — 「WGS84固定」の意味

地図アプリやGISソフト間で位置情報をやり取りするとき、当たり前のように使われる GeoJSON・KML・GPX という3つのファイル形式。実はこれらの仕様書には、それぞれ「座標系はWGS84に固定する」という取り決めがあることをご存知でしょうか。この「固定」の意味を知らずに旧日本測地系のデータをそのまま書き出すと、地図上で数百m単位のズレが発生することがあります。GeoConverterPro(GCVP)の視点で、3形式の座標系規定と実務での注意点を整理します。


GeoJSON — RFC 7946は「WGS84以外禁止」

GeoJSON の現行仕様 RFC 7946(2016年制定)では、座標系について明確な規定があります。

  • すべての座標は WGS84(経度・緯度、単位は10進度) で表現することが必須
  • 過去の草案にあった crs(座標参照系)メンバーによる他の座標系の指定は、RFC 7946では使用が認められていません
  • つまり「このGeoJSONはJGD2011で書いてある」というような注記や仕組みは仕様上存在せず、ファイルを開いた側は無条件にWGS84として扱う

これは相互運用性を最優先した設計です。裏を返せば、送り手が旧日本測地系や平面直角座標のままのデータをGeoJSONに詰めてしまうと、受け手は気づかずにWGS84として誤読する、という事故の温床にもなります。


KML — Google Earthの標準もWGS84固定

KML(Keyhole Markup Language) はOGC(Open Geospatial Consortium)の標準規格で、Google Earth・Google Mapsなどで広く使われています。KMLの仕様でも、座標系は WGS84(緯度・経度・標高)に固定されており、他の測地系を指定する仕組みはありません。

GeoJSONと同様に、KMLファイルには「どの測地系か」を書き添えるフィールドが存在しないため、ファイル形式そのものが「中身は必ずWGS84のはず」という前提で成り立っています。


GPX — GPSログの標準もWGS84

GPX(GPS Exchange Format) は、GPSトラックログ・ウェイポイントの交換用フォーマットとして広く使われる形式です。GPX 1.1 の仕様でも、緯度・経度は WGS84 で記録することが前提とされています。GPS受信機やスマートフォンのGPSログをそのまま書き出す形式であるため、そもそもの成り立ちからしてWGS84が自然な選択といえます。


「WGS84固定」が実務で意味すること

3形式に共通するのは、ファイル形式自体が測地系情報を持たないという点です。これは次のような実務上の注意につながります。

場面 注意点
旧日本測地系(Tokyo Datum)の古い図面データを GeoJSON/KML化する そのまま緯度経度を書き出すと、Google MapsなどWGS84前提のビューアで数百m単位のズレが発生する
平面直角座標系(X, Y)の測量データを GPX 化する 平面直角座標のままでは仕様違反。必ず緯度経度(WGS84相当)に変換してから書き出す必要がある
他社から受け取った GeoJSON/KML/GPX を読み込む 「WGS84のはず」という前提を鵜呑みにできない場合がある(実際には別の測地系のデータが紛れ込んでいるケースが実務では起こりうる)

日本の測量成果(JGD2011/JGD2024)は、GRS80楕円体を採用した世界測地系であり、実務上はWGS84とほぼ同一とみなされることが一般的です。ただしcm級精度が求められる場面での違いは、以前の記事「WGS84とJGD2024は「同じ座標」なのか」で扱った通りです。GeoJSON/KML/GPXへの書き出しは地図表示・データ交換が主目的であるケースが多く、その用途であれば両者の違いを気にする必要は基本的にありません。問題になるのは、旧日本測地系や平面直角座標のまま書き出してしまうケースです。

座標変換の流れ


変換してから書き出す、が鉄則

GCVPのように旧日本測地系⇄世界測地系⇄平面直角座標系の相互変換を行うアプリを使う場面では、GeoJSON/KML/GPXへの書き出しを見据えて、あらかじめ緯度経度(世界測地系)に変換しておくのが安全です。流れとしては、次のようになります。

  1. 手元のデータの測地系・座標系を確認する(旧日本測地系か、JGD系か、平面直角座標系か)
  2. 世界測地系の緯度経度(10進度)に変換する
  3. GeoJSON/KML/GPXとして書き出す(このとき測地系はWGS84として扱われる前提を再確認する)

「変換してからでないと仕様に沿わない」という前提を押さえておけば、他のGISソフトやGoogle Earthに読み込んだときの位置ズレ事故を防げます。


まとめ

  • GeoJSON(RFC 7946)・KML・GPXはいずれも座標系をWGS84に固定しており、他の測地系を指定する仕組みを持たない。
  • ファイル形式自体に測地系情報がないため、旧日本測地系や平面直角座標のデータをそのまま書き出すと、地図上で大きくズレる。
  • 実務では「緯度経度(世界測地系)に変換してから書き出す」ことが鉄則。受け取ったファイルも「WGS84のはず」を鵜呑みにしすぎない注意が必要。

出典

  • The GeoJSON Format (RFC 7946) | IETF https://datatracker.ietf.org/doc/html/rfc7946
  • OGC KML Standard | Open Geospatial Consortium https://www.ogc.org/standard/kml/
  • GPX 1.1 Schema Documentation https://www.topografix.com/GPX/1/1/

関連記事


開発者より: アプリ・Kindle本・オープンソースの一覧は GitHub: amru195704 にまとめています。


お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。


アプリを入手(App Store)GeoConverterPro(座標変換) | GeoPrism JP(測地系の可視化・学習)


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Back to top