mb_language("uni"); mb_internal_encoding("utf-8"); mb_http_input("auto"); mb_http_output("utf-8"); ?>
今回は,地理情報のボキャブラリについて調べた結果をお話しします。地理情報は,行政,防災,通信,建設,交通,物流などの広範な社会活動を支えている情報基盤の一つであり,現在では,GIS(Geographic Information System:地理情報システム)という概念のもとに様々な利用が進められています。私たちがふだん利用している携帯電話や自動車におけるナビゲーションもGISとGPS(Global Positioning System:全地球測位システム)との連携で実現しています。
「GIS」をキーワードにしてWebを検索すると,国内外に実に夥しい数のサイトが見つかります。GISがそれだけ多くの様々な分野に及んでいることが分かります。しかし,私の理解が及ばない分野が多く,今回はあくまでもXMLボキャブラリからの観点でまとめてみました。誤解している点があるかもしれません。お気付きになりましたらご叱正ください。
GISにおけるデータ表現形式には,MapInfo社のMIF形式,ESRI社のE00形式などの様々な表現形式が使われています。その数は,印刷業で扱う種類をはるかに超えており,他の分野におけるデータ表現形式の場合と同様に,コンテンツの流通する際のデータ変換の負担が問題になっています。そうしたことから,XMLの登場を受けて,GISデータの流通を図るために統一的なXMLボキャブラリが開発されました。それがGML(Geography Markup Language)とG-XMLです。
GMLは,GISにおける地図そのものを記述するボキャブラリであり,Open GIS Consortium(OGC)によって開発され,ISO 19136として制定されました。一方,G-XMLは,GISデータの流通・応用のプロトコルを記述するボキャブラリであり,わが国の日本情報処理開発協会データベース振興センターによって開発され,JIS X 7199として制定されました。G-XMLの普及促進はG-XML実用化連絡会が行っています。G-XML 3.1は,GML 3.1に対する応用スキーマ(ボキャブラリと同義語)として再構築され統合化されているようですが,私にはその詳細がまだ理解できていませんので,断定できません。とりあえず,この二つの規格の違いを表1にまとめてみました。
▼表1 GMLとG-XML
規格の略称 | GML | G-XML |
---|---|---|
規格の 正式名称 |
Geography Markup Language (Geographic information - XML encoding for geospatial data exchange) ISO 19136 |
地理情報-地理空間データ交換用XML符号化法 JIS X 7199 |
開発団体 | Open GIS Consortium | 日本情報処理開発協会 |
記述の内容 | 地図そのもの | 流通・応用 |
従来のGIFやJPGの画像で表わす地図に比べて,GMLの利用には次のような利点があります。
GMLで記述された地理情報を閲覧するGMLブラウザには,各種ありますが,その中で容易に入手でき簡単に実行できるものを紹介します。Snowflake Software社のGML Viewerは,無償でダウンロードでき,スタンドアローン(オフライン)で動作でき,しかもサンプルデータが揃っています。ぜひお試しください。
さて,ここでGMLの例を示すことは容易ではありません。というのも,GMLで記述された文書インスタンスは,小さな町の地図でも数十メガバイトとなるからです。それはポストスクリプトで表わした地図のような大きさになります。そこで,きわめて小さい文書インスタンスを作り[図1],GML Viewerで表示してみました[図2]。
▼図1 GML文書インスタンスの例
<?xml version='1.0' encoding='UTF-8'?>
<FeatureCollection
xmlns='http://www.ordnancesurvey.co.uk/xml/namespaces/osgb'
xmlns:g='http://www.opengis.net/gml'>
<!-- 内水路 -->
<topographicMember>
<TopographicArea>
<theme>Water</theme>
<descriptiveGroup>Inland Water</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
215,210 215,140 300,100 310,100 220,143 220,210 210,210
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
<!-- 道路 -->
<topographicMember>
<TopographicArea>
<theme>Roads Tracks And Paths</theme>
<descriptiveGroup>Road Or Track</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
230,160 400,160 400,150 230,150 230,160
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
<!-- 道路 -->
<topographicMember>
<TopographicArea>
<theme>Roads Tracks And Paths</theme>
<descriptiveGroup>Road Or Track</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
230,100 240,100 240,210 230,210 230,100
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
<!-- 道路 -->
<topographicMember>
<TopographicArea>
<theme>Roads Tracks And Paths</theme>
<descriptiveGroup>Road Or Track</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
350,100 360,100 360,210 350,210 350,100
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
<!-- 建物の名前 -->
<cartographicMember>
<CartographicText>
<theme>Building</theme>
<descriptiveGroup>Building</descriptiveGroup>
<anchorPoint>
<g:Point><g:coordinates>350,180</g:coordinates></g:Point>
</anchorPoint>
<textRendering>
<anchorPosition>4</anchorPosition>
<height>4</height>
</textRendering>
<textString>日本印刷技術協会</textString>
</CartographicText>
</cartographicMember>
<!-- 建物 -->
<topographicMember>
<TopographicArea>
<theme>Building</theme>
<descriptiveGroup>Building</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
330,170 330,190 350,190 350,170 330,170
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
<!-- 建物の名前 -->
<cartographicMember>
<CartographicText>
<theme>Building</theme>
<descriptiveGroup>Building</descriptiveGroup>
<anchorPoint>
<g:Point><g:coordinates>220,110</g:coordinates></g:Point>
</anchorPoint>
<textRendering>
<anchorPosition>4</anchorPosition>
<height>4</height>
</textRendering>
<textString>中野富士見町駅</textString>
</CartographicText>
</cartographicMember>
<!-- 建物 -->
<topographicMember>
<TopographicArea>
<theme>Building</theme>
<descriptiveGroup>Building</descriptiveGroup>
<polygon>
<g:Polygon>
<g:outerBoundaryIs>
<g:coordinates>
230,100 220,100 220,110 230,110 230,100
</g:coordinates>
</g:outerBoundaryIs>
</g:Polygon>
</polygon>
</TopographicArea>
</topographicMember>
</FeatureCollection>
▼GML Viewerによる表示
図1と図2を見比べれば,おおよその働きをご理解いただけると思います。見ての通り,道路や建物は多角形で表わします。図1は,GML Viewerで表示するために,地図をGML 2.0(G-XMLと統合する直前のバージョン)で,道路や建物などの地物を英国陸地測量部が定めたXMLボキャブラリで表わしました。なお,地図の座標系は左下隅が原点になりますが,私の指定した座標点はまったく正確ではありません。
わが国におけるGISの取組み事例については,国土交通省国土計画局で紹介されています。例えば,静岡県防災情報支援システムのホームページでは,基本地図の上に,東海地震で想定される震度,津波の程度などを表示できます。また,岐阜県のふるさと地理情報センターのホームページでは,基本地図の上に指定した各種施設の場所を表示でき,さらに衛星写真も合成表示できます。それらのシステムではG-XMLを利用していると紹介されていますが,関連ページの更新が滞っているために,最近の実態については把握できませんでした。
インターネットの活用によってGISデータの流通はますます広がっていきますので,印刷業においても,印刷物やWebにおけるGISデータの活用を研究する必要があるでしょう。今後,この分野についてさらに調べていきたいと思います。
▲このページのTOPへ