WebGISの構築2−DMデータの仕様

今回は、DMデータの仕様を確認します。

DMデータの仕様

DMデータとは、各自治体が作成する1/2,500基本図をディジタル納品するためのフォーマットです。
図式(レイヤ)やフォーマットを含めた仕様は、公共測量作業規定(下記URL)に記載されています。

https://psgsv2.gsi.go.jp/koukyou/jyunsoku/index.html

DMデータファイルの特徴を以下に示します。

  • 1レコード84バイトの固定長テキスト
  • レコード終端は、CR+LF(0x0D+0x0Aの2バイト)
  • 日本語の文字コードはシフトJIS
  • 図郭ごとに1ファイルとして提供される(図郭サイズ:縦1.5Km、横2.0Km)
  • ファイルの拡張子は、”.dm”

ファイルの命名規則

ファイル名は、座標系番号+図郭名で表現され、以下のようになります。
 座標系番号2桁+図郭名7桁+拡張子”.dm”
以下に図郭名の付与規則を示します。

DMのファイルの図郭名付与規則

今回使用する大阪市の場合、平面直角座標6系ですので、先頭2文字は”06”となります。
座標系原点(6系は、北緯36度0分0秒、東経136度0分0秒)からの距離により5桁が求められ(上記の例では、”OC”+”59”+”2”)、ファイル名”06OC592.dm”が決まります。
地図上で原点から大阪市までの距離を確認すると南に約140Km、西に約50Kmほどですので、上記が正しいことがわかります。

6系原点から大阪市までの距離を地図上で確認

収容されるレコード

前述のように、DMファイルはテキストファイルで提供され固定長レコード形式となっています。
レコードの先頭2バイトには、”レコードタイプ”という項目があり、レコードに収容される情報を表しています。
以下に、レコードタイプの一覧(公共測量作業規定のほぼ抜粋)を示します。

レコード名レコードタイプ摘 要
(1) インデックスレコードI数値地図情報の内容を総括的に把握するするための情報を記録するレコード。計画機関名・座標系・図郭識別番号・取得分類からなる。当該作業(例:平成○年度 ○○市都市計画図作成作 業)で作成された数値地形図データファイルの管理に用いる。
(2) 図郭レコードM図郭内に含まれる数値地図情報について、その概要を記録するためのレコード。図郭名称、地図情報レベル・データ量・図郭座標・データ作成に伴う情報からなる。なお、端数の記録は図郭座 標端数と図郭座標の符号とを同一とする。(例:座標値が-1234.56の場合、図郭座標列には-1234、図郭座標の端数列には-56を記録する)
(3) レイヤヘッダレコードHグループヘッダレコードの一種で、レイヤごとのグループ化のためのレコード。 レイヤコード・レイヤ内の要素数・レイヤ内のデータ取得年月・データ作成手法からなる。またレイヤが変わるごとに 作成する。
(3) グループヘッダレコードHグループヘッダレコードの一種で、要素についてグループ化する場合に使用するヘッダレコード。レイヤヘッダレコードと同じ項目からなる。
(4) 要素レコードE要素についてグループ化のためのレコード。原則として、実データのうち座標レコード・注記レコード・属性レコードのいずれかと対(セット)となり、実データの直前に位置する。
レコードタイプは、E1:面、E2:線、E3:円、E4:円弧、E5:点、E6:方向、E7:注記、E8:属性
(5) グリッドヘッダレコードG実データであるグリットレコードに関するヘッダ情報を記録するためのレコード。グリッドレコードの直前に位置する。
(6) 不整三角網ヘッダレコードT実データである不整三角網(TIN)レコードに関するヘッダ情報を記録するためのレコード。不整三角網レコードの直前に位置する。
(7) 三次元座標レコード-地形・地物の位置及び形状を表すための実レコード。X,Y,Zの三次元座標を記録するためのレコード。
レコード(4)に続いて設定される。
(8) 二次元座標レコード-地形・地物の位置及び形状を表すための実レコード。X,Yの二次元座標を記録するためのレコード。
レコード(4)に続いて設定される。
(9) 注記レコード-地形図上の注記を表現するための実レコード。
レコード(4)に続いて設定される。
(10) 属性レコード-ユーザがデータ利用を目的として記録するための実レコード。
レコード(4)に続いて設定される。
(11) グリッドレコード-グリッドデータを記録するための実レコード。レコードは高さのデータのみからなり、高さデータは行順。同行内では列順に並べて記録する。
レコード(5)に続いて設定される。
(12) 不整三角網レコード-地形等を三角面データで記録するための実レコード。レコードはX,Y,Zの座標値の組からなる。
レコード(6)に続いて設定される。

大阪市DMファイルの取得

では、大阪市のDMデータをダウンロードします。サイズは圧縮後で90MB程度です。(解凍後は330MB程度となります)
ダウンロード先は以下(G空間情報センター)となります。

https://www.geospatial.jp/ckan/dataset/h30-dm-pdf-dxf

ダウンロードしたzipファイルを解凍すると、拡張子”.dm”のファイル109個に加え、”INDEX.dmi”、”図郭割図.PDF”の2ファイルが作成されます。

ダウンロードしたDMデータファイルの一覧

”図郭割図.PDF”の内容は、以下のように109の図郭の配置が示されています。

図郭割り図

図郭レコードを例に、”.dm”ファイルの実データを確認してみましょう。
図郭レコードの定義は以下のようになっていて、レコードタイプ”M ”のレコードの直後に図郭の座標などを持つレコード(図郭レコード(b))が続く構成となっています。

DMデータの図郭レコードの仕様(公共測量作業規定より)

ダウンロードした”06OC592.dm”をテキストエディタで開くと、以下のようになります。

DMデータ”06OC592.dm”の内容

ファイルの1行目の先頭に”M ”が確認できます。その後に図郭番号”06OC592”と続いていきます。
2行目は、仕様書の通り図郭左下の測地座標などを持つ”図郭レコード(b)”が確認できます。

その他のDMデータの仕様を以下に示します。

  • インデックスレコード(レコードタイプ”I ”)は、ファイル”INDEX.dmi”に収容される
  • ファイル”.dm”には、インデックスレコード以外のすべてのレコードが収容される
  • ファイルの最後にEOF(0x1A)が設定される

まとめ

今回は、DMデータの仕様を確認し、実際のDMデータをダウンロードして内容を確認しました。
次回は、Pythonを使ってDMデータをmbtiles形式に変換する作業を行なっていきます。

以下に大阪市DMデータを使ったデモサイトがあります。

マウス右ボタンドラッグで3D表示できます。
なお、IE(インターネットエクスプローラ)では表示できませんので、Chromeなど他のブラウザをご利用ください。