MIDとMIFの中身

必要に迫られて、MIDとMIFを書き出すプログラムを書いた。
本来ならMapInfo社のwebサイトとかにある(であろう)ドキュメントなどを読んで調べるべきとは思うけど、どうせ英語だろうし、探すのも面倒なので、適当に作ったMID・MIFファイルをエディタで開いて調べてみた。
以下にメモしておきます(間違いがあったらご指摘下さい)。



MIFには座標系情報とフィールド定義と図形情報
MIDには属性データ


が格納されているらしい。

MIF

1行目 TABのバージョン情報  Version 300
2行目 文字コードセット  Charset "WindowsJapanese"
3行目 デリミタ(MIDの?)情報  Delimiter ","
4行目 座標系情報  CoordSys Earth Projection 8, 33, "m", 137.166666, 36, 0.9999, 0, 0 Bounds (-8248319.03923, -13986109.649) (8248319.03923, 6015821.41676)
5行目 フィールド数  Columns 3

<以下、フィールド数が3つだった場合>
ここでは ID:整数 面積:浮動小数 記載:文字列(60) のフィールドを作った。

6行目 フィールド1つ目   ID Integer
7行目 フィールド2つ目   面積 Float
8行目 フィールド3つ目   記載 Char(60)

9行目 文字列 "Data"

↑たぶんここまでがヘッダ

10行目はブランクで11行目から図形の情報が記述されている。

以下、図形情報の羅列
図形情報の例を示す。

四角形
Rect -9929.54 -3982474.88 -186.84 -3974680.75 ←Rectは四角形を現す、後ろの4つは座標
Pen (1,2,0) ←線種
Brush (1,0,16777215) ←塗りつぶし

ライン
Line -12011.54 -3990963.04 13159.3 -3990616.03 ←Lineはラインをあらわす
Pen (1,2,0) ←線種

ポリライン
Pline 4 ←Plineはポリライン 4はノード数

  • 10783.7 -3983756.12 ←ノードの座標
  • 1975.22 -3983916.28

934.24 -3982635.03
12919.08 -3982715.12
Pen (1,2,0) ←線種

ポイント
Point 5311.79 -3978791.34 ←Pointはポイント 後ろが座標
Symbol (35,0,12) ←シンボルコード

多角形ポリゴン
Region 1 ←Regionが多角形ポリゴン、1はよくわからないがマルチポリゴンだと2以上か?
8 ←ノードの数

  • 3911.17 -3993552.2 ←ノード座標
  • 3948.97 -3997331.11
  • 207.84 -3994610.29

3344.33 -3998238.05
7274.39 -3995592.8
4931.49 -3991965.05

  • 2853.08 -3991965.05
  • 3911.17 -3993552.2

Pen (1,2,0) ←線種
Brush (1,0,16777215) ←塗りつぶし


EOFのフラグみたいなものは無いらしい

MID
カンマ区切りで属性データが並ぶ
順番はMIFの図形情報と同じ順番に並べる
文字列は"で括る。


EOFのフラグみたいなものは無いらしい