イメージ・エクステンダーには、表列内のカタログ・イメージの得点を取り出すために、SQL ステートメントで使用できる 4 つの UDF があります。
得点は倍精度の浮動小数点数で、値は 0.0 から無限大までです。 得点が低ければ低いほど、その画像のフィーチャー値は、照会に指定したフィーチャー値に類似しています。 値 0.0 は、その画像が厳密に一致していることを意味します。
以下の UDF があります。
推奨事項: 単一のカタログ・イメージの得点を入手するには、QbScoreFromStr UDF を使用します。 表列内の複数のカタログ・イメージの得点を入手するには、QbScoreTBFromStr UDF を使用します。
表列内の単一のカタログ・イメージの得点を入手するには、QbScoreFromStr UDF を使用します。 QbScoreFromStr UDF への入力としては照会ストリングを指定します。 QbScoreFromName UDF を使用する場合には、QbScoreFromName UDF への入力として照会オブジェクトの名前を指定します。 いずれの UDF を使用する場合でも、ターゲット・イメージを含んでいる表列の名前を指定します。
次の照会では、QbScoreFromStr UDF を使用して、表列のカタログ・イメージで、平均色が赤に最も近いものを見つけます。
SELECT name, description decimal (QbScoreFromStr(swatch_img, 'QbColorFeatureClass color=<255, 0, 0>'), /* query string * 10, 5) AS score FROM fabric /* table column */ ORDER BY score
表列内の複数のカタログ・イメージの得点を入手するには、QbScoreTBFromStr UDF を使用します。名前付きの照会の場合には、QbScoreTBFromName UDF を使用することができます。 2 つの UDF は、画像ハンドルと得点からなる 2 列の表を戻します。 表内の行は得点の昇順になります。 結果の表のハンドル列の名前は IMAGE_ID であり、得点列の名前は SCORE です。
QBScoreTBFromStr UDF に対する入力として、照会ストリングを指定します。 QbScoreTBFromName UDF への入力としては照会オブジェクトの名前を指定します。 いずれの UDF を使用する場合でも、ターゲット・イメージを含んでいる表と列の名前を指定します。 結果の表に戻す行の最大数も指定することができます。 結果の最大数を指定しない場合、UDF はターゲット表列内のカタログ・イメージごとに 1 行を戻します。
次の照会では、QbScoreTBFromStr UDF を使用して、表列のカタログ・イメージで、テクスチャーがサーバー・ファイルの画像のテクスチャーに最も近いものを 10 個見つけます。
SELECT name, description FROM fabric WHERE CAST (swatch_img as varchar(250))IN SELECT CAST (image_id as varchar(25)) FROM TABLE (QbScoreTBFromStr (QbTextureFeatureClass file=<server,"patterns/ptrn07.gif">' /*query string */ 'fabric', /* table */ 'swatch_img', /* table column */ 10)) /* maximum number of results */ AS T1));