度分秒を10進数の度に変換するには?
D + M/60 + S/3600 10進数の度 = 度 + 分/60 + 秒/3600 で、南緯(S)と西経(W)は負の値にします。例:39°54′33.2″N = 39 + 54/60 + 33.2/3600 = 39.909222°。
緯度経度を10進数・度分秒(DMS)・度分(DDM)のどの形式でも、UTM、Web メルカトル、中国の GCJ-02(高徳地図)・BD-09(百度地図)へ変換。lat,lng と lng,lat を自動判別し、GCJ-02 の逆変換は誤差 1 mm 未満、CSV で一括出力。処理はすべてブラウザ内で完結します。
中国の測量成果表と同じく、1 行に 1 点を X(北方向)、Y(東方向)の順で入力します。
| WGS-84 / CGCS2000 GPS、iOS の位置情報、OpenStreetMap、天地図 | 39.909230, 116.397428 39°54′33.23″N 116°23′50.74″E 39°54.5538′N 116°23.8457′E | |
|---|---|---|
| GCJ-02 高徳地図(AMap)、騰訊地図、WeChat wx.getLocation gcj02 | 39.910634, 116.403672 | |
| BD-09 百度地図(bd09ll) | 39.916973, 116.410044 | |
| Web メルカトル(EPSG:3857) メートル単位の x, y — Web 地図タイル | 12957302.415, 4852760.584 | |
| UTM (WGS-84) 帯番号 + 半球、東距、北距(メートル) | 50N 448496.425 4417856.475 | |
| CGCS2000 3° 帯ガウス・クリューゲル X(北)、Y(東、帯番号付き) | X=4419624.325 Y=39448475.815 | |
| CGCS2000 6° 帯ガウス・クリューゲル X(北)、Y(東、帯番号付き) | X=4419624.325 Y=20448475.815 |
GCJ-02 ではこの地点が WGS-84 の位置から 555 m 移動します。
主要ライブラリが「中国」とみなす矩形の内側です。この矩形は朝鮮半島、日本の一部、モンゴル、ベトナムも含みますが、これらの地域にはオフセットを適用すべきではありません。
各リンクには、その地図の座標系に変換済みの座標が渡されるので、ピンは正しい位置に立ちます。
| 行 | 入力 | 出力 |
|---|
本サイトの地理系・エンコード系ツールを開発している開発者が執筆・レビューしています。このページの座標、距離、誤差の数値はすべてツールのエンジンで計算したか、下記の測定結果に基づくもので、テストで検証しています。
D + M/60 + S/3600 10進数の度 = 度 + 分/60 + 秒/3600 で、南緯(S)と西経(W)は負の値にします。例:39°54′33.2″N = 39 + 54/60 + 33.2/3600 = 39.909222°。
GCJ-02 / BD-09 / WGS-84 高徳地図(AMap)、騰訊地図、WeChat の gcj02 は GCJ-02、百度地図は GCJ-02 にさらにオフセットを重ねた BD-09、GPS、iOS の位置情報、OpenStreetMap は WGS-84 です。中国の 3 つの地図 API はいずれも WGS-84 へ戻す変換を提供していません。
17.6–715 m 場所によって異なり、中国全域を 0.05° 格子で測ると 17.6–715 m、中央値は約 430 m です。天安門周辺で約 555 m、広州で約 621 m。BD-09 はさらに 0.76–0.98 km ずれます。
データの出どころ次第 Google マップと公式の EPSG:4326 の軸順は緯度が先、GeoJSON と高徳地図・百度地図の API は経度が先です(116.403672,39.910634)。取り違えると地点が数千 km 移動するため、ツールが順序を判別し、その理由を表示します。
≈ 0.11 m 赤道上で 1 度は約 111.3 km なので、小数 5 桁 ≈ 1.1 m、6 桁 ≈ 0.11 m、7 桁 ≈ 1.1 cm です。緯度 1 秒は約 30.8 m にあたります。
以下の 6 つの式はツールのエンジンと同じもので、例の数値はすべてエンジンで計算しています。5 番目と 6 番目の式が GCJ-02 の順変換のすべてです。2 つの多項式でオフセットを求め、それをその緯度での弧長を使って度に換算します。係数は gcoord や coordtransform と同じです。
DD = D + M/60 + S/3600
S/W: DD = -(D + M/60 + S/3600)
39°54′33.2″N →
= 39.9092222°
T = round(|DD| × 3600 × 10^k); D = ⌊T / (3600·10^k)⌋
M = ⌊(T − D·3600·10^k) / (60·10^k)⌋; S = remainder / 10^k
116.397428°, k = 2 →
= 116°23′50.74″
z = √(x² + y²) + 0.00002·sin(y·π·3000/180); θ = atan2(y, x) + 0.000003·cos(x·π·3000/180)
lng_bd = z·cos θ + 0.0065; lat_bd = z·sin θ + 0.006
GCJ-02 (116.403672, 39.910634) →
= BD-09 (116.410044, 39.916973)
x = R·λ; y = R·ln(tan(π/4 + φ/2)), R = 6378137
|φ| ≤ 85.0511287798066°
(116.397428°, 39.90923°) →
= (12957302.415, 4852760.584)
T_lat = −100 + 2x + 3y + 0.2y² + 0.1xy + 0.2√|x| + ⅔(20·sin 6πx + 20·sin 2πx) + ⅔(20·sin πy + 40·sin(πy/3)) + ⅔(160·sin(πy/12) + 320·sin(πy/30))
T_lng = 300 + x + 2y + 0.1x² + 0.1xy + 0.1√|x| + ⅔(20·sin 6πx + 20·sin 2πx) + ⅔(20·sin πx + 40·sin(πx/3)) + ⅔(150·sin(πx/12) + 300·sin(πx/30))
(116.397428, 39.90923) → x = 11.397428, y = 4.90923 →
= T_lat = 155.8381, T_lng = 533.8815
Δφ = T_lat·180 / (a(1 − e²)/W³·π); Δλ = T_lng·180 / (a/W·cos φ·π)
a = 6378245, e² = 0.00669342162296594323, W = √(1 − e²·sin²φ)
WGS-84 (116.397428, 39.90923) →
= GCJ-02 (116.403672, 39.910634)
WGS-84 は GPS の基盤となる世界測地系です。GPS 受信機、iOS の Core Location(ドキュメントに WGS 84 参照系と明記)、OpenStreetMap の座標は WGS-84 です。中国の CGCS2000 の楕円体は、扁平率の有効数字 9 桁目が WGS-84 と異なるだけなので、開発用途では同一とみなせます。
GCJ-02 は俗に「火星座標」と呼ばれ、中国の地図サービスが使う座標系です。高徳地図と騰訊地図の公式ドキュメントは、どちらも中国の測量当局が定めた GCJ-02 を使うと明記しています。WGS-84 に位置によって変わる非線形のオフセットを加えたもので、中国全域の実測で 17.6–715 m。GPS の地点をそのまま高徳地図に描くと数百メートルずれるのはこのためです。
BD-09 は百度地図の座標系で、GCJ-02 の上にさらにオフセットを加えたものです(百度のドキュメントでは「GCJ02 を基にもう一度暗号化」と説明)。度単位の bd09ll とメートル単位の bd09mc があり、このツールが扱うのは bd09ll です。なお bd09mc は Web メルカトル EPSG:3857 ではありません。同じ地点でも北方向の値が 17–30 km 異なります。
このツールは公開されているオープンソースの式を使っています。GCJ-02 と BD-09 の順変換の結果は gcoord や coordtransform と一致し、逆変換は往復誤差が 1 mm 未満になるまで反復します。式はリバースエンジニアリングによるもので、公式アルゴリズムとの公開ベンチマークは存在しません。そのため結果は開発やデータ処理向けであり、測量の成果品には向きません。
WGS-84 39.909230, 116.397428 (GPS / iOS / OSM) GCJ-02 39.910634, 116.403672 (AMap / Tencent) +555 m BD-09 39.916973, 116.410044 (Baidu) +1378 m AMap / Baidu API order: lng,lat → 116.403672,39.910634
10進数、度分秒(DMS)、度分(DDM)、d m s の文字表記、度分秒を使った中国式の 北纬/东经、前後どちらに付いた半球記号、Google マップの @lat,lng リンクまで、そのまま読み取ります。事前の整形は不要です。
高徳地図・百度地図の lng,lat と Google の lat,lng を見分け、その根拠を入力欄の下に表示します。両方の値が 90 未満になる中国西部の地点でも、GCJ-02/BD-09 の入力は中国範囲ルールで経度が先と判断します。
1 つの地点から 7 つの結果:WGS-84、GCJ-02、BD-09、Web メルカトル、UTM、CGCS2000 の 3° 帯・6° 帯ガウス・クリューゲル。それぞれにコピーボタンが付き、変換方向を何度も切り替える必要はありません。
GCJ-02→WGS-84 と BD-09→GCJ-02 は、よく使われる 1 ステップの簡易逆変換ではなく、不動点反復で求めます。簡易逆変換の誤差は北京で約 0.36 m、上海で約 2.07 m、中国を覆う格子上では最大約 4.9 m です。3–5 回の反復で往復誤差は 1 mm 未満になり、単体テストで検証しています。
UTM の帯はノルウェーとスバールバルの例外を含み、半球は N/S で表記します。ガウス・クリューゲルは CGCS2000 楕円体を使い、X が北、Y が東(帯番号付き)です。PROJ との差は 1 mm 以内であることを確認済みです。
最大 5,000 行まで貼り付けられ、各行に結果かエラーの理由が表示されます。変換先の座標系と角度の形式を選び、コピーするか CSV(BOM 付き UTF-8)をダウンロードします。データがブラウザの外に出ることはありません。
WGS84/GCJ02/BD09/BD09MC/EPSG:3857 に対応。GCJ-02 の逆変換は残差が 1e-6° 未満で停止するため実測で最大 0.147 m の誤差があり、BD-09 の逆変換は 1 ステップです。順変換の結果はこのツールと一致し、逆変換はこのツールのほうが高精度です。
最も多く流用されている実装です。gcj02towgs84 は 1 ステップの逆変換(上海付近で約 2.07 m、格子上で最大約 4.9 m の誤差)で、中国の判定矩形(東経 73.66–135.05°、北緯 3.86–53.55°)からは最北端の漠河など中国自身の端の地点が外れます。
UTM、ガウス・クリューゲル、EPSG 座標系のリファレンス実装で、このツールの投影変換とは 1 mm 以内で一致します。PROJ には GCJ-02 も BD-09 もないため、中国の地図座標は別途処理が必要です。
/v3/assistant/coordinate/convert は GPS 座標や百度地図の座標を高徳地図の座標に変換しますが、GPS 座標への逆変換はなく、API キーが必要で、座標がサーバーに送信されます。
GPS、高徳地図/騰訊地図、bd09ll、bd09mc の座標を百度地図の座標に変換します。ドキュメントには、法令の規定によりどの座標タイプも GPS 座標には変換できないと記載されています。
度分秒から10進数への変換は 1 行(=D+M/60+S/3600)で済みますが、GCJ-02、BD-09、ガウス・クリューゲルの式は長く、間違えやすいものです。大量のデータはここに貼り付けて CSV で書き出してください。
入力座標系: GCJ-02 116.403672,39.910634
WGS-84: 39.909230, 116.397428 BD-09: 39.916973, 116.410044
高徳地図の API は経度を先に返します。116 は 90 を超えるので、ツールも経度が先と読み取ります。逆変換は反復で求めています。よくある 1 ステップの簡易式では、この地点で 0.074 m、上海付近で約 2.07 m、中国を覆う格子上では最大約 4.9 m(北東端)ずれます。
入力座標系: WGS-84 39°54′33.2″N 116°23′50.7″E
WGS-84: 39.909222, 116.397417
39 + 54/60 + 33.2/3600 = 39.909222、116 + 23/60 + 50.7/3600 = 116.397417。中国式の表記 北纬39度54分33.2秒,东经116度23分50.7秒 でも同じ結果になります。
入力座標系: WGS-84 31.2304, 121.4737
3°: X=3457455.489 Y=40640412.315 6°: X=3457523.539 Y=21354575.479
東経 121.47° の上海は 3° 帯の 40 帯(中央子午線 120°E)、6° 帯の 21 帯(中央子午線 123°E)に入ります。中央子午線が違えば X と Y も変わります。Y の先頭 2 桁が帯番号です。
39.90923, 116.397428 31.239692, 121.499755 22.543096, 114.057865
39.910634, 116.403672 31.237678, 121.504188 22.540379, 114.062979
複数行を貼り付けると一括変換の表が開きます。「変換先」を GCJ-02 にすると上の結果になります。高徳地図の API に渡す場合は、CSV を書き出す前に「出力順序」を lng, lat に切り替えてください。
座標の出どころで選びます。GPS 受信機、iOS の位置情報、OSM は WGS-84、高徳地図、騰訊地図、type: 'gcj02' を指定した WeChat ミニプログラムは GCJ-02、百度地図は BD-09 です。投影座標(Web メルカトルのメートル値、UTM、CGCS2000 ガウス・クリューゲル)も入力できます。
10進数、度分秒(DMS)、度分(DDM)、前後どちらに付いた N/S/E/W、中国式の 北纬/东经 表記まで読み取ります。値の区切りはカンマ・スペース・セミコロンのどれでも構いません。ガウス・クリューゲルの入力は中国の測量で使う X(北方向)→ Y(東方向)の順で、39448475.815 のように帯番号付きの Y なら帯は自動で決まります。
入力欄の下に、値を「緯度, 経度」と「経度, 緯度」のどちらで読んだかと、その根拠(半球記号、90 を超える値、中国範囲ルール)が表示されます。両方の値が 90 未満だと順序は証明できないため、緯度が先とみなします。必要なら「値の順序」を変更してください。
各行にコピーボタンがあり、高徳地図や百度地図の API 向けには「出力順序」を lng, lat に切り替えられます。複数行の入力では一括変換の表が作られるので、変換先の座標系と角度の形式を選んでからコピーするか CSV をダウンロードします(BOM 付き UTF-8 なので Excel でも文字化けしません)。
高徳地図と百度地図の API は経度が先、Google マップや多くの表計算データは緯度が先です。lng,lat を lat,lng として読むと、地点が数千 km 移動します。
lat=116.403672, lng=39.910634
lat=39.910634, lng=116.403672
GPS 受信機と iOS の位置情報は WGS-84 を返します。そのまま高徳地図に描くとピンは数百メートルずれ、百度地図ではさらにずれます。先に地図側の座標系へ変換してください。
AMap marker ← 39.909230, 116.397428 (WGS-84)
AMap marker ← 39.910634, 116.403672 (GCJ-02)
BD-09 は GCJ-02 からさらに 0.76–0.98 km 離れています。百度地図で取得した地点は、GCJ-02 として使わず、入力座標系を BD-09 にして変換してください。
GCJ-02 ← 39.916973, 116.410044 (from Baidu)
BD-09 → GCJ-02: 39.910634, 116.403672
EPSG:4326 は度、EPSG:3857 はメートルです。116.39 と 39.90 を EPSG:3857 に入れると、地点は北緯 0°・東経 0° から数百メートルの、ギニア湾の中になります。
EPSG:3857 x=116.397428, y=39.90923
EPSG:3857 x=12957302.415, y=4852760.584
先に度・分・秒へ分解してから秒を丸めると、39°59′60.00″ のような不正な値になります。表示する最後の桁で先に丸め、それから分解してください。
39°59′60.00″
40°00′00.00″
帯番号の付いていない Y(448475.815 など)からは中央子午線がわかりません。帯番号付きの Y を入力するか、帯番号を指定してください。
X=4419624.325 Y=448475.815 (zone ?)
X=4419624.325 Y=39448475.815 (3° zone 39)
wgs ≈ 2·gcj − f(gcj) は、中国を覆う格子(東経 73.5–135°、北緯 18–53.5°、35,321 点)で誤差の中央値が 0.42 m、最大は約 4.9 m で、北東端の東経 131°、北緯 53.25° 付近に現れます。このツールはステップが 1e-10° 未満になるまで w ← g − Δ(w) を反復し(最大 10 回)、3–5 回で収束して往復誤差は 1 mm 未満になります。BD-09→GCJ-02 も同じ方法で反復します。lng_gcj02 や lat_wgs84 のようにフィールド名を付け、API ドキュメントには lng,lat か lat,lng かを明記します。本番環境で起きる「ピンがずれる」バグの多くは、座標系か順序が書かれていないことが原因です。x_pi を使う箇所に π を使っているため、最大 90 m の差が出ます。相手がどのライブラリを使ったか確認してください。 wx.getLocation({ type: 'gcj02' }) で GCJ-02 を直接取得できます。 59′60″ のような不正な値は出ません。一括変換では「角度の形式」を度分秒にしてください。 単位変換
無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。
単位変換
符号付き10進数を入力すると、符号絶対値表現・1の補数・2の補数・ゲタばき表現を4〜64ビットで同時に算出します。ビット列や16進バイトを貼り付ければ、同じパターンの5通りの読み方を並べて確認できます。8ビットの−128に符号絶対値表現と1の補数が存在しないことも明示。すべてブラウザ内で処理、無料、登録不要。
単位変換
Linux のファイル権限(パーミッション)を8進数(755・644)と rwx 記号で相互変換する無料計算ツール。chmod コマンドを自動生成し、chmod 755 の意味や 777 の危険な設定もひと目で確認。すべてブラウザ内で完結します。
単位変換
HEX を RGB、HSL、OKLCH、OKLAB、CMYK にブラウザで変換できます。任意の形式をワンクリックでコピー。無料・登録不要・色データはページから一切送信されません。
単位変換
HEX カラーを CMYK にブラウザで変換できます。印刷プレビュー向けの sRGB ベースの単純な近似値です。無料・登録不要、色データはローカルから出ません。
単位変換
任意の HEX カラーを HSL にブラウザで変換できます。3 桁・6 桁・アルファ付き 8 桁の HEX すべてに対応。無料・即時・登録不要、色データはページから一切送信されません。