Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

GML(ジーエムエル)とは | 意味や読み方など丁寧でわかりやすい用語解説

GML(ジーエムエル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ジーエムエル (ジーエムエル)

英語表記

GML (ジーエムエル)

用語解説

GMLはGeography Markup Languageの略称であり、地理空間情報を表現し、異なるシステム間で交換するために標準化されたXMLベースのマークアップ言語である。地理情報システム(GIS)の分野において、データの相互運用性を確保するための基盤技術として広く利用されている。GMLの主な目的は、特定のソフトウェアやベンダーに依存することなく、地図や位置に関するデータを共有可能にすることである。例えば、ある組織が作成した道路のデータを、別の組織が開発した地図アプリケーションで正確に表示・利用するといった場面でGMLは重要な役割を果たす。XMLを基盤としているため、人間が判読可能であると同時に、コンピュータによる機械的な処理にも適しているという特徴を持つ。データはタグによって構造化され、地理的なオブジェクトとその属性、形状が明確に記述される。この標準化された記述形式により、国や地方公共団体が公開する基盤地図情報や、災害情報、都市計画データなど、多種多様な地理空間情報がGML形式で提供され、社会の様々な場面で活用されている。

GMLの詳細な構造を理解するには、いくつかの中心的な概念を把握する必要がある。その最も基本的な要素が「地物(Feature)」である。地物とは、現実世界に存在する地理的な対象物をデータとして抽象化したもので、例えば「建物」「河川」「道路」「行政区域」などがこれにあたる。GMLでは、これらの地物を一つのかたまりとして扱う。各地物は、その性質や付加情報を表す「プロパティ(Property)」と、その形状や位置を表す「ジオメトリ(Geometry)」の二つの主要な構成要素を持つ。プロパティは、地物の属性情報を記述する部分であり、例えば建物の地物であれば「名称」「住所」「階数」といった情報がプロパティとなる。一方、ジオメトリは、その地物が地球上のどこに、どのような形で存在するのかを示す空間情報である。GMLでは、点(Point)、線(LineString)、面(Polygon)といった基本的な幾何形状が定義されており、これらを組み合わせて複雑な形状も表現できる。例えば、一本の木は点で、道路は線で、湖は面で表現される。

GMLデータにおいて、地理的な位置を正確に特定するために不可欠なのが「座標参照系(CRS: Coordinate Reference System)」の概念である。地球は三次元の球体であるが、それを地図のような二次元平面やコンピュータ上で扱うためには、位置を特定するための基準となる座標系が必要となる。緯度経度で表す地理座標系や、特定の地域を平面とみなしてメートル単位で表す平面直角座標系など、様々な座標参照系が存在する。GMLデータは、そのデータがどの座標参照系に基づいているかを明示する必要がある。通常、srsNameという属性を用いて、EPSGコードなどで定義された世界共通の識別子を指定する。これにより、異なる座標参照系で作成されたデータであっても、正しく変換して地図上で重ね合わせることが可能になる。

GMLは非常に包括的で大規模な仕様であるため、特定の用途に合わせて仕様の一部を抜き出したり、単純化したりした「プロファイル」が定義されることがある。これにより、より軽量で扱いやすいデータ形式として利用できる。また、特定の専門分野、例えば都市計画、地質調査、航海などのために、GMLの基本構造を拡張して独自のデータモデルを定義することも可能である。これは「アプリケーションスキーマ」と呼ばれる。アプリケーションスキーマを定義することで、その分野で必要とされる独自の地物の種類やプロパティ(例えば、都市計画における「用途地域」やその「建ぺい率」など)をGMLの枠組みの中で標準的に記述できるようになる。これにより、専門分野においても高いデータ互換性を実現できる。日本の基盤地図情報で使われているJPGIS(地理情報標準プロファイル)も、GMLをベースとしたアプリケーションスキーマの一例である。このように、GMLは基本的な地理空間情報を記述するだけでなく、高度な拡張性を持つことで、多様なニーズに対応できる柔軟な言語仕様となっている。システム開発においては、扱うデータがどのGMLのバージョンやアプリケーションスキーマに基づいているかを理解することが、適切なデータ処理を行う上で極めて重要である。

関連コンテンツ