latitudeとlongitudeどっち?緯度経度の覚え方と順番

latitudeとlongitudeどっち?緯度経度の見分け方と順番

地図アプリを触っているときや、英語のニュースを読んでいるとき、ふとlatitudeとlongitudeのどっちが緯度でどっちが経度だったか分からなくなることってありませんか。

英語学習をしている方はもちろん、プログラミングやWebサイト制作でマップを埋め込もうとしたときに、画面のピンが全く見当違いの太平洋の真ん中に飛んでいってしまって頭を抱えた経験がある方も多いはずです。

学校の地理の授業で習ったはずなのに、日常で頻繁に使う言葉ではないからこそ、いざ向き合うと直感的にどっちが縦でどっちが横かも混乱してしまいますよね。

さらに厄介なのが、システムやAPIによってlatとlonの並び順が違ったり、lngという別の略称が出てきたりする点です。

どっちが北緯や南緯に対応していて、どっちが東経や西経を表しているのか、基本の定義からスッキリ整理したいと感じているのではないでしょうか。

今回は、そんな紛らわしいlatitudeとlongitudeの違いや一発で覚えられるユニークな見分け方、さらには開発やデータ処理で役立つツールの選び方まで、分かりやすくまとめてみました。

この記事を最後まで読めば、英語の長文読解でもエンジニアの実務作業でも、二度と迷わずに自信を持って扱えるようになりますよ。

  • latitudeとlongitudeの根本的な定義と直感的に覚えられる識別テクニック
  • 国際規格ISOや数学座標系における記述順序の違いと混乱が起きる背景
  • Web開発や空間データベース構築においてタイプ別におすすめできるツール
  • 地図データの座標トラブルを防ぐための検証ルールやポリゴン記述の注意点
目次

latitudeとlongitudeでどっちか迷う基礎知識

地球儀を見ながら英語の地図データについて勉強している
地球儀を見ながら英語の地図データについて勉強している

英語の文献を読んでいるときや地図データを眺めているときに、真っ先にぶつかるのが「結局どっちが緯度で、どっちが経度なんだっけ?」という疑問ですよね。まずは丸暗記に頼らず、それぞれの言葉が地球上のどこを指し示しているのか、基本的な仕組みと成り立ちから一緒に整理していきましょう。土台となるルールが頭に入ると、そのあとの応用も驚くほどスムーズになりますよ。

緯度と経度の定義や基準となる線の違い

まずは地球全体のスケールから、それぞれの学術的な位置づけを紐解いてみましょう。緯度、つまり英語のlatitudeは、地球の赤道面をゼロ度(0°)の基準として、そこから南北にどれくらい傾いているかを表す角度のことです。赤道から北極点へ向かう方向を北緯(North Latitude)と呼び、南極点へ向かう方向を南緯(South Latitude)と呼びます。北極点と南極点がそれぞれの端点になるため、測定できる数値の限界はプラスマイナス90度までとなります。

これに対して、経度を表すlongitudeは、イギリスのロンドンにある旧グリニッジ天文台を通る子午線、いわゆる本初子午線(Prime Meridian)をゼロ度(0°)の基準点にしています。この子午線をスタート地点として、東まわりにどれだけ離れているかを東経(East Longitude)、西まわりにどれだけ離れているかを西経(West Longitude)と呼びます。地球をぐるりと一周する円を東西に二分割する形になるため、東経も西経もそれぞれ最大で180度まで広がるわけですね。経度や子午線の厳密な科学的定義や測地系の基準については、(出典:国土地理院『測地成果2011と地理座標』)でも詳しく解説されています。

地図の上に引かれた線に注目してみると、緯度を示す「緯線」は赤道と平行に走る横方向のラインを描きます。一方、経度を示す「経線」は北極と南極を結ぶように走る縦方向のラインになります。地球儀を思い浮かべたとき、輪切りにするような水平の縞模様が緯線で、スイカのしま模様のように上下を結んでいるのが経線だとイメージすると、すんなり腹落ちするのではないでしょうか。

項目 緯度(latitude) 経度(longitude)
測定の基準 赤道面(0度) 本初子午線(グリニッジ子午線:0度)
測定可能な範囲 南緯90度(-90°)〜 北緯90度(+90°) 西経180度(-180°)〜 東経180度(+180°)
座標軸の方向 南北方向の測定(垂直移動) 東西方向の測定(水平移動)
地図上のライン 緯線(赤道と平行な横線) 経線(両極を結ぶ縦線)
主な関連用語 赤道(equator)、北半球/南半球 子午線(meridian)、日付変更線(date line)

このように表で比較してみると、スタートラインの位置も、最大値となる数値の範囲もまったく異なっていることがよく分かりますよね。まずは「赤道基準の横線が緯度」「子午線基準の縦線が経度」という基本の対比をしっかり押さえておきましょう。

latとlonやlngなど英語略称の意味

海外のWebサイトや技術マニュアル、あるいは地図ツールの設定画面を見ていると、フルスペルではなく省略された英単語がよく使われていますよね。最も目にする頻度が高いのがlatという表記ですが、これはもちろんlatitudeの先頭3文字を取った省略形です。この緯度側の略称に関しては、プログラミングの世界でも日常会話でもほぼ全員が「lat」を採用しており、解釈のブレが起きることはまずありません。

一方で、頭を悩ませるのが経度側の略称です。実は経度の略称にはlonとlngという2つの主要なバリエーションが存在していて、状況によって使い分けられているんです。歴史的な地理情報の世界や学術的な論文などでは、単語の頭から順番に3文字を取った「lon」が伝統的に好まれてきました。しかし、Web開発の世界で圧倒的なシェアを誇るGoogle Maps APIが、なぜか「lng」という3文字を公式プロパティとして採用したことで、インターネット関連では「lng」の存在感が一気に高まることになりました。

さらに古い仕様書や一部のライブラリでは、3文字に切り詰めずにlongと書かれているケースも見かけます。英語の単語としては直感的で分かりやすいのですが、プログラミング言語においては別の重大な意味を持ってしまうことがあるため、少し取り扱いに注意が必要な表記でもあります。略称を目にしたときは、「latの相棒としてlonやlng、まれにlongが使われるんだな」と大らかに捉えておくと混乱せずに済みますよ。

単語の文字数や測定スケールで覚えるコツ

英単語のスペルと日本語の対応関係を頭の中で結びつけるとき、もっとも手軽で忘れにくいのが「文字の長さ」を比較するテクニックです。日本語をひらがなにして声に出してみると、「いど(緯度)」は2文字しかありませんよね。それに対して「けーど(経度)」は伸ばす音も含めると3文字から4文字分の長さがあります。

これを英語のスペルと比較してみると、短いほうの「いど」に対しては、文字数が短くてスッキリしているlatitudeが対応します。そして長いほうの「けーど」に対しては、文字数が多くて見た目にもボリュームがあるlongitudeがぴったり重なるのです。しかも嬉しいことに、longitudeの先頭4文字をよく見てみると、英語で長いを意味する「long」という単語がそのまま隠れています。「長いから、けーど=longitude」と連想ゲームのように繋げるだけで、試験中や作業中でも即座に引き出せるようになりますよ。

さらに面白いのが、地球上で測れる数値のスケール感ともこの長さの関係が完全に一致している点です。緯度の可動範囲は赤道から極点までの最大90度ですが、経度は地球を半周する最大180度まで広がっていますよね。つまり、数値の範囲としても「短い・小さい90度=緯度=latitude」であり、「長い・大きい180度=経度=longitude」という関係が成り立つのです。言葉の長さと数字の大きさが綺麗にリンクしているので、感覚派の方には特におすすめの覚え方かなと思います。

音声の口の形や英語の語呂合わせでの判別

体感的なアプローチとして私がとても面白いと感じているのが、実際に単語を発音するときの「口の開き方」に注目する方法です。試しに声を出して「latitude」と言ってみてください。最初の「ラティ(laaaat)」を発音するとき、口角が左右にグッと引っ張られて、唇が水平な横一文字の形になりませんか。この唇の横に広がる形状が、まさに地図上を水平に走る「横線の緯線」のイメージとピッタリ重なるわけです。

一方で、「longitude」と発音するときはどうでしょうか。出だしの「ロン(loooong)」の音を出すとき、唇はすぼまりつつ、あごが下に落ちて口が縦方向に大きく開くはずです。この縦に開いた口のラインは、北極と南極をまっすぐに縦で結んでいる「縦線の経線」そのものですよね。鏡を見ながら一度声に出してみると、唇の動きと地球のラインが結びついて、理屈抜きで体感記憶として定着してくれます。

また、海外の子供たちが学校で習う定番のフレーズにLat is flatという有名な語呂合わせがあります。平らを意味する「flat」と「lat」が心地よく韻を踏んでいて、平らに横たわっているラインがlatitudeだと直感的に理解できる魔法のフレーズです。日本語圏でも昔から「横緯(よこい)縦経(たてけい)」や「横いけ縦」といったテンポの良い語呂合わせが親しまれています。耳から入るリズムや口の動きを活用することで、丸暗記のストレスから一気に解放されますよ。

日本国内の座標数値の大きさから見分ける方法

パソコン画面の数字や地図を確認している
パソコン画面の数字や地図を確認している

もしあなたが普段扱っているデータが日本国内のスポット情報なら、英単語のスペルを思い出す必要すらなく、並んでいる数字の大きさを見るだけで一瞬で見分ける裏ワザがあります。日本の国土は地球全体で見ると非常に限られたエリアに収まっているため、緯度と経度が取りうる数値の範囲が完全に決まっているからですね。

日本国内のどの場所であっても、緯度の数値はおよそ北緯20度から45度の範囲にすっぽり収まります。東京なら大体35度前後ですし、北海道の北端でも45度を超えることはありません。それに対して、経度の数値は東経122度から153度の範囲に必ず入ってきます。東京であれば東経139度から140度付近になりますよね。つまり、2つの数値が並んでいた場合、30台などの圧倒的に小さい数字が絶対に緯度であり、130台などの桁違いに大きい数字が経度だと断定できるのです。

国内案件のデータ確認時に「35.6895, 139.6917」という並びを見かけたら、小さい数字(35度)がlatitude、大きい数字(139度)がlongitudeだと即答できます。CSVデータのヘッダーが欠落している場合などの緊急判別テクニックとして非常に役立ちますよ。

この数値規模の落差を知っておくだけで、システムから吐き出されたログやエクセルの表をチェックするときに、どちらが縦でどちらが横なのかを瞬時に見抜くことができます。実務で日本のデータを扱う機会が多い方にとっては、もっとも実用的で心強い味方になってくれるはずです。

latitudeやlongitudeのどっちを選ぶかの基準

単語の意味や見分け方が分かったところで、次に立ちはだかるのが「システムや仕様書で、どちらを先に書くべきなのか」という順序問題です。実はこの表記順、地理学の歴史的なルールと、数学やコンピューターサイエンスの理論が真っ向から衝突している分野でもあります。どちらを基準に採用すべきなのか、失敗しないための判断基準を詳しくチェックしていきましょう。

国際規格ISO6709が定める記述の順序

地球上の位置を世界共通で表現するために作られた国際規格がISO 6709です。この規格において定められている標準的な記述ルールは、ずばり「緯度が先、経度が後(Latitude, Longitude)」という順序です。私たちが普段口にする「緯度・経度」という日本語の語順とも完全に一致していますよね。公式な国際標準の規格仕様については、(出典:ISO『ISO 6709: Standard representation of geographic point location by coordinates』)において厳密に定義されています。

人間にとっての読みやすさや日常的な会話の自然さを最優先して設計されているため、一般的な地図サービスや住所検索システムなどでは、このISO規格に準拠した「Lat, Lon」の並び順が広く採用されています。また、この規格では符号のルールも明確に決められており、北緯をプラス(+)、南緯をマイナス(-)、東経をプラス(+)、西経をマイナス(-)として表現します。

ただし、ISO 6709で規定されている厳密な文字列表現(例えば「+35+135/」のように末尾にスラッシュを入れる形式など)は、昔の通信仕様を引きずっている部分もあり、現代のWeb APIやURLのパラメータとしては少し扱いづらい側面もあります。それでも「人間向けのインターフェースでは緯度が先に来るのが世界標準なんだ」という共通認識を持っておくことはとても大切です。

数学のデカルト座標系に基づく記述の基準

人間の感覚に寄り添ったISO規格とは対照的に、数学や物理学の論理を徹底的に突き詰めた基準が「デカルト座標系(X, Y座標系)」に基づくアプローチです。中学校の数学のグラフを思い出してほしいのですが、平面上の位置を指定するときは、必ず水平方向のX軸を先(第一)に、垂直方向のY軸を後(第二)に記述して「(X, Y)」と表現しましたよね。

この数学の絶対的なルールを地球の球面に当てはめてみると、話が一変します。東西方向の水平な広がりを示す「経度」はまさに横軸のX軸に該当し、南北方向の垂直な広がりを示す「緯度」は縦軸のY軸に該当するのです。そのため、幾何学的な計算やコンピューターによる空間演算を重視するエンジニアリングの世界では、「経度が先、緯度が後(Longitude, Latitude / X, Y)」という順序こそが最も自然で合理的だと見なされるわけです。

人間が言葉として発するときは「緯度経度(Lat, Lon)」と言いたくなるのに対し、コンピューターに幾何学計算をさせるときは「X, Y(Lon, Lat)」で渡さなければ整合性が取れないという、構造的なジレンマがここに存在しています。この根本的な視点の違いを理解しておくと、仕様書ごとに順序がバラバラになっている理由がスッキリ納得できるはずです。

右手系と左手系における設計思想の違い

座標の順序をめぐる対立の根底には、空間をどのように把握するかという「座標系の手性(Chirality)」、つまり右手系と左手系の思想の違いが潜んでいます。3次元のグラフィックスや数学の世界では、親指、人差し指、中指を使って軸の向きを定義する空間モデルが広く使われています。

数学や多くの物理演算エンジンで標準とされる「右手系」の座標空間では、水平軸であるXを起点にして空間を定義していくため、経度(X)を第一の要素、緯度(Y)を第二の要素とする「経度・緯度」の組み合わせが極めて自然な流れとなります。空間データベースや高度なGISエンジンが経度ファーストを採用するのは、この数学的な整合性を崩したくないという強い意志があるからですね。

一方で、人間の視覚的な直感や古くからの航海術の歴史に基づいたシステムでは、赤道からの距離(緯度)をまず把握してから東西の位置(経度)を特定していく「左手系」的な発想が好まれてきました。どちらかが間違っているというわけではなく、システム全体の根底にある哲学が「数学的な美しさ」を目指しているのか、それとも「人間の直感的な使いやすさ」を目指しているのかによって、採用される軸の向きが分かれていると理解するのがスマートです。

プログラミング言語での予約語重複リスク

システム開発で変数名やデータベースの物理カラム名を設計するとき、思わぬバグの引き金になりやすいのが、プログラミング言語における「予約語との衝突」という問題です。経度を省略して書く際、英語の直感に従って「long」と命名したくなる気持ちはとてもよく分かります。

しかし、JavaやC++、C#などの静的型付け言語において、longは極めて頻繁に使われる基本的なデータ型(64ビット長整数型)の予約語としてシステムに予約されています。そのため、コードの中で以下のように書いてしまうと、コンパイラが「これは型の宣言なのか、それとも変数名なのか」を判別できず、即座に構文エラー(Syntax Error)を吐き出してビルドが止まってしまいます。

うっかり「double long = 139.69;」のように宣言すると、予約語の衝突によってコンパイルが通りません。JavaScriptなどの動的言語では動いてしまうこともありますが、将来的な他言語連携やAPIの互換性を考えると、変数名に単独の「long」を当てるのは避けるのが賢明です。

このような事故を未然に防ぐためにも、開発現場では予約語と絶対に被らない「lng」や「lon」を採用するか、あるいは省略せずにフルスペルで命名する運用が強く推奨されています。命名ひとつでプロジェクト全体の安全性や保守性が大きく変わってくる重要なチェックポイントですね。

配列管理とオブジェクト形式管理の比較基準

複数の座標データをアプリケーション内で受け渡しする際、データの持ち方として「配列」を選ぶか、それとも「キーと値を持つオブジェクト(連想配列)」を選ぶかは、開発の命運を分けるほど重要な選択基準になります。多くの不具合は、順序に依存するデータ構造を選んでしまったことから始まっているからです。

例えば「[35.68, 139.69]」のようなプレーンな配列でデータを保持してしまうと、この配列を受け取った別のプログラムや開発者は、「0番目の要素が緯度なのか経度なのか」をコードの文脈から推測するしかなくなります。もし送信側がGeoJSONの感覚で[経度, 緯度]で作っており、受信側がGoogle Mapsの感覚で[緯度, 経度]として処理してしまえば、何の警告も出ないままピンの位置が狂ってしまいます。

一方で、「{ lat: 35.68, lng: 139.69 }」のように明示的なキー名を持ったオブジェクト形式を採用すれば、データの順番という概念そのものが消滅します。どちらが先に入っていようと、プログラムはキー名を指定して正確に値を取り出せるため、順序の勘違いによるヒューマンエラーを100%防ぐことができるのです。保守性の高いシステムを作りたいのであれば、順序依存の配列を避け、自己記述的なオブジェクト形式を基本ルールに据えるのがベストプラクティスですよ。

latitudeとlongitudeのどっちかで選ぶツール

位置情報を扱うプロジェクトでは、採用するツールやライブラリによって「緯度が先か、経度が先か」のルールが大きく分かれます。自分の目的や開発スタイルに合わないものを選んでしまうと、毎日のように座標変換のコードを書く羽目になってしまいますよね。ここでは、代表的な5つのツールや規格の特徴をタイプ別にご紹介します。

【手軽なWeb開発】GoogleMapsAPIがおすすめ

デスクでノートパソコンを開きマップ開発作業をしている
デスクでノートパソコンを開きマップ開発作業をしている

Webサイトに店舗のアクセスマップを埋め込みたい方や、直感的で分かりやすい地図機能をサクッと実装したい方に一番おすすめなのが、世界中で使われているGoogle Maps APIです。圧倒的なドキュメントの充実度と、誰もが見慣れたUIを手軽に利用できるのが最大の強みですね。

Google Maps APIを選ぶ最大のメリット

  • 人間の直感に沿った「緯度・経度(lat, lng)」の順序でコードが書ける
  • 豊富なプレイス情報やルート検索など周辺機能がワンストップで揃う
  • ネット上に日本語の解説記事や実装サンプルが膨大に存在している

Google Maps APIでは、座標を指定する際に伝統的な「緯度が先、経度が後」という設計が一貫して採用されています。日常の感覚のまま「東京の緯度と経度を入れてピンを立てる」という処理がスムーズに書けるため、座標の順序問題で頭を抱える時間を最小限に抑えられますよ。

導入時の注意点

アクセス数に応じた従量課金制となっているため、想定以上のアクセスが集まった場合の利用料金には注意が必要です。また、経度のプロパティ名が一般的な「lon」ではなく「lng」になっているため、他の地理情報データから値を流し込む際のプロパティ名マッピングを忘れないようにしましょう。

【標準形式準拠】GeoJSON形式の採用が最適

異なるシステム間で地理データをやり取りしたい方や、業界標準のオープンなフォーマットでデータを安全に保管・共有したい方には、GeoJSON形式(RFC 7946)の採用が最適解となります。JSONをベースにした構造なので、あらゆるWeb技術と親和性が抜群です。

GeoJSON形式を選ぶ最大のメリット

  • 国際標準規格(RFC 7946)として定義されておりデータ交換の互換性が極めて高い
  • 点(Point)だけでなく線(LineString)や多角形(Polygon)も美しく表現できる
  • GitHubなどの主要なプラットフォーム上でファイルを開くだけで地図が自動描画される

GeoJSONは、数学的なデカルト座標系を徹底して尊重しているため、配列の並び順が厳格に「[経度, 緯度]([Longitude, Latitude])」と規定されています。国際標準規格として仕様が完全に固定されているため、チーム開発でもデータの解釈ブレが発生しにくいのが嬉しいポイントですね。

導入時の注意点

一般的な住所データやGoogle Mapsから取得した座標(緯度, 経度)をそのまま配列に放り込むと、縦と横が完全に逆転してしまいます。必ず配列に格納する直前で「経度を最初、緯度を2番目」に入れ替える処理を挟むように徹底してください。

【空間DB構築】PostGISの導入がおすすめ

数万件を超える大量の店舗データを高速に検索したい方や、「特定のエリア内にあるスポットを瞬時に抽出したい」といった高度な空間演算をデータベース側で完結させたい方には、PostgreSQLの拡張機能であるPostGISが圧倒的におすすめです。

PostGISを選ぶ最大のメリット

  • 空間インデックスを活用することで膨大な位置情報データをミリ秒単位で高速検索可能
  • 距離計算やポリゴンの重なり判定などプロ仕様の地理空間関数が標準で網羅されている
  • オープンソースでありながらエンタープライズ用途に耐えうる堅牢性と実績を誇る

PostGIS内部のジオメトリ型(Geometry)では、数学的な座標軸の並び順に則って「X(経度)、Y(緯度)」の順でデータを保管・処理します。データベース層で厳格な幾何学モデルを採用しているため、複雑な図形同士の交差判定やバッファ計算なども驚異的な精度とスピードで処理してくれますよ。

導入時の注意点

一般的なリレーショナルデータベースの知識に加えて、測地系(SRID 4326など)や空間参照系の専門知識が求められます。フロントエンドから送られてきた「緯度・経度」の値をそのままSQL文のST_MakePoint関数に渡す際、引数の順序(経度, 緯度)を間違えないよう厳密なバリデーション層を用意しましょう。

【軽量地図描画】Leafletの活用が最適

商用APIの利用料を気にせず完全無料で地図を表示したい方や、スマートフォンでもサクサク動く超軽量なオープンソースの地図ライブラリを探している方には、Leafletの活用がまさに最適です。余計な機能が削ぎ落とされたシンプルな設計が世界中で愛されています。

Leafletを選ぶ最大のメリット

  • ライブラリ自体のファイルサイズが極めて小さくモバイル環境でも高速に動作する
  • OpenStreetMapなどの無料タイルサーバーと組み合わせることで完全無料で運用可能
  • 豊富なプラグインエコシステムが存在し必要な機能だけを自由に追加できる

オープンソース系の地図ライブラリの多くがGeoJSONに合わせて「経度・緯度」を採用する中で、Leafletは開発者の使い勝手を最優先し、例外的に「緯度が先、経度が後(Lat, Lon)」という直感的なAPI設計を貫いています。配列で渡す際も「L.latLng(lat, lng)」や「[lat, lng]」の順序で扱えるため、入門者にとっても非常に親しみやすい設計となっています。

導入時の注意点

外部からGeoJSON形式のデータファイルを読み込んで重ね合わせる場合、GeoJSON側は「経度・緯度」であり、Leaflet本体の座標オブジェクトは「緯度・経度」という逆転現象が内部で発生します。LeafletのGeoJSONレイヤー機能を使えば自動変換されますが、自前で配列を取り出す際には順序の混同に細心の注意を払ってください。

【ベクトル地図重視】MapboxGLJSが最適

スタイリッシュでデザイン性の高い独自の地図を作りたい方や、建物を3D表示させたり大量のマーカーを滑らかにアニメーションさせたりしたい本格派の方には、Mapbox GL JSが間違いなく最高の選択肢になります。

Mapbox GL JSを選ぶ最大のメリット

  • WebGLを活用した超高速なグラフィック描画により滑らかなズームや3D表現が可能
  • Mapbox Studioを使ってブランドカラーに合わせた美しいオリジナル地図をデザインできる
  • GeoJSONデータをそのままダイナミックに読み込ませてリアルタイム描画できる

Mapbox GL JSは、モダンな地理空間仕様であるGeoJSONの設計思想と完全に一体化しているため、APIの座標配列の指定方法も一貫して「[経度, 緯度]([lng, lat])」を採用しています。データフォーマットとライブラリ側のインターフェースで順序が揃っているため、GeoJSONデータを頻繁に扱うモダンな開発現場では非常にコードが書きやすいのが特徴です。

導入時の注意点

Google MapsやLeafletから移行してきたエンジニアが、手癖で「[lat, lng]」の順序で座標を渡してしまい、描画されないバグを踏むケースが後を絶ちません。また、無料枠を超えた場合の従量課金設定やアクセストークンの適切な管理など、運用面の初期設定をしっかり確認しておく必要があります。

latitudeやlongitudeのどっちかで悩む疑問点

実際に地図データやプログラムを動かしていると、「理屈は分かったけれど、なぜか意図通りに動かない」というトラブルに直面することがあります。ここでは、実務や学習の現場で特につまずきやすい落とし穴や、知っておくとデバッグが劇的に楽になる豆知識をピックアップして詳しく解説しますね。

GeoJSONにおけるポリゴンの頂点順ルール

GeoJSONを使って地図上に特定のエリア(多角形:Polygon)を塗りつぶそうとしたとき、なぜか世界中全体が塗りつぶされてしまったり、図形が正常にレンダリングされなかったりすることがあります。これは座標の順序だけでなく、頂点を並べる「回転方向(Winding Order)」のルールに違反していることが原因です。

GeoJSONの厳密な仕様書(RFC 7946)では、多角形の外側の輪郭を描く際、頂点の配列を必ず「反時計回り(Counterclockwise)」に並べなければならないと定められています。右手を手前にして親指を立てたとき、残りの指が巻く方向を「エリアの内側」としてコンピューターが認識する仕組みになっているためですね。もしこれを時計回りで書いてしまうと、システムは「その図形以外の地球全体を塗りつぶす」という命令だと解釈してしまう危険があります。

さらに、ドーナツのようにエリアの内側に中空の「穴」を開けたい場合、内側の境界線は外側とは逆に「時計回り(Clockwise)」で記述しなければなりません。手動で座標配列を組み立てる際は、順序だけでなく頂点をプロットしていく回転方向にも十分な配慮が必要です。

変換に役立つTurfjsなどのライブラリ

「緯度と経度の並びが逆転したデータが混ざってしまった」「ポリゴンの頂点の回転方向が仕様に合っているか不安」といったトラブルに直面したとき、自力で泥臭い計算スクリプトを書くのは時間もかかりますしバグの温床になりますよね。そんなときにぜひ頼ってほしいのが、地理空間計算のためのオープンソースライブラリです。

フロントエンドのJavaScript環境で圧倒的な人気を誇るのがTurf.jsです。このライブラリには、ポリゴンの頂点順を自動的に仕様準拠の反時計回りに修正してくれる「rewind」関数をはじめ、座標系の反転や距離の測定、図形の結合といった便利な関数が網羅されています。一行のコードを呼び出すだけで、複雑な幾何学の整合性を綺麗に整えてくれますよ。

また、バックエンドでPostGISを使用している場合であれば、「ST_ForcePolygonCCW」といった標準のSQL関数を活用することで、データベースからデータを取り出すタイミングで自動的に正しい回転方向に成形することが可能です。便利な既存ライブラリを賢く組み合わせることで、座標にまつわるデバッグ時間を大幅に短縮できますね。

座標値の範囲チェックによるデータ検証方法

オフィスで位置情報データの確認やエラーチェックを行う
オフィスで位置情報データの確認やエラーチェックを行う

システムに位置情報を取り込む際、データが壊れていないかを防ぐもっとも強力でシンプルな防壁が「数値範囲のバリデーション(検証)」を挟むことです。どれだけ注意深く開発していても、外部から送られてくるCSVやAPIのリクエストでは、緯度と経度が逆転して送信されてくる事故が日常茶飯事のように起こるからです。

この事故を水際で食い止めるために、プログラムの入り口で以下の数学的な境界線チェックを必ず実行するように仕組み化しておきましょう。

必須となる座標範囲の検証ルール

  • 緯度(latitude)の値が「-90 以上 かつ +90 以下」の範囲に収まっていること
  • 経度(longitude)の値が「-180 以上 かつ +180 以下」の範囲に収まっていること

もし経度の値(例えば日本の139.69など)が誤って緯度フィールドに入ってきた場合、システムは「緯度が90を超えている」という異常を即座に検知してエラーを弾くことができます。この簡単なガード処理を1行入れておくだけで、データベースに不正な座標が保存されて地図が壊れてしまう大事故を未然に防ぐことができますよ。安全なデータ管理のためには欠かせないお約束です。

座標原点に存在する架空の島ヌルアイランド

地図アプリケーションの開発者や地理データの専門家の間で、ちょっとした有名なジョークとして親しまれているのがNull Island(ヌル島)という架空の島の存在です。緯度ゼロ度、経度ゼロ度という、地球の座標原点(0°N, 0°E)にあたる大西洋上のギニア湾沖合のポイントを指す言葉です。

もちろん実際の海の上には陸地など何もなく、海洋気象観測用のブイが1つ浮いているだけなのですが、プログラムの世界では極めて頻繁に登場します。システムで位置情報の取得に失敗したり、データベースのカラムが空(Null)や未定義(Undefined)のまま初期値として「0」が代入されてしまったりした座標データが、すべてこのギニア湾沖合の一点に集まってきてしまうためです。

自社のWebマップを開いたときに、なぜかアフリカ大陸の沖合の海上にピンが大量に刺さっていたら、それは「座標の取得に失敗して0, 0で保存されてしまったデータ」の仕業です。ヌル島の存在を知っておくと、バグの根本原因がデータ取得時の初期化エラーにあることを一瞬で突き止めることができますよ。

latitudeとlongitudeのどっちも迷わない総括

ここまで、latitudeとlongitudeの見分け方から始まり、表記順序の歴史的背景、そして現場で役立つツールやデバッグの知見まで幅広くチェックしてきました。最後に、もう二度と迷わないための重要ポイントをギュッと凝縮しておさらいしておきましょう。

英語の単語で迷ったときは、「短いほうの『いど』が文字数の短いlatitude」「長いほうの『けーど』がlongを含むlongitude」という文字数のリンクを思い出すのが一番確実です。口の形(横に広がるラティ、縦に開くロン)や、英語の語呂合わせ「Lat is flat」を頭の片隅に置いておくのも心強い味方になってくれますね。

そしてシステムで扱うときは、「人間向けのISO規格や日常会話は緯度・経度(Lat, Lon)」であり、「数学やGeoJSON、空間データベースの世界はX, Yの順に従って経度・緯度(Lon, Lat)」という設計思想の分岐を意識することがトラブル回避の鍵となります。どちらが正しいかではなく、目の前のシステムがどちらの哲学で作られているかを見極めることが大切です。

なお、本記事でご紹介した各種ライブラリの仕様やAPIの料金体系、各種フォーマットの規約などは、バージョンのアップデートによって変更される可能性があります。商用システムへの導入や重要なデータ基盤の構築にあたっては、必ず各ツールの最新の公式サイトや公式ドキュメントをご確認いただき、最終的な判断を行ってくださいね。それぞれの特徴を正しく理解して、ストレスのない快適な地理情報ライフを楽しんでいきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次