汎用 JDBC X/Y データベース テーブル
例
名前付きテーブル リソースは、JDBC データソース内の汎用 XY テーブルを指すことができます。これは、X/Y ジオメトリ列があるデータベース テーブルの名前付きテーブル定義の例です。この例では、DBDataSourceMetadata 要素を使用して、データベース テーブル内に定義されている X および Y ジオメトリ列を指定します。X/Y データベース テーブルにはジオメトリ列がないものと想定されています。
この例では、以下のトークンを使用して、Oracle 内の X/Y テーブルへのデータベース接続定義を行います。接続は、インラインの代わりに名前付き接続として定義することも可能です。
- @owner@ Oracle テーブルの所有者名
- @host@ Oracle データベースへの接続に使用するホスト名
- @port@ Oracle データベースへの接続に使用するポート番号
- @SID@ Oracle インスタンスの SID
- @username@ データベースにアクセスするためのユーザ認証情報
- @password@ データベースにアクセスするためのパスワード認証情報
ジオメトリの X 列と Y 列の名前を示す DBDataSourceMetadata 要素を定義します。
- @srsname@ テーブル内の X 列と Y 列の座標系の名前
- @x_attribute@ X 座標を含む属性の名前
- @y_attribute@ Y 座標を含む属性の名前
<?xml version="1.0" encoding="UTF-8"?>
<NamedDataSourceDefinition version="MXP_WorkSpace_1_5">
<DBConnection dbType="oracle">
<ConnectionName>/myOracleConnection</ConnectionName>
<JDBCDriverParameters>
<JDBCUrl>jdbc:oracle:thin:scott/tiger@localhost:1521:MyDB</JDBCUrl>
<DriverPropertySet>
<Property name="user" value="scott"></Property>
<Property name="password" value="tiger"></Property>
</DriverPropertySet>
</JDBCDriverParameters>
</DBConnection>
<DataSourceDefinitionSet>
<DBDataSourceDefinition id="ora1">
<DataSourceName>oracle1</DataSourceName>
<DBTable owner="@owner@" useQuotes="true">table1</DBTable>
<DBDataSourceMetadata>
<FeatureXYAttributes srsName="@srsname@">
<XAttribute>@x_attribute@</XAttribute>
<YAttribute>@y_attribute@</YAttribute>
</FeatureXYAttributes>
</DBDataSourceMetadata>
</DBDataSourceDefinition>
</DataSourceDefinitionSet>
<DataSourceRef ref="ora1"/>
</NamedDataSourceDefinition>
X/Y テーブルをスタイル設定する
X/Y テーブルでは、テーブル内の既存のスタイル列を指定するか、名前付きテーブルにインライン スタイルを定義することによって、X/Y テーブル フィーチャーにスタイルを追加することもできます。
X/Y テーブルに行ごとのスタイルを含む列がある場合は、FeatureStyleAttribute 要素を DBDataSourceMetadata 要素に追加することによって、この列を使用できます。X/Y テーブルの例では、FeatureStyleAttribute を DBDataSourceMetadata に追加します。@STYLE_ATTRIBUTE@ は、フィーチャの行ごとのスタイルを含む列の名前です。
<DBDataSourceMetadata>
<FeatureXYAttributes srsName="@srsName@">
<XAttribute>@X_ATTRIBUTE@</XAttribute>
<YAttribute>@Y_ATTRIBUTE@</YAttribute>
</FeatureXYAttributes>
<FeatureStyleAttribute type="mapbasic">@STYLE_ATTRIBUTE@</FeatureStyleAttribute>
</DBDataSourceMetadata>
X/Y テーブルに行ごとのスタイルを含む列がない場合は、FeatureStyle 要素を DBDataSourceMetadata 要素に追加することによって、インライン スタイル定義を使用できます。X/Y テーブルに対しては、サポートされているすべての種類の FeatureStyle を使用できます。例えば、PointStyle を X/Y フィーチャ属性に追加できます。以下のトークンを使用します。
- @font_name@ フォント シンボルのフォント ファミリ名 (MapInfo Real Estate など)
- @font_size@ フォント シンボルに使用するサイズ (14 など)
- @size_unit@ @font_size@ を定義する単位 (mapinfo:length pt など)
- @stroke@ フォント シンボルの色 (blue など)
- @opacity@ フォント シンボルの透過性 (1 など)
- @font_char@ @font_name@ の対応する文字をレンダリングするときにフォント シンボルに使用する文字 (A など)
<DBDataSourceMetadata>
<FeatureXYAttributes srsName="@srsName@">
<XAttribute>@X_ATTRIBUTE@</XAttribute>
<YAttribute>@Y_ATTRIBUTE@</YAttribute>
</FeatureXYAttributes>
<FeatureStyle>
<PointStyle>
<FontSymbol family="@font_name@" size="@font_size@" size-unit="@size_unit@" stroke="@stroke@" stroke-opacity="@opacity@" text="@font_char@"/>
</PointStyle>
</FeatureStyle>
</DBDataSourceMetadata>