3.1.2.7 jdbc_image_query要素
イメージ・テーマ(「イメージ・テーマ」を参照)の定義に使用されるjdbc_image_query要素には、次の定義が含まれます:
<!ELEMENT jdbc_image_query (#PCDATA) >
<!ATTLIST jdbc_image_query
asis (TRUE|FALSE) "FALSE"
image_format CDATA #REQUIRED
image_column CDATA #REQUIRED
image_mbr_column CDATA #REQUIRED
image_resolution CDATA #IMPLIED
image_unit CDATA #IMPLIED
datasource CDATA #IMPLIED
jdbc_host CDATA #IMPLIED
jdbc_port CDATA #IMPLIED
jdbc_sid CDATA #IMPLIED
jdbc_user CDATA #IMPLIED
jdbc_password CDATA #IMPLIED
jdbc_srid CDATA #IMPLIED
jdbc_mode (thin|oci8) "thin"
>
テーマを動的に定義するには、<jdbc_image_query>要素の内容として有効なSQL問合せを指定する必要があります。イメージ・テーマのJDBC接続情報(datasource、またはjdbc_host、jdbc_port、jdbc_sid、jdbc_userおよびjdbc_passwordの組合せのいずれか)を指定する必要があります。
jdbc_sridは、レンダリングするデータの座標系(SDO_SRID値)を指定するオプション属性です。
jdbc_modeは、データベースへの接続に使用するOracle JDBCドライバ(thinまたはoci8)を識別します。
asisはオプション属性です。この属性をTRUEに設定すると、MapViewerでは指定された問合せ文字列が変更されません。asisがFALSE (デフォルト)の場合、MapViewerによってSQL問合せが空間フィルタ問合せの副問合せとして埋め込まれます。たとえば、中心が(-122, 37)でサイズが1のマップを表示する場合、指定する問合せは次のようになります: SELECT geometry, sales FROM crm_sales WHERE sales < 100000;
asisがFALSEの場合、MapViewerにより実行される実際の問合せは次のようになります:
SELECT * FROM
(SELECT geometry, sales FROM crm_sales WHERE sales < 100000)
WHERE sdo_filter(geometry, sdo_geometry(. . . -122.5, 36.5, -123.5, 37.5 . . .) ='TRUE';
つまり、現在のマップ・ウィンドウの空間フィルタ問合せによって、元の問合せがさらに詳細化されます。ただし、asisがTRUEの場合は、次のようにMapViewerによって指定どおりに問合せが実行されます: SELECT geometry, sales FROM crm_sales WHERE sales < 100000;
image_formatは、画像データの形式(GIFまたはJPEGなど)を識別します。この画像形式がMapViewerでサポートされていない場合、その形式のカスタム・イメージ・レンダラを作成し、登録する必要があります(「カスタム空間データ・プロバイダの作成および登録」を参照)。
image_columnは、各画像の格納場所であるBLOB型の列を識別します。
image_mbr_columnは、各画像のフットプリント(最小外接矩形(MBR))の格納場所であるSDO_GEOMETRY型の列を識別します。
image_resolutionは、元の画像解像度(ピクセル当たりのimage_unit単位の数)を指定するオプション属性です。
image_unitはオプション属性です。ただし、image_resolution属性を指定した場合は必須です。image_unit属性は、メートルに対するMのように、解像度の単位を指定します。この属性の値は、MDSYS.SDO_DIST_UNITS表のSDO_UNIT列に含まれている値のいずれかである必要があります。2.3.3.1項の例2-13では、画像の解像度はピクセル当たり2 mです。
イメージ・テーマを指定する<jdbc_image_query>要素の使用例は、例3-6を参照してください。
親トピック: マップ・リクエストDTD