Verwaltung und Programmierung


Abfragen erstellen

Wenn Sie Abbilder nach Inhalt abfragen, identifizieren Sie die Eingabe für die Abfrage und eine Zielgruppe von katalogisierten Abbildern. Bei der Eingabe für die Abfrage werden die Namen der in der Abfrage zu verwendenden Merkmale, die Merkmalwerte und die Merkmalwertigkeiten (d. h., die Gewichtung, die auf die einzelnen Merkmale gelegt wird) angegeben.

Sie haben zwei Möglichkeiten, diese Eingabe zu liefern:

Abfragezeichenfolge angeben

Sie können eine Abfragezeichenfolge verwenden, um die Merkmale, die Merkmalwerte und die Merkmalwertigkeiten für die Abfrage anzugeben. Eine Abfragezeichenfolge ist eine Zeichenfolge im Format merkmalname wert, wobei merkmalname ein QBIC-Merkmalname ist und wert ein Wert, der dem Merkmal zugeordnet ist.

Sie können mehrere Merkmale in einer Abfrage angeben. Sie können dann ein Name/Wert-Paar für jedes Merkmal angeben, wie im Abschnitt Merkmalwert beschrieben. Die einzelnen Paare werden durch die Klausel AND getrennt. Wenn Sie mehrere Merkmale in einer Abfrage angeben, können Sie einem oder mehreren Merkmalen auch eine Wertigkeit zuordnen, wie im Abschnitt Merkmalwertigkeit beschrieben. Die Abfragezeichenfolge hat dann das Format merkmalname wert wertigkeit, wobei wertigkeit die Wertigkeit angibt, die dem Merkmal zugeordnet ist.

Der Image Extender bietet eine API (QbQueryStringSearch) und zwei UDFs (QbScoreFromStr und QbScoreTBFromStr), die eine Abfragezeichenfolge verwenden. Wenn Sie eine Abfrage eingeben, verwenden Sie die entsprechende API oder UDF und geben Sie die Abfragezeichenfolge als Eingabeparameter an. (Der Abschnitt Abfragen anhand des Abbildinhalts ausführen enthält weitere Einzelheiten.)

Merkmalwert

Geben Sie für jedes Merkmal in der Abfrage einen Merkmalwert in der Abfragezeichenfolge ein.

Wenn eine Abfrage innerhalb eines DB2-Befehls übergeben wird, müssen bestimmte Dateinamenkonventionen befolgt werden, damit die Abfrage korrekt ausgeführt wird. Dateinamen, die keine Unterstreichungszeichen enthalten, können wahlweise in doppelte Anführungszeichen eingeschlossen werden. Dateinamen, die Unterstreichungszeichen enthalten, müssen in doppelte Anführungszeichen eingeschlossen werden. Unabhängig davon, ob der Dateiname Unterstreichungszeichen enthält, muß vor jedem Anführungszeichen, das einen Dateinamen einschließt, ein Escape-Zeichen (\) stehen. Wenn die Abfrage nicht innerhalb eines DB2-Befehls übergeben wird, ist es nicht erforderlich, mit den Anführungszeichen voranstehende Escape-Zeichen anzugeben. Siehe folgendes Beispiel:

db2 "select image_id from table
(mmdbsys.QbScoreTBFromStr
('QbTextureFeatureClass file=<server,\"patterns/ptrn07.gif\">',
'fabric',
'swatch_img',
10))
as T1"

In In der folgenden Tabelle werden die Werte aufgelistet, die Sie für die einzelnen Merkmale angeben können. Direkt unter jedem Merkmalnamen ist eine Kurzversion angegeben, die statt dessen verwendet werden kann.

Tabelle 8. Merkmalnamen, die in einer Abfragezeichenfolge angegeben werden können
Merkmalname Wert
QbColorFeatureClass oder AverageColor color=<Rwert, Gwert, Bwert>

Jeder Farbwert ist eine ganze Zahl zwischen 0 und 255, die den Rotwert (Rwert), Grünwert (Gwert) und Blauwert (Bwert) des Abbilds angibt.

file=<dateiadresse, dateiname>

Die (dateiadresse) ist der Standort der Server-Datei. Der dateiname ist der vollständige Dateipfad, der in dem Format angegeben werden muß, das für das System, auf dem sich die Datei befindet, gilt.

handle=<abbildkennung>

Die Kennung ist die Spalte, in der sich das Abbild befindet.

QbColorHistogramFeatureClass oder Histogram histogram=<(hist_wert, Rwert, Gwert, Bwert>), ...

Jeder Histogrammfarbwert wird in einer Klausel angegeben, die den Prozentsatz (1 bis 100) dieser Farbe im Histogramm (hist_wert) sowie den Rotwert (Rwert), Grünwert (Gwert) und Blauwert (Bwert) dieser Farbe identifiziert.

file=<dateiadresse, dateiname>

Die (dateiadresse) ist der Standort der Server-Datei. Der dateiname ist der vollständige Dateipfad, der in dem Format angegeben werden muß, das für das System, auf dem sich die Datei befindet, gilt.

handle=<abbildkennung>

Die Kennung ist die Spalte, in der sich das Abbild befindet.

QbDrawFeatureClass oder Draw file=<dateiadresse, dateiname>

handle=<abbildkennung>

Die (dateiadresse) ist der Standort der Server-Datei. Der dateiname ist der vollständige Dateipfad, der in dem Format angegeben werden muß, das für das System, auf dem sich die Datei befindet, gilt.

handle=<abbildkennung>

Die Kennung ist die Spalte, in der sich das Abbild befindet.

QbTextureFeatureClass oder Texture file=<dateiadresse, dateiname>

handle=<abbildkennung>

Die (dateiadresse) ist der Standort der Server-Datei. Der dateiname ist der vollständige Dateipfad, der in dem Format angegeben werden muß, das für das System, auf dem sich die Datei befindet, gilt.

handle=<abbildkennung>

Die Kennung ist die Spalte, in der sich das Abbild befindet.

Merkmalwertigkeit

Wenn Sie mehrere Merkmale in einer Abfragezeichenfolge angeben, können Sie für ein oder mehrere Merkmale auch eine Wertigkeit angeben. Die Wertigkeit eines Merkmals gibt die Gewichtung an, die der Image Extender auf das Merkmal legt, wenn er Ähnlichkeitsergebnisse berechnet und Ergebnisse für eine Abfrage anhand des Abbildinhalts zurückgibt. Je höher die Wertigkeit, die Sie für ein Merkmal angeben, desto größer ist die Gewichtung dieses Merkmals in der Abfrage. Die Wertigkeit ist eine reelle Zahl, die größer als 0,0 ist, beispielsweise 2,5 oder 10,0. Wenn Sie keine Wertigkeit in einer Abfragezeichenfolge angeben, verwendet der Image Extender die Standardwertigkeit für das Merkmal. Die Zuordnung einer Wertigkeit ist ohne Bedeutung, wenn das Merkmal das einzige Merkmal ist, das in einer Abfragezeichenfolge angegeben ist. (Dieses Merkmal erhält in jedem Fall die volle Wertigkeit in der Abfrage.)

Die Wertigkeit eines Merkmals steht in Relation zu anderen Merkmalen, die in der Abfrage angegeben sind. Nehmen Sie als Beispiel an, Sie geben in einer Abfragezeichenfolge die Merkmale 'Durchschnittsfarbe' und 'Textur' an und geben außerdem einen Wertigkeitswert von 2,0 für die Durchschnittsfarbe an. Dadurch wird der Image Extender angewiesen, der Durchschnittsfarbe eine doppelt so hohe Gewichtung zu geben wie der Textur.

Beispiele

Die folgende Abfragezeichenfolge gibt die Durchschnittsfarbe Rot an:

QbColorFeatureClass color=<255, 0, 0>

Die folgende Abfragezeichenfolge gibt ein Histogramm an, das aus 10 % Rot, 50 % Grün und 40 % Blau besteht:

QbcolorHistogramFeatureClass histogram=<(10, 255, 0, 0), (50, 0, 255, 0),
                                        (40, 0, 0, 255)>

Die folgende Abfragezeichenfolge gibt eine Durchschnittsfarbe und eine Textur an. Der Wert für die Textur wird durch ein Abbild in einer Server-Datei geliefert. Die Wertigkeit der Textur ist doppelt so hoch wie die der Durchschnittsfarbe:

QbColorFeatureClass color=<30, 200, 25> and 
 QbTextureFeatureClass file=<server, "\patterns\pattern7.gif"> weight=2.0

Abfrageobjekt verwenden

Sie können ein Abfrageobjekt verwenden, um die Merkmale, die Merkmalwerte und die Merkmalwertigkeiten für die Abfrage anzugeben. Sie können das Abfrageobjekt erstellen und darin Merkmale hinzufügen. Anschließend können Sie eine Datenquelle für die einzelnen Merkmale angeben. Die Datenquelle liefert einen Wert für die einzelnen Merkmale. Beispielsweise kann die Datenquelle ein Abbild in einer Datei sein. Wenn die Durchschnittsfarbe das passende Merkmal ist, wird die Durchschnittsfarbe des Abbilds dem Abfrageobjekt zugeordnet. Wenn Sie mehrere Merkmale zu einem Abfrageobjekt hinzufügen, können Sie einem oder mehreren Merkmalen eine Wertigkeit zuordnen.

Der Image Extender bietet zwei APIs (QbQuerySearch und QbQueryNameSearch) und zwei UDFs (QbScoreFromName und QbScoreTBFromName), die ein Abfrageobjekt verwenden. Wenn Sie eine Abfrage eingeben, verwenden Sie die entsprechende API oder UDF und geben Sie das Abfrageobjekt als Eingabeparameter an. (Der Abschnitt Abfragen anhand des Abbildinhalts ausführen enthält weitere Einzelheiten.)

Abfrageobjekt erstellen

Verwenden Sie die API QbQueryCreate, um ein Abfrageobjekt zu erstellen.

Daraufhin gibt der Image Extender eine Kennung für das Abfrageobjekt zurück. Die Kennung hat den QBIC-spezifischen Datentyp QbQueryHandle, der in der Kopfdatei für QBIC, dmbqbapi.h, definiert ist.

Wenn Sie die API verwenden, müssen Sie auf die Kennung für das Abfrageobjekt zeigen. Sie müssen außerdem die Kennung in APIs angeben, die andere Operationen im Abfrageobjekt ausführen, wie z. B. Hinzufügen eines Merkmals.

Beispielsweise erstellt der folgende API-Aufruf ein Abfrageobjekt:

QbQueryHandle  qHandle;

rc=QbQueryCreate(
              &qHandle);                          /* query object handle */

Merkmal zu einem Abfrageobjekt hinzufügen

Sie identifizieren die Abbildmerkmale, die der Image Extender abfragen soll, indem Sie die Merkmale zu einem Abfrageobjekt hinzufügen.

Verwenden Sie die API QbQueryAddFeature, um ein Merkmal zu einem Abfrageobjekt hinzuzufügen.

Wenn Sie die API verwenden, geben Sie die Kennung für das Abfrageobjekt an. Geben Sie außerdem den Namen des Merkmals an. Sie können nur ein Merkmal in der API angeben. Sie müssen für jedes Merkmal, das Sie zu einem Abfrageobjekt hinzufügen wollen, eine separate API aufrufen.

Im folgenden Beispiel wird die API QbQueryAddFeature verwendet, um das Merkmal 'Durchschnittsfarbe' zu einem Abfrageobjekt hinzuzufügen:

char  featureName[qbiMaxFeatureName];
QbQueryHandle  qHandle;

rc=QbQueryAddFeature(
                qHandle,                          /* query object handle */
                "QbColorFeatureClass");           /* feature name */

Datenquelle für ein Merkmal in einem Abfrageobjekt angeben

Verwenden Sie die API QbQuerySetFeatureData, um die Datenquelle für

ein Merkmal in einem Abfrageobjekt anzugeben. Folgende Datenquellen sind möglich:

Darüber hinaus können Sie explizit Daten für das Merkmal 'Durchschnittsfarbe' oder 'Histogrammfarbe' angeben. Beispielsweise können Sie die Werte rot, grün und blau für eine Durchschnittsfarbe angeben.

Wenn Sie die API verwenden,

Strukturen für Datenquellen verwenden

Verschiedene Strukturen werden verwendet, um Informationen zu Datenquellen für ein Abfrageobjekt zur Verfügung zu stellen. Zu diesen Strukturen gehören:

QbImageSource: Die Struktur QbImageSource gibt den Quellentyp für ein Merkmal in einem Abfrageobjekt an. Die Struktur ist in der Kopfdatei für QBIC, dmbqbapi.h, wie folgt definiert:

typedef struct{
          SQLINTEGER    type;
          union {
                char              imageHandle[MMDB_BASE_HANDLE_LEN+1];
                QbImageFile       clientFile;
                QbImageBuffer     buffer;
                QbSampleSource    reserved;
                QbColor           averageColor;
                QbHistogramColor  histogramColor[qbiHistogramCount];
          };
} QbImageSource;

Das Feld für den Typ in der Struktur QbImageSource gibt den Typ der Quelle an. Sie können den Wert in dem Feld wie folgt setzen:
Wert Bedeutung
qbiSource_ImageHandle Die Quelle ist in einer Benutzertabellenspalte
qbiSource_ClientFile Die Quelle ist in einer Client-Datenstationsdatei
qbiSource_Buffer Die Quelle ist in einem Client-Datenstationspuffer
qbiSource_AverageColor Die Quelle ist eine Angabe zur Durchschnittsfarbe
qbiSource_HistogramColor Die Quelle ist eine Angabe zur Histogrammfarbe

Diese Einstellungen sind nur für das entsprechende Merkmal gültig. Beispielsweise ist 'qbiSource_AverageColor' nur für das Merkmal 'Durchschnittsfarbe' gültig.

Je nach Quellentyp prüft der Image Extender auch andere von Ihnen angegebene Informationen. Dies wird in der folgenden Tabelle gezeigt.

Tabelle 9. Prüfobjekte des Image Extender in QbImageSource
Quelle Prüfobjekte des Image Extender Ort der Angabe
Benutzertabelle Abbildkennung Feld 'imageHandle' von QbImageSource
Datei
Name der Datei
Format der Datei

Feld 'clientFile' von QbImageSource
Puffer Name der Datei QbImageBuffer (Einzelheiten zur Verwendung dieser Struktur finden Sie im folgenden Abschnitt zu QbImageBuffer)
Angabe zur Durchschnittsfarbe Farbwerte rot, grün und blau Struktur QbColor (Einzelheiten zur Verwendung dieser Struktur finden Sie im folgenden Abschnitt zu QBColor)
Angabe zur Histogrammfarbe Farbwerte und -prozentsätze Struktur QbHistogramColor (Einzelheiten zur Verwendung dieser Struktur finden Sie im folgenden Abschnitt zu QbHistogramColor)

QbImageBuffer: Verwenden Sie die Struktur QbImageBuffer, um Format, Länge und Inhalt eines Abbilds anzugeben, wenn die Datenquelle in einem Puffer ist. Die Struktur ist in der Kopfdatei für QBIC, dmbqbapi.h, wie folgt definiert:

typedef struct{
          char          format[qbiImageFormatLength+1];
          SQLINTEGER    length;
          char*         image;
} QbImageBuffer;

QbColor: Verwenden Sie die Struktur QbColor, um die Werte rot, grün und blau für eine Durchschnittsfarbe anzugeben, wenn die Datenquelle eine Angabe zur Durchschnittsfarbe ist. Die Struktur ist in der Kopfdatei für QBIC, dmbqbapi.h, wie folgt definiert:

typedef struct{
          SQLUSMALLINT    red;          /*0 off - 65535 (fully on) */
          SQLUSMALLINT    green;        /*0 off - 65535 (fully on) */
          SQLUSMALLINT    blue;         /*0 off - 65535 (fully on) */
} QbColor;

Setzen Sie die Werte in QbColor, um den Anteil an roten, grünen und blauen Pixel anzugeben, der bei der Berechnung des Durchschnittswerts eingeschlossen werden soll. Die Werte liegen im Bereich von 0 bis 65535. Der Wert 0 bedeutet, daß der Eintrag ignoriert wird.

QbHistogramColor: Verwenden Sie die Struktur QbHistogramColor, um die einzelnen Farbkomponenten einer Histogrammfarbspezifikation anzugeben. Die vollständige Spezifikation für eine Histogrammfarbe ist in einem Bereich von QbHistogramColor-Strukturen enthalten. Jede Struktur enthält einen Farbwert und einen Prozentsatz. Der Farbwert besteht aus Pixel-Werten für rot, grün und blau. Der Prozentsatz gibt den Anteil dieser Farbe an, der im Zielabbild erforderlich ist.

Die Struktur ist in der Kopfdatei für QBIC, dmbqbapi.h, wie folgt definiert:

typedef struct{
          QbColor         color;
          SQLUSMALLINT    percentage;   /*0 - 100 */
} QbHistogramColor;

Setzen Sie die Werte in QbColor, um den Anteil an roten, grünen und blauen Pixel für die Farbe anzugeben. Die Werte liegen im Bereich von 0 bis 65535. Setzen Sie den Prozentsatz, um den Anteil der angegebenen Farbe, der im Zielabbild erforderlich ist, anzugeben. Der Wert kann im Bereich von 1 bis 100 liegen. Die Summe der Prozentsätze für die Farbkomponenten in einer Histogrammfarbe muß 100 oder weniger betragen.

Beispiele

Die API im folgenden Beispiel gibt die Datenquelle für das Merkmal 'Histogrammfarbe' in einem Abfrageobjekt an. Die Datenquelle ist eine Datei auf der Client-Datenstation.

char           featureName[qbiMaxFeatureName];
QbQueryHandle  qHandle;
QbImageSource  imgSource;

imgSource.type=qbSource_ClientFile
strcpy(imgSource.clientFile.fileName,"/tmp/image.gif");
strcpy(imgSource.clientFile.format,"GIF");

rc=QbQuerySetFeatureData(
                qHandle,                               /* query object handle */
                "QbColorHistogramFeatureClass",        /* feature name */
                &imgSource);                           /* feature data source */

Im folgenden Beispiel ist die Datenquelle eine Angabe zur Durchschnittsfarbe rot:

char                 featureName[qbiMaxFeatureName];
QbColor              avgColor;
QbImageSource        imgSource;

imgSource.type=qbSource_AverageColor;
avgColor.red=255;
avgColor.green=0;
avgColor.blue=0;
strcpy(featureName,"QbColorFeatureClass");

rc=QbQuerySetFeatureData(
                qHandle,                              /* query object handle */
                featureName,                          /* feature name */
                &imgSource);                          /* feature data source */

Wertigkeit eines Merkmals in einem Abfrageobjekt festlegen

Wenn Sie mehr als ein Merkmal zu einem Abfrageobjekt hinzugefügt haben, können Sie die Wertigkeit angeben, die ein oder mehrere Merkmale in einer Abfrage erhalten sollen. Verwenden Sie die API QbQuerySetFeatureWeight, um die Wertigkeit eines Merkmals anzugeben. Die Wertigkeit eines Merkmals gibt die Gewichtung an, die der Image Extender auf das Merkmal legt, wenn er Ähnlichkeitsergebnisse berechnet und Ergebnisse für eine Abfrage anhand des Abbildinhalts zurückgibt. Je höher die Wertigkeit, die Sie für ein Merkmal angeben, desto größer ist die Gewichtung dieses Merkmals im Abfrageobjekt.

Sie können eine Wertigkeit für ein oder mehrere Merkmale in einem Abfrageobjekt angeben, obwohl Sie bei jeder Verwendung der API QbQuerySetFeatureWeight nur die Wertigkeit für jeweils ein Merkmal angeben können. Wenn Sie keine Wertigkeit für ein Merkmal in einem Abfrageobjekt angeben, verwendet der Image Extender die Standardwertigkeit für das Merkmal. Die Zuordnung einer Wertigkeit für ein Merkmal ist ohne Bedeutung, wenn das Merkmal das einzige Merkmal in einem Abfrageobjekt ist. (Dieses Merkmal erhält in jedem Fall die volle Wertigkeit im Abfrageobjekt.)

Wenn Sie die API verwenden,

Im folgenden Beispiel enthält das Abfrageobjekt das Merkmal 'Durchschnittsfarbe' und mindestens ein weiteres Merkmal. Die API QbQuerySetFeatureWeight wird verwendet, um eine Wertigkeit für das Merkmal 'Durchschnittsfarbe' im Abfrageobjekt anzugeben:

char                 featureName[qbiMaxFeatureName];
double               weight;
QbQueryObjectHandle  qoHandle;

strcpy(featureName,"QbColorFeatureClass");
weight=5.00;

rc=QbQuerySetFeatureWeight(
                qoHandle,                            /* query object handle */
                featureName,                          /* feature name */
                &weight);                            /* feature weight */

Abfrageobjekt benennen und sichern

Abfrageobjekte sind 'vergänglich', solange sie nicht gesichert sind. Sie existieren nur während einer einzigen Datenbankverbindung. Durch das Sichern eines Abfrageobjekts können Sie es über mehrere Programmaufrufe hinweg verwenden bzw. auch noch verwenden, wenn die aktuelle Datenbankverbindung unterbrochen wurde.

Der Image Extender stellt zwei APIs (QbQuerySearch und QbQueryNameSearch) und zwei UDFs (QbScoreFromName und QbScoreTBFromName) zur Verfügung, die ein Abfrageobjekt als Eingabe für eine Abfrage anhand des Inhalts verwenden (siehe Abfragen anhand des Abbildinhalts ausführen). Für die API QbQuerySearch ist erforderlich, daß Sie das Abfrageobjekt nach seiner Kennung identifizieren. Für die API QbQueryNameSearch API, die UDF QbScoreFromName und die UDF QbScoreTBFromName ist erforderlich, daß Sie das Abfrageobjekt nach seinem Namen identifizieren.

Die Kennung des Abfrageobjekts wird zurückgegeben, wenn Sie eine Abfrage erstellen (wie im Abschnitt Abfrageobjekt erstellen beschrieben). Verwenden Sie die API QbQueryNameCreate, um ein Abfrageobjekt zu benennen. Wird die API QbQueryNameCreate aufgerufen, sichert der Image Extender das Abfrageobjekt nach Namen in der Datenbank, zu der momentan eine Verbindung besteht.

Wenn Sie die API QbQueryNameCreate verwenden, geben Sie die Kennung für das Abfrageobjekt und einen Abfrageobjektnamen an. Der Name kann bis zu 18 Zeichen lang sein. Sie können außerdem eine Beschreibung von bis zu 250 Zeichen angeben.

Im folgenden Beispiel wird die API QbQueryNameCreate verwendet, um ein Abfrageobjekt zu benennen und zu sichern:

QbQueryHandle  qHandle;
char           qName[18];
char           qDesc[250];

strcpy(qName,"average_red");
strcpy(qDesc,"average color query, created 10/15/96");

rc=QbQueryNameCreate(
                qHandle,                             /* query object handle */
                qName,                               /* query object name */
                qDesc);                              /* query object description */

Informationen zu einem Abfrageobjekt abrufen

Sie können feststellen, welche Merkmale (falls vorhanden) zu einem Abfrageobjekt hinzugefügt wurde. Sie können außerdem die aktuelle Wertigkeit eines Merkmals feststellen.
API Zum Abrufen
QbQueryGetFeatureCount der Anzahl von Merkmalen in einem Abfrageobjekt
QbQueryListFeatures der Namen von Merkmalen in einem Abfrageobjekt
QbQueryGetFeatureWeight der Wertigkeit eines Merkmals in einem Abfrageobjekt

Wenn Sie die API QbQueryGetFeatureCount verwenden, geben Sie die Kennung des Abfrageobjekts an. Sie müssen außerdem auf einen Zähler zeigen. Der Image Extender gibt die Merkmalanzahl im Zähler zurück.

Im folgenden Beispiel wird die API QbQueryGetFeatureCount API verwendet, um die Anzahl von Merkmalen in einem Abfrageobjekt festzustellen:

SQLINTEGER     count;
QbQueryHandle  qHandle;

rc=QbQueryGetFeatureCount(
                qHandle,                             /* query object handle */
                &count);                             /* feature count */

Wenn Sie die API QbQueryListFeatures aufrufen, müssen Sie einen Puffer zuordnen, der den zurückgegebenen Merkmalnamen enthalten soll. Sie müssen außerdem die Katalogkennung und die Größe des Puffers für den zurückgegebenen Merkmalnamen angeben.

Im folgenden Beispiel wird die API QbQueryListFeatures verwendet, um die Namen der einzelnen Merkmale in einem Abfrageobjekt abzurufen:

SQLINTEGER     retCount,bufSize;
char*          featureName;
QbQueryHandle  qHandle;

bufSize=qbiMaxFeatureName;
featureName=(char*)malloc(bufSize);

rc=QbQueryListFeatures(
                qHandle,                            /* query object handle */
                bufSize                             /* size of buffer */
                &retCount,                          /* feature count */
                featureName);                       /* buffer for feature names */

Verwenden Sie die API QbQueryGetFeatureWeight, um die Wertigkeitseinstellung für ein Merkmal abzurufen, das zu einem Abfrageobjekt hinzugefügt wurde. Wenn keine Wertigkeit festgelegt wurde, gibt die API die Standardwertigkeit für das Merkmal zurück.

Wenn Sie den Aufruf für die API QbQueryGetFeatureWeight eingeben,

Im folgenden Beispiel wird die API QbQueryGetFeatureWeight verwendet, um die Wertigkeit für das Merkmal 'Textur' in einem Abfrageobjekt abzurufen.

char                 featureName[qbiMaxFeatureName];
double               weight;
QbQueryObjectHandle  qoHandle;

strcpy(featureName,"QbTextureFeatureClass");

rc=QbQueryGetFeatureWeight(
                qoHandle,                            /* query object handle */
                featureName,                          /* feature name */
                &weight);                            /* feature weight */

Merkmal aus einem Abfrageobjekt löschen

Löschen Sie ein Merkmal aus einem Abfrageobjekt mit Hilfe der API QbQueryRemoveFeature.

Wenn Sie die API verwenden, geben Sie die Kennung für das Abfrageobjekt und den Namen des Merkmals an.

Im folgenden Beispiel wird die API QbQueryRemoveFeature verwendet, um das Merkmal 'Histogrammfarbe' aus einem Abfrageobjekt zu löschen:

char           featureName[qbiMaxFeatureName];
QbQueryHandle  qHandle;

strcpy(featureName,"QbColorHistogramFeatureClass");

rc=QbQueryRemoveFeature(
                qHandle,                             /* query object handle */
                featureName);                        /* feature name */

Abfrageobjekt löschen

Löschen Sie ein benanntes Abfrageobjekt mit Hilfe der API QbQueryNameDelete. Löschen Sie ein nicht benanntes Abfrageobjekt mit Hilfe der API QbQueryDelete.

Der Image Extender löscht die Abfrage aus der Datenbank, zu der momentan eine Verbindung besteht.

Wenn Sie die API QbQueryNameDelete verwenden, geben Sie den Abfrageobjektnamen an. Wenn Sie die API QbQueryDelete verwenden, geben Sie die Kennung für das Abfrageobjekt an.

Im folgenden Beispiel wird die API QbQueryNameDelete verwendet, um ein benanntes Abfrageobjekt zu löschen:

char qName[18];

strcpy(qname, "average_red");

rc=QbQueryNameDelete(
                qName);                              /* query object name */

Im folgenden Beispiel wird die API QbQueryDelete verwendet, um ein nicht benanntes Abfrageobjekt zu löschen:

QbQueryHandle  qHandle;

rc=QbQueryDelete(
            qHandle);                            /* query object handle */


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]

Search the DB2 Extender Books