完全理解!MGRS (Military Grid Reference System)

      2017/12/14

先週末地上波初放送されたシン・ゴジラを見て、防衛省のシーンで写っていた地形図の MGRS コードがどの場所を示しているのか気になったことから MGRS の仕組みについて調べ、やっとコード体系を理解することができました。

MGRS とは

MGRS とは Military Grid Reference System の略です。以前の記事にも書きましたが、UTM座標系をベースとした地理識別子による空間参照(間接参照系)で、全世界を 7桁なら 10km四方、15桁なら 1m四方の精度で場所を特定できるものです。

MGRS の仕様(ArcGIS for Desktop ヘルプより引用)

MGRS のコードは 5つのブロックに分かれています。

ZZBGGEEEEENNNNN

 

ZZ : UTMゾーン
B : 緯度バンド
GG : 100,000 メートル格子ID
EEEEE : X座標(東距)(1桁~5桁)
NNNNN : Y座標(北距)(1桁~5桁)

 

ZZB はグリッドゾーン指定 (Grid Zone Designator:GZD) とも呼ばれます。

それぞれの読み方を詳しく見ていきます。

UTMゾーンと緯度バンド(グリッドゾーン指定)

UTMゾーンは、経度を 6度ごとに区切ったもので、西経180度から東回りにゾーン1~ゾーン60の帯があります。

緯度バンドは、南緯80度から北に向かって 8度ごとに区切ったもので、アルファベット C からはじまり、I と O を除いて X まであります。X のみ 12度の間隔があります。北欧は島嶼部の関係で変則的です。南緯80度から北緯84度までに限定される理由は UTM座標系の適法範囲だからです。UTM座標系ができた当初は北緯80度までとされてきましたが、人が住んでいるからか、今は北緯84度までに適用されます。

UTM Grid

以下のサイトに見やすい図を PDF として公開しています。

DMAP: UTM Grid Zones of the World

日本付近は、概ねゾーン 51~56、緯度バンド R、S、T となります。このUTM ゾーンと 8度ごとの緯度バンドの組み合わせをグリッドゾーン指定 (Grid Zone Designator:GZD) といいます。

なお、極地方ではユニバーサル極心平射図法 (Universal Polar Stereographic Projection) という投影法を用いて大縮尺地図が表せます。MGRS で UPS の範囲も示すことができますが、その説明は省略します。

100,000 メートル格子ID

100,000 メートル格子ID は以下の規則に基づいて決められます。

各格子は 100,000m (100km) 四方をアルファベット 2文字で示します。アルファベットの I と O は数字の 1 と 0 と混同するため使用しません。緯度バンドも同じ理由です。アルファベットの 1文字目は経度方向を示し、各 UTM ゾーン の中央子午線を中心として東西 100km の格子を 4つ、つまり 1つのゾーンに 8つの格子が配置されます。8つの格子は UTMゾーン1 から東回りに A~H、J~R、S~Zの計24文字(前述したように I と O は使用しない)が使用されます。ゾーン4 からは再度 A~H・・・と繰り返し使用されます。

アルファベットの 2文字目は緯度方向を示し、赤道から 100km ごとに区切られ、北半球では UTM ゾーン番号が奇数の場合は A~V、V の次は A と繰り返し、偶数の場合は F~E(V の次は Aとなり)、E の次は F と繰り返されます。南半球の場合は北距が設定されているので、赤道の直南では V となり、南に向かって U, T, S とアルファベットの逆順となります。同じゾーン内に複数同じ ID が存在しますが、グリッドゾーン指定で示された範囲があるため 100km 四方内で他の ID と重複することはありません。

以上の規則を元に早見表を作成しました。

MGRS 100km ID早見表

 

なお、経度 1度の長さは高緯度になるほど短くなるため、100,000メートル格子は隣接する UTM ゾーンと重複したり、アルファベットが東西に連続しない場合があります。同様に緯度バンドは南緯 80度から北に向かって 8度(X のみ 12度)の間隔(角度)で区切られるため、距離に基づいて区切る格子 ID のアルファベット 2文字目も A や F で始まらない場合があります。

ゾーン54NとUTMグリッド

なお、MGRS から UTM座標系の座標値に換算する場合は、1つのゾーン内に同じ格子ID が存在するため、グリッドゾーン指定の緯度バンドが原点からどの程度の距離が離れているのか知る必要があります。これも早見表を参考にするとおおまかに分かります。WGS84 において、中央子午線上で赤道から緯度バンドの南端までの距離を示した表も付けておきました。UTM座標系の座標値を MGRS に換算する際に利用してください。

X座標・Y座標

X座標・Y座標は 100,000メートル格子が示す範囲の南西端を原点とした整数座標値で示されます。最大 10桁を使用します。桁数を少なくすることで広い特定をすることもできます。

  • 10桁の場合(XXXXXYYYYY):1メートル四方
  •  8桁の場合(XXXXYYYY):10メートル四方
  •  6桁の場合(XXXYYY):100メートル四方
  •  4桁の場合(XXYY):1,000メートル四方
  •  2桁の場合(XY):10,000メートル

100,000メートル格子ID は UTM座標系の座標値 6~8桁目を示しますが、1~5桁目は UTM座標系の座標値そのものなので互換性があります。

UTM座標系の座標値は、赤道と各ゾーンの中央子午線が交わる点が原点となりますが、座標値がマイナスとならないようにするため、東距・北距という原点シフトが設定されています。北半球を示す UTM座標系の原点は(X:500,000m, Y:0m)で、南半球を示す UTM座標系の原点は(X:500,000m、Y:10,000,000)となります。

地形図上での表記

実際に陸上自衛隊で使用される地形図(陸上自衛隊は地理情報隊という独自に地図調製する部隊を持っています)では、MGRS の XY座標を X軸 Y軸それぞれ2桁、合計4桁で表して 1km四方が特定できるようになっています。1:50,000 の地形図であれば、格子の間隔は 2cm となり、1cm が 500m として距離が計測できるのです。

映画「シン・ゴジラ」に出てくる地形図

上のシーンでいうと、「5048」は「54SUE5048」となります。ArcGIS Online のマップ ビューアーを表示して住所検索に左記のコードを入力するとこのような結果になります。

 

 

 

100km の範囲を超えるような地上戦闘はまずないし、地形図の図郭も限られているので 5桁の座標値が分かれば十分です。早く判読するため座標 4, 5桁目の 1~99km を示す 2文字が印刷されており、1km 未満は定規で測って推定します。5桁以下の数値は MGRS も UTM表記も同じ値となるので、これが後述の UTM表記・UTMグリッドと混同する要因かと考えます。

UTM表記

「54S 350000 3948000」のように、UTM のグリッドゾーン指定と UTM座標系における投影座標系の座標値を示す方法もあります。数値の軸が分からないので「54S 350000E 3948000N」と書かれる場合や、X軸とY軸で桁数が違うため「54S 0350000 3948000」0で桁埋めされる場合もあります。この表記を何というかはっきりした言葉は見つけられていませんが、ArcGIS のヘルプを読む限りでは「UTM表記 (UTM notation)」と言うようです。

座標は XY などの軸を持った「数値」のみで表す必要があります。「UTM表記」は UTM座標系の座標値が基にはなっていますが、アルファベットも含む文字の連結ですし、UTM 座標系の座標値は日本付近のように X座標と Y座標の桁が異なるので分かち書きしないと正確には読めません。そのため、私は UTM表記を「地理識別子」と理解しています。

UTM表記ではゾーンの原点からの距離を整数で示しますので、MGRS の 100,000 メートル格子ID の部分も数値で示します。数値はゾーンの原点からの座標値を整数で記述するので、北緯か南緯かが分かれば緯度バンドはなくても位置が特定できます。緯度バンドには「N」と「S」という文字があるところも間際らしいです。

UTM表記で示された値

例題

たとえば(グリッドゾーン指定が 54S と仮定して)地図上に「5048」と書かれていたら、UTM表記は「54S 35000 3948000」となります。これを MGRS に換算するには次のように考えます。ゾーン54 の原点は北緯0度、東経141度で東距が 500,000m と決められているので、原点から西に 150,000m、北に 3,948,000m の場所となります。MGRS では座標値の 6桁目以上を 100,000 メートル格子ID で示しますので、ゾーン54 は早見表のグループ6 となり、(300,000 3,900,000)は「UE」となります。

逆に MGRS で「54SUE5048(54SUE5000048000 の省略形)」と示された場合は「UE」範囲の原点(南西端)が X:300,000m、Y:3,900,000m ということになり UTM表記は「54S 350000 3948000」となります。100km 未満の値(整数の 5桁目まで)は MGRS も UTM表記 も同じ値になっていることが分かります。

開発者向け

ArcGIS Online のマップ ビューアーにある住所検索用ボックスでは、ロケーター サービスの力を借りて MGRS から緯度経度を求めてジャンプすることができます。逆に緯度経度から MGRS のコードを求めることは、現時点では実現できていません(住所を求めることはできます)。しかし、ArcGIS REST API を使えば MGRS の正引き・逆引きが可能です。

http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer

FromGeoCoordinateString

ToGeoCoordinateString

まとめ

MGRS の読み方について解説してきました。

  • 表記内にアルファベットが 3文字含まれていたら MGRS
  • MGRS の XY座標の下5桁は UTM表記と同じ

UTMゾーンと緯度バンド (GZD) は緯度経度という「角度」に基づいて範囲を決めますが、100,000 メートル格子ID と XY座標は UTM座標系の原点からの「距離」に基づいて決められているので、両者の組み合わせで場所を特定するというところがややこしいのです。

MGRS や UTM表記と度分秒・十進経緯度とで相互変換できれば完全理解となるのでしょうが、それはソフトウェアの機能に任せることとしてここでの説明は省略します。興味がある方は政春尋志氏の書籍をご一読ください。

MGRS の理解がいまいちだったところが今回やっと完全制覇できました。

(自分への)課題

国内で使われている「UTMグリッド」と区別するためにあえて英語で書きますが、「The UTM Grid」が何を指すのかまだきちんと理解できないところが課題です。以前「UTMグリッド」と「MGRS」が日本では混同されており、地理院地図のような国内で使われている用語として「UTMグリッド」と書かれた場合、それは「MGRS」と理解すれば良いと書きました。その理解は誤りではないと考えていますが、海外のサイトなどで説明されている「The UTM Grid」は「MGRS」とは異なる説明がなされています。以下の動画では UTM座標系で投影した地図にユークリッド座標の格子線を入れたものも「The UTM Grid」と説明されていますし、前述のグリッドゾーン指定を示した地図も「UTM Grid」と書かれています(The はないけど)。

ArcMap のデータ フレーム プロパティで格子線を作成し「MGRS」スタイルを適用した場合、小縮尺なら 100,000 メートル格子ID が表示されるのですが、1:100,000 など注縮尺以上にすると、四隅には UTM座標系の座標値しか表示されません。ということで、今時点では UTM座標系の地図上に距離に基づく格子線を入れたものが「The UTM Grid」と理解しています。もう少し情報が入手できたら追記します。

繰り返しますが、コード値に「グリッドゾーン指定」のアルファベット 2文字が登場した場合は「MGRS」であり、「UTMグリッド」というのは間違いだと思います。

MGRS は災害対応はじめ国内での利用は広がると思われますのでまとめました。

2017年12月8日追記

昨日の GeoDev Meetup #12 で発表した内容を追加しました。

  • ArcGIS Online の検索デモ ムービー
  • ArcGIS REST API の操作デモ  ムービー
  • LT のスライド

 - GIS, 基礎知識