このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html をご覧ください。
ESRI シェープ・ファイル
Shapefile 形式のデータ・ソースを作成する場合、シェープ・ファイルはタイリング機能付き、または機能なしで読み込むことができます。タイリングを使用するとき、データは背景スレッドで読み込まれます。
ESRI シェープ・ファイルのデモ用の完全なソース・コードは
<installdir>
/jviews-maps89/shape/mapbuilder/index.html にあります。
タイリングを使用したシェープ・ファイルの読み込み
タイリングを使用してシェープ・ファイルを読み込むには、以下のコードを使用します。
IlvTiledShapeDataSource tiledSource = new IlvTiledShapeDataSource(shpFileName,true);
シェープ・ファイルにタイリング・インデックス・ファイルがない場合、インデックス・ファイルを次のようにして作成できます。
IlvShapeFileTiler tiler = new IlvShapeFileTiler(shpFileName, shxFileName, indexFileName, tileWidth, tileHeight); while(tiler.getNextFeature() != null) { tiler.addInfo(); } tiler.close();
リーダーで使用される作成されたインデックス・ファイルは、次の動作への呼び出しを行うよう設定することができます。
tiledSource.setIdxFilename(idxFileName);
タイリングを使用しないシェープ・ファイルの読み込み
タイリングを使用しないでシェープ・ファイルを読み込むには、以下のコードを使用します。
IlvShapeDataSource shpDataSource = new IlvShapeDataSource(shpFileName, true);
MID/MIF
MID/MIF ファイル データ・ソースを作成するには、以下のコードを使用します。
IlvMapDataSource source = new IlvMIDMIFDataSource(fileName); source.setManager(getView().getManager());
TIGER/Line
TIGER/Line データ・ソースを作成するには、以下のコードを使用します。
IlvTigerDataSource source = new IlvTigerDataSource(fileName); source.setManager(getView().getManager());
TIGER/Line®
データには、多くの異なる機能が含まれています。希望する機能の CFCC コードを選択して、地図に機能をインポートします。
source.setCFCCCodeList(CFCCCodes);
DXF (AutoCAD)
Drawing Interchange Format (DXF 形式) は、AutoCAD 用情報交換形式です。この形式では、ベクトル・グラフィック (多角形、円弧、線、点など) およびレイヤーをサポートします。
DXT 形式のさまざまなリリースの仕様は、次の URL で参照することができます。
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=5129239
。DXF データ・ソースの制限に関する詳細は、『JViews Framework 基礎編』のマネージャーのセクションにある「Drawing Interchange Format (DXF) 」を参照してください。
DXF データ・ソースを作成するには、以下のコードを使用します。
IlvDXFDataSource source = new IlvDXFDataSource("C:/maps/DXF/maps.dxf"); source.setManager(getView().getManager());
その後、DXF を読み込むのに使用する変換をセットアップします。
提供された緯度・経度範囲に DXF 範囲を変換する場合は、次の呼び出しを行います。
source.setDestinationBounds(lonMinRad,latMinRad,lonMaxRad,latMaxRad);
より複雑な変換を使用したい場合 (再投影など) は、次の呼び出しを行います。
IlvMathTransform mathTransform =…/create mathematical transformation source.setInternalTransformation(mathTransform);
複雑な変形を作成する例が、
DXFControlModel
クラスを使用した Map Builder のデモにあります。KML または KMZ
KML/ KMZ は、ベクトルおよびラスター情報を含む XML ベースの数値地図形式です。KML は、Google Earth© 製品で使用するために、Google™
によって公開されています。
詳細情報は、
http://earth.google.com/kml/kml_intro.html
をご覧ください。JViews Maps は、KML 要素のサポート で示されている KML 要素のインポートをサポートしています。
KML 要素のサポート
要素 |
サポート |
---|---|
プレースマーク |
幾何学形状、位置 |
ジオメトリー |
ポイント、線、多角形 |
イメージの重なり |
地表の重なり |
スタイル |
サポートなし |
グループ化機能 |
ドキュメント、フォルダー、ジオメトリーのコレクション |
ネットワーク・リンク |
位置 |
KML ファイルは、ローカルあるいはネットワーク・リンク URL を通じて、他のファイルを参照することができます。KMZ は、単一の
doc.xml
項目、およびイメージやアイコンなどの一連の補助ファイルを含む圧縮ファイルです。KML データ・ソースを作成するには、以下のコードを使用します。
IlvKMLDataSource source = new IlvKMLDataSource("C:/maps/KML/places.kmz"); source.setManager(getView().getManager());
SVG
SVG (Scalable Vector Graphic) は XML の 2 次元のグラフィックとグラフィカル・アプリケーションを説明する言語です。SVG 形式の仕様については、http://www.w3.org/Graphics/SVG をご覧ください。
JViews Maps SVG リーダーは、Rogue Wave® JViews Framework の機能に基づいています。機能に関する説明は、『JViews Framework 高度な機能』の「Scalable Vector Graphics」のセクションを参照してください。
JViews Maps SVG リーダーは、次の SVG 要素を無視します。
- イメージ要素を通して定義されたイメージ。
- テキスト・パス要素を通して定義されたテキスト。
テキスト要素を含むその他の要素は、 IlvMapGeneralPath インスタンスに変換されます。
結果の地図のグラフィック・スタイルは、オリジナルにできるだけ忠実にレンダリングされます。しかし、作成されるスタイルはオブジェクトなどスタイリングに利用できるデータに限定されます。
SVG データ・ソースを作成するには、以下のコードを使用します。
IlvSVGDataSource source = new IlvSVGDataSource("C:/maps/SVG/maps.svg"); source.setManager(getView().getManager());
その後、SVG の読み込みに使用する変換をセットアップします。SVG 範囲を提供される緯度/経度の範囲に変換するには、次のコードを呼び出します。
source.setDestinationBounds(lonMinRad,latMinRad,lonMaxRad,latMaxRad);
最投影などさらに複雑な変換を行う場合は、次のようになります。
IlvMathTransform mathTransform = //create mathematical transformation source.setInternalTransformation(mathTransform);
ControlModel
例クラスを使用して複雑な変換を作成する例については、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html を参照してください。