MapInfo 交換ファイル形式を読み込むためのクラス

JViews Maps パッケージでは、MapInfo 交換ファイル (MIF) 形式のデータを読み込む際に必要なクラスがすべて提供されています。これらのクラスに加え、JViews Maps パッケージは特定の MIF オブジェクトをレンダリングする際に必要な IlvGraphic クラスも提供しています。
MapInfo 交換ファイルの読み込みに使用するクラスは以下のとおりです。

IlvMIDMIFReader クラス

このクラスでは、MIF ファイル名と MID ファイル名を指定して両方のファイルを読み込みます。MID ファイル名を null に設定すると、属性は読み込まれません。MID ファイル名が有効な MID ファイルに一致する場合、属性はそのファイルから読み込まれ、リーダーから返された IlvMapFeature に付加されます。
IlvMIDMIFReader reader = new IlvMIDMIFReader("example.mif", "example.mid");
IlvMapFeature feature = reader.getNextFeature(); 
while(feature != null)
     feature = reader.getNextFeature();

IlvMIFReader クラス

このクラスは、コンストラクターに MIF ファイル名またはリーダーを提供する MIF ファイルを 1 つ読み込みます。次に反復処理でファイルの IlvMapFeatures を取得できますが、読み込み中の MIF ファイルに関する次のような情報を取得することもできます。
  • このファイルに含まれるジオメトリーをレンダリングするデフォルトの機能レンダラー。
  • このファイルで使用する文字エンコード
  • ファイルのジオメトリーを表す座標系
MIF ファイルに何も指定されておらず、MapInfo 仕様でジオメトリーが地理座標系にあると見なされる場合でも、リーダーが返す座標系は null になります。
IlvMIFReader reader = 
    new IlvMIFReader("example.mif");
IlvAttributeInfoProperty info = reader.getAttributeInfo();
if(info != null) {
    System.out.println("Attributes info : ");
    for(int i = 0; i < info.getAttributesCount(); i++) {
        System.out.println("Name " + info.getAttributeName(i));
        System.out.println("Class " + info.getAttributeClass(i));
    }
}
IlvCoordinateSystem cs = reader.getCoordinateSystem();
if(cs != null) 
    System.out.println("The coordinate system is " + cs.getName());
else
    System.out.println("Assuming a geographic coordinate system");
String encoding = reader.getCharset();
System.out.println("Char set is " + encoding);

IlvMIDReader クラス

このクラスは、MID ファイルを読み込みます。MIF ファイルに提供されている MID リーダー ( IlvAttributeInfoProperty) の 2 番目の引数を作成するには、あらかじめ対応する MIF ファイルを開いておく必要があります。
IlvMIFReader reader = 
    new IlvMIFReader("example.mif");
IlvAttributeInfoProperty info = reader.getAttributeInfo();
IlvMIDReader mid = new IlvMIDReader("example.mid", info);
IlvFeatureAttributeProperty prop = mid.getNextRecord();
while(prop != null)
    prop = mid.getNextRecord();