DXF リーダー

DXF 形式 ファイルを読み込むのには 2 つの方法があります。
  • IlvMapDXFReader インスタンスを直接使用。この場合、DXF 機能をグラフィック・オブジェクトにレンダリングするのに必要なコードをすべて記述し、それをマネージャーに追加しなくてはなりません。
    IlvMapDXFReader クラスは、指定した DXF ファイルまたはカタログから DXF 機能を読み込みます。また読み込み機能で反復処理を行う IlvMapFeatureIterator インターフェースが実装されます。
  • IlvDXFDataSource. これは、一時に上記操作をすべて実行する便利な方法で、地図のデータ・モデルにより統合されています。
    IlvDXFDataSource クラスは、マネージャーの DXF データを含む 1 組のレイヤーを作成する便利な方法を提供しています。DXF データ・セットは通常、地理参照されていませんが、作成する地理オブジェクトを地理参照することもできます。
このセクションで説明されているコードをすべて含む マップ・ビルダー のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。
DXF リーダー・オブジェクトを使用して、DXF 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
  1. IlvMapDXFReader インスタンスを DXF ファイルのパスから作成します。
    String DXFpath = " C:/maps/DXF/map.dxf";
    IlvMapDXFReader reader = new IlvMapDXFReader(DXFpath);
    
  2. DXF をレンダリングするのに使用する変換を設定します。例:
    reader.setDestinationBounds(new Rectangle2D.Double
       (lonMinRad,latMinRad,lonMaxRad,latMaxRad));
    
  3. デフォルト DXF レンダラーを取得します。
    IlvFeatureRenderer renderer = reader. getDefaultFeatureRenderer ();
    
  4. 機能を反復し、レンダリングし、マネージャーに割り当てます。
    IlvMapFeature feature = reader.getNextFeature();
    while(feature != null) {
      // Render map feature into graphic object
      IlvGraphic graphic = renderer.makeGraphic(feature,null);
      // Add this object on the first layer of the manager
      manager.addObject(graphic, 0, false);
      feature = reader.getNextFeature();
    }
    
DXF データ・ソースを使用して、DXF 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
  1. IlvDXFDataSource を作成します。
    String DXFpath = " C:/maps/DXF_0606_ed8/DXFT";
    IlvDXFDataSource source = new IlvDXFDataSource(DXFpath); 
    
  2. このデータ・ソースをビューのマネージャーに接続します。
    source.setManager(manager);
    
  3. DXF を地理参照済みオブジェクトにレンダリングするのに使用する変換を設定します。例:
    source.setDestinationBounds(lonMinRad,latMinRad,lonMaxRad,latMaxRad);
    
    代わりに、以下を使用してカスタマイズされた変換を使用することができます。 setInternalTransformation.
  4. DXF データ・ソースを開始します。
    source.start();