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のフラグみたいなものは無いらしい