WGS84 vs KATEC 座標変換ガイド — 韓国の平面座標系のすべて
韓国の測量・不動産・カカオマップで使われるKATEC・TM・UTM-K座標をWGS84(GPS)緯度経度に変換する方法。Bessel 1841/GRS80楕円体、EPSGコード、proj4変換コード、実座標例まで。
🗺️ 「測量図にX 200000、Y 500000と書いてあるけどどこ?」
「カカオマップSDKがKATEC座標を返すけど、GPS座標にどう変換する?」
「不動産登記簿の座標がWGS84と70mもズレているけど正常?」
韓国で座標を扱うとGPS(WGS84)緯度経度のほかにTM・KATEC・UTM-Kといった平面座標に出会います。この記事は韓国で使われる平面座標系の種類、WGS84との違い、変換式、実際の変換コードまで一気にまとめます。緯度経度変換ツールでも英文住所検索時に座標系補正が行われます。
🌐 韓国でよく出会う4つの座標系
| 座標系 | 単位 | 楕円体 | 主な用途 | EPSG |
|---|---|---|---|---|
| WGS84 | 緯度・経度 (度) | WGS84 | GPS、Googleマップ、世界標準 | 4326 |
| TM (中部原点) | X·Y (メートル) | Bessel 1841 (旧) / GRS80 (新) | 韓国測量図、地籍 | 5174 / 5186 |
| KATEC | X·Y (メートル) | Bessel 1841 | LBS、一部カカオSDK legacy | TM 変形 |
| UTM-K | X·Y (メートル) | GRS80 | 国土地理情報院標準、Naverマップ | 5179 |
要点: WGS84は「地球上どこか」を度で表す。TM/KATEC/UTM-Kは「韓国の平面地図上どこか」をメートルで表す。単位も楕円体も原点も全部違います。
📐 KATEC座標系とは
定義
KATEC (KATEC TM)は1990年代の韓国LBS(Location-Based Service)産業で標準化された平面座標系。SKテレコムが始め、カカオマップSDKも一時期内部で使用しました。
主要パラメータ
- 楕円体: Bessel 1841 (韓国地籍測量の伝統的楕円体)
- 投影法: Transverse Mercator (TM, 横メルカトル)
- 中部原点: 緯度38° N, 経度128° E
- False Easting / Northing: 400,000 / 600,000 m
- Scale Factor: 0.9999
他のTM系との違い
- TM 中部原点 (EPSG:5174): 韓国地籍標準。原点経度127°
- UTM-K (EPSG:5179): 国土地理情報院推奨。原点経度127.5°、GRS80楕円体
- KATEC: 原点経度128° (西へ1°)
→ KATEC・TM・UTM-Kはそれぞれ原点経度と楕円体が違うので、同じ位置でも座標値が異なります。
🔢 変換式 — なぜ単純な掛け算では駄目か
変換ステップ (KATEC → WGS84)
1. KATEC X, Y (Bessel 1841 平面)
↓ TM 逆投影 (逆三角関数 + 級数展開)
2. Bessel 1841 楕円体上の緯度・経度
↓ Datum 変換 (Bessel → WGS84)
3. WGS84 楕円体上の緯度・経度
要点はステップ2: Bessel 1841とWGS84は地球を別の形でモデル化するので、回転・スケール・平行移動の補正が必要。これを7-parameter Helmert 変換と呼びます。
Bessel 1841 ↔ WGS84 (韓国公式 7-parameter)
ΔX = -145.907 m
ΔY = 505.034 m
ΔZ = 685.756 m
Rx = -1.162" (回転)
Ry = 2.347"
Rz = 1.592"
Scale = 6.342 ppm
これは韓国国土地理情報院が公式に公表した値。ライブラリに内蔵されているので直接計算することはほぼありません。
🛠 実際の座標変換例
ソウル市庁本館
| 座標系 | X (または経度) | Y (または緯度) |
|---|---|---|
| WGS84 (GPS) | 126.978275 | 37.566535 |
| TM 中部原点 (EPSG:5174) | 198,236 | 451,544 |
| UTM-K (EPSG:5179) | 953,950 | 1,952,500 |
| KATEC | 313,041 | 552,007 |
江南駅2号線
| 座標系 | X (または経度) | Y (または緯度) |
|---|---|---|
| WGS84 (GPS) | 127.027619 | 37.497952 |
| TM 中部原点 | 202,608 | 443,902 |
| UTM-K | 958,222 | 1,944,887 |
| KATEC | 317,393 | 544,381 |
同じ位置 = 同じGPS座標だが、平面座標は座標系ごとに異なる。 登記簿座標をWGS84と比較する時は座標系表示を必ず確認してください。
💻 コードで変換する
Python (pyproj ライブラリ)
from pyproj import Transformer
# KATEC → WGS84
katec_to_wgs84 = Transformer.from_crs(
"+proj=tmerc +lat_0=38 +lon_0=128 +k=0.9999 "
"+x_0=400000 +y_0=600000 +ellps=bessel "
"+towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342",
"EPSG:4326",
always_xy=True
)
lon, lat = katec_to_wgs84.transform(313041, 552007)
# → 126.978275, 37.566535 (ソウル市庁)
# UTM-K → WGS84
utmk_to_wgs84 = Transformer.from_crs("EPSG:5179", "EPSG:4326", always_xy=True)
lon, lat = utmk_to_wgs84.transform(953950, 1952500)
JavaScript (proj4js)
import proj4 from 'proj4';
proj4.defs('KATEC',
'+proj=tmerc +lat_0=38 +lon_0=128 +k=0.9999 ' +
'+x_0=400000 +y_0=600000 +ellps=bessel ' +
'+towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342'
);
const [lon, lat] = proj4('KATEC', 'WGS84', [313041, 552007]);
// → [126.978275, 37.566535]
オンラインツール
- 韓国国土地理情報院 座標変換サービス — 公式
- EPSG.io — EPSGコード別変換
🗺 カカオマップとKATEC
カカオマップJS SDKは基本的に**WGS84(緯度・経度)**を使用:
const map = new kakao.maps.Map(container, {
center: new kakao.maps.LatLng(37.566535, 126.978275), // WGS84
level: 3
});
一部legacy APIや不動産・測量データはKATEC/TM座標を返すことがあります。その時は上の変換コードを使います。カカオ↔Googleマップ座標差の詳細比較はカカオマップ vs Googleマップ座標差を参照。
⚠ 変換時の注意事項
1. Datum情報の欠落 = 70m誤差
KATEC/TM座標だけを受け取ってdatum(towgs84パラメータ)を指定しないと、変換結果が約70mズレます。Bessel↔WGS84楕円体差のため。
2. 古い資料のKATEC vs 現在のTM
2000年代以前の資料のKATECはBessel基準、2010年以降の測量はGRS80基準UTM-Kで標準化。出典年を必ず確認してください。
3. 座標順序 (X, Y) ↔ (経度, 緯度)
- TM/KATEC/UTM-K: 通常
X, Y順 (X=東, Y=北) - WGS84:
(経度, 緯度)または(緯度, 経度)— ライブラリにより異なる - pyproj
always_xy=Trueオプションで統一推奨
💬 よくある質問
Q. KATECとTMの違いは?
A. 両方ともBessel 1841 + TM投影法ですが、原点経度が違います。TM中部原点は127° E、KATECは128° E。同じ位置でもX座標が約89km異なる。
Q. 不動産登記簿の座標はどの座標系?
A. ほとんどTM中部原点 (EPSG:5174)、Bessel 1841基準。2010年以降の新規測量はEPSG:5186 (GRS80基準) に更新中。
Q. カカオマップSDKでKATEC座標を受け取った時の表示方法は?
A. proj4jsでWGS84に変換後、kakao.maps.LatLng(lat, lon)で生成。KATECを直接マーカーで表示することはできません。
Q. 変換精度はどのくらい?
A. 韓国公式7-parameter Helmert変換基準水平±1m以内。GPS測位精度(±3~5m)より精密で、実用目的は十分。
Q. UTMとUTM-Kは同じ?
A. 違います。UTMは世界標準(60ゾーン)、UTM-Kは韓国専用シングルゾーン(EPSG:5179)。韓国データではUTM-Kを使うのが正確。
Q. EPSGコードがわからないと変換できない?
A. +proj=tmerc ...のようなproj4文字列を直接入力すれば変換可能。EPSGはよく使う座標系の標準番号にすぎません。
📝 まとめ
- WGS84 = GPS標準 (緯度経度, 度単位, 世界共通)
- TM/KATEC/UTM-K = 韓国平面座標 (X·Y, メートル, TM投影法)
- 3つの平面座標は原点と楕円体が違うため座標値が全部異なる
- 変換は
pyproj(Python) /proj4js(JS) ライブラリで1行 - Datum(
towgs84パラメータ)欠落時は70m誤差 — 必ず指定
FindLatLngメインでは韓国住所を直接WGS84に変換します。韓国平面座標が必要な場合は上のコードでもう1ステップ変換してください。
📚 参考資料
- 韓国国土地理情報院 座標変換サービス
- EPSG.io — 座標系コードデータベース
- proj4js — JS座標変換ライブラリ
- pyproj ドキュメント — Python変換
- 緯度経度完全理解 — WGS84をもっと知る
- カカオマップ vs Googleマップ座標差