Ư¼º, Ư¼º °ª ¹× Á¶È¸¿¡ ´ëÇÑ Æ¯¼º °¡ÁßÄ¡¸¦ ½Äº°Çϱâ À§ÇØ Á¶È¸ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Á¶È¸ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ°í ±×°Í¿¡ Ư¼ºÀ» Ãß°¡ÇÕ´Ï´Ù. ±× ¶§, µ¥ÀÌÅÍ ¼Ò½º´Â °¢°¢ÀÇ Æ¯¼º¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¼Ò½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â Ư¼º °ªÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µ¥ÀÌÅÍ ¼Ò½º´Â ÆÄÀÏ¿¡ ÀÖ´Â À̹ÌÁöÀÏ ¼ö ÀÖ½À´Ï´Ù. Æò±Õ »ö»óÀÌ ÀûÁ¤ Ư¼ºÀÎ °æ¿ì, À̹ÌÁöÀÇ Æò±Õ »ö»óÀÌ Á¶È¸ ¿ÀºêÁ§Æ®¿Í ¿¬°üµË´Ï´Ù. Á¶È¸ ¿ÀºêÁ§Æ®¿¡ º¹¼ö Ư¼ºÀ» Ãß°¡ÇÑ´Ù¸é, ÇϳªÀÇ Æ¯¼º¿¡ ÇϳªÀÇ °¡ÁßÄ¡¸¦ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.
Image Extender´Â Á¶È¸ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ´Â ¼¼ °³ÀÇ API(QbQuerySearch, QbQueryStringSearch ¹× QbQueryNameSearch)¿Í µÎ °³ÀÇ UDF(QbScoreFromName ¹× QbScoreTBFromName)¸¦ Á¦°øÇÕ´Ï´Ù. Á¶È¸ ¹ßÇà½Ã, ÀûÀýÇÑ API³ª UDF¸¦ »ç¿ëÇϰí ÀÔ·Â ¸Å°³º¯¼ö·Î Á¶È¸ ¹®ÀÚ¿À» ÁöÁ¤ÇÕ´Ï´Ù.(¼¼ºÎ»çÇ×Àº À̹ÌÁö ³»¿ëº°·Î Á¶È¸ ¹ßÇàÀ» ÂüÁ¶ÇϽʽÿÀ.)
Á¶È¸ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ·Á¸é QbQueryCreate API¸¦ »ç¿ëÇϽʽÿÀ.
ÀÀ´äÀ¸·Î, Image Extender´Â Á¶È¸ ¿ÀºêÁ§Æ®¿ë ÇÚµéÀ» ¸®ÅÏÇÕ´Ï´Ù. ÇÚµéÀº QBIC¿¡ ´ëÇÑ Include(Çì´õ) ÆÄÀÏ¿¡ dmbqbapi.h·Î Á¤ÀÇµÈ QbQueryHandleÀÇ QBIC ÁöÁ¤ µ¥ÀÌÅÍ À¯ÇüÀ» °®½À´Ï´Ù.
API »ç¿ë½Ã, Á¶È¸ ¿ÀºêÁ§Æ® ÇÚµéÀ» °¡¸®ÄÑ¾ß ÇÕ´Ï´Ù. Ư¼º Ãß°¡¿Í °°ÀÌ Á¶È¸ ¿ÀºêÁ§Æ®¿¡ ´Ù¸¥ Á¶ÀÛÀ» ¼öÇàÇÏ´Â API¿¡ Çڵ鵵 ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ API È£ÃâÀº Á¶È¸ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
QbQueryHandle qHandle; rc=QbQueryCreate( &qHandle); /* query object handle */
Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ư¼ºÀ» Ãß°¡ÇÏ¿© Image Extender°¡ Á¶È¸Çϱ⸦ ¿øÇÏ´Â À̹ÌÁö Ư¼ºÀ» ½Äº°ÇÕ´Ï´Ù.
Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ư¼ºÀ» Ãß°¡ÇÏ·Á¸é, QbQueryAddFeature API¸¦ »ç¿ëÇϽʽÿÀ.
API »ç¿ë½Ã, Á¶È¸ ¿ÀºêÁ§Æ® ÇÚµéÀ» ÁöÁ¤ÇϽʽÿÀ. ¶ÇÇÑ, Ư¼ºÀ» À̸§ ÁöÁ¤ÇÕ´Ï´Ù. API¿¡ ÇϳªÀÇ Æ¯¼º¸¸À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÏ·Á´Â °¢°¢ÀÇ Æ¯¼º¿¡ ´ëÇØ ºÐ¸® API È£ÃâÀ» ¹ßÇàÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, QbQueryAddFeature API´Â Æò±Õ »ö»ó Ư¼ºÀ» Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
char featureName[qbiMaxFeatureName]; QbQueryHandle qHandle; rc=QbQueryAddFeature( qHandle, /* query object handle */ "QbColorFeatureClass"); /* feature name */
Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ư¼º¿ë µ¥ÀÌÅÍ ¼Ò½º¸¦ ÁöÁ¤ÇÏ·Á¸é, QbQuerySetFeatureData API¸¦ »ç¿ëÇϽʽÿÀ.
µ¥ÀÌÅÍ ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
¶ÇÇÑ, Æò±Õ »ö»óÀ̳ª È÷½ºÅä±×·¥ »ö»ó Ư¼º¿¡ ´ëÇØ µ¥ÀÌÅ͸¦ ¸í½ÃÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, Æò±Õ »ö»óÀÇ »¡°£»ö, ³ì»ö ¹× ÆÄ¶õ»ö °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
API »ç¿ë½Ã:
´Ù¾çÇÑ ±¸Á¶°¡ Á¶È¸ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¼Ò½º Á¤º¸¸¦ Á¦°øÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ±¸Á¶´Â ´ÙÀ½°ú °°½À´Ï´Ù.
QbImageSource: QbImageSource ±¸Á¶´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ư¼º¿ë ¼Ò½º À¯ÇüÀ» ½Äº°ÇÕ´Ï´Ù.
±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ QBIC¿¡ ´ëÇÑ Include(Çì´õ) ÆÄÀÏ¿¡¼ dmbqbapi.h·Î Á¤Àǵ˴ϴÙ.
typedef struct{ SQLINTEGER type; union { char imageHandle[MMDB_BASE_HANDLE_LEN+1]; QbImageFile clientFile; QbImageBuffer buffer; QbSampleSource reserved; QbColor averageColor; QbHistogramColor histogramColor[qbiHistogramCount]; }; } QbImageSource;
QbImageSource ±¸Á¶ÀÇ À¯Çü Çʵå´Â ¼Ò½º À¯ÇüÀ» Ç¥½ÃÇÕ´Ï´Ù.
´ÙÀ½°ú °°ÀÌ Çʵ忡 °ªÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
°ª | ÀÇ¹Ì |
---|---|
qbiSource_ImageHandle | ¼Ò½º´Â »ç¿ëÀÚ Å×À̺í Ä÷³¿¡ ÀÖ½À´Ï´Ù. |
qbiSource_ClientFile | ¼Ò½º°¡ Ŭ¶óÀÌ¾ðÆ® ¿öÅ©½ºÅ×ÀÌ¼Ç ÆÄÀÏ¿¡ ÀÖ½À´Ï´Ù. |
qbiSource_Buffer | ¼Ò½º°¡ Ŭ¶óÀÌ¾ðÆ® ¿öÅ©½ºÅ×ÀÌ¼Ç ¹öÆÛ¿¡ ÀÖ½À´Ï´Ù. |
qbiSource_ServerFile | ¼Ò½º´Â ¼¹ö ÆÄÀÏ¿¡ ÀÖ½À´Ï´Ù. |
qbiSource_AverageColor | ¼Ò½º´Â Æò±Õ »ö»ó ½ºÆåÀÔ´Ï´Ù. |
qbiSource_HistogramColor | ¼Ò½º´Â È÷½ºÅä±×·¥ »ö»ó ½ºÆåÀÔ´Ï´Ù. |
ÀÌ·¯ÇÑ ¼³Á¤Àº ÀûÀýÇÑ Æ¯¼º¿ëÀ¸·Î¸¸ À¯È¿ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, qbiSource_AverageColor´Â Æò±Õ »ö»ó Ư¼º¿ëÀ¸·Î¸¸ À¯È¿ÇÕ´Ï´Ù.
À¯Çü Çʵ带 qbiSource_ServerFile·Î ¼³Á¤ÇÒ °æ¿ì, ¼¹ö¿¡ ÀÖ´Â ÆÄÀÏÀÇ À̸§°ú À¯Çü¿¡ ´ëÇØ clientFileÀ» »ç¿ëÇϽʽÿÀ.
¼Ò½º À¯Çü¿¡ µû¶ó, Image Extender´Â ¶ÇÇÑ ÁöÁ¤ÇÑ ´Ù¸¥ Á¤º¸µµ Á¶»çÇÕ´Ï´Ù.
À̰ÍÀº ´ÙÀ½
Ç¥¿¡ ³ªÅ¸³³´Ï´Ù.
Ç¥ 9. QbImageSource¿¡¼ Image ExtenderÀÇ Á¶»ç ³»¿ë
¼Ò½º | Image ExtenderÀÇ Á¶»ç ³»¿ë | ÁöÁ¤ Àå¼Ò |
---|---|---|
»ç¿ëÀÚ Å×À̺í | À̹ÌÁö ÇÚµé | QbImageSourceÀÇ À̹ÌÁö ÇÚµé Çʵå |
ÆÄÀÏ |
ÆÄÀÏ À̸§ ÆÄÀÏ Çü½Ä | QbImageSourceÀÇ clientFile Çʵå |
¹öÆÛ | ÆÄÀÏ À̸§ | QbImageBuffer (ÀÌ ±¸Á¶ »ç¿ë¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº ¾Æ·¡ÀÇ QbImageBuffer¸¦ ÂüÁ¶ÇϽʽÿÀ.) |
Æò±Õ »ö»ó ½ºÆå | »¡°£»ö, ³ì»ö ¹× ÆÄ¶õ»ö °ª | QbColor ±¸Á¶(ÀÌ ±¸Á¶ »ç¿ë¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº ¾Æ·¡ÀÇ QBColor¸¦ ÂüÁ¶ÇϽʽÿÀ.) |
È÷½ºÅä±×·¥ »ö»ó ½ºÆå | »ö»ó °ª°ú ¹éºÐÀ² | QbHistogramColor ±¸Á¶(ÀÌ ±¸Á¶ »ç¿ë¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº ¾Æ·¡ÀÇ QbHistogramColor¸¦ ÂüÁ¶ÇϽʽÿÀ.) |
QbImageBuffer: µ¥ÀÌÅÍ ¼Ò½º°¡ ¹öÆÛ¿¡ ÀÖ´Â °æ¿ì, À̹ÌÁö Çü½Ä, ±æÀÌ ¹× ³»¿ëÀ» ÁöÁ¤ÇÏ·Á¸é QbImageBuffer ±¸Á¶¸¦ »ç¿ëÇϽʽÿÀ.
±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ QBIC¿¡ ´ëÇÑ Include(Çì´õ) ÆÄÀÏ¿¡¼ dmbqbapi.h·Î Á¤Àǵ˴ϴÙ.
typedef struct{ char format[qbiImageFormatLength+1]; SQLINTEGER length; char* image; } QbImageBuffer;
QbColor: µ¥ÀÌÅÍ ¼Ò½º°¡ Æò±Õ »ö»ó ½ºÆå¿¡ ÀÖ´Â °æ¿ì, Æò±Õ »ö»óÀÇ »¡°£»ö, ³ì»ö, ÆÄ¶õ»ö °ªÀ» ÁöÁ¤ÇÏ·Á¸é QbColor ±¸Á¶¸¦ »ç¿ëÇϽʽÿÀ.
±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ QBIC¿¡ ´ëÇÑ Include(Çì´õ) ÆÄÀÏ¿¡¼ dmbqbapi.h·Î Á¤Àǵ˴ϴÙ.
typedef struct{ SQLUSMALLINT red; /*0 off - 65535 (fully on) */ SQLUSMALLINT green; /*0 off - 65535 (fully on) */ SQLUSMALLINT blue; /*0 off - 65535 (fully on) */ } QbColor;
Æò±Õ°ª °è»ê¿¡ Àμö ºÐÇØµÈ »¡°£»ö, ³ì»ö, ÆÄ¶õ»ö Çȼ¿ÀÇ ¾çÀ» Ç¥½ÃÇÏ·Á¸é, QbColor¿¡ °ªÀ» ¼³Á¤ÇϽʽÿÀ. °ªÀÇ ¹üÀ§´Â 0¿¡¼ 65535±îÁöÀÔ´Ï´Ù. °ª 0Àº Ç׸ñ ¹«½Ã¸¦ ÀǹÌÇÕ´Ï´Ù.
QbHistogramColor: È÷½ºÅä±×·¥ »ö»ó ½ºÆå °¢°¢ÀÇ »ö ±¸¼º¿ä¼Ò¸¦ ÁöÁ¤ÇÏ·Á¸é, QbHistogramColor ±¸Á¶¸¦ »ç¿ëÇϽʽÿÀ.
È÷½ºÅä±×·¥ »ö»ó¿¡ ´ëÇÑ ¿ÏÀü ½ºÆåÀº QbHistogramColor ±¸Á¶ ¹è¿·Î µÇ¾î ÀÖ½À´Ï´Ù. °¢°¢ÀÇ ±¸Á¶´Â »ö»ó °ª°ú ¹éºÐÀ²À» Æ÷ÇÔÇÕ´Ï´Ù. »ö»ó °ªÀº »¡°£»ö, ³ì»ö ¹× ÆÄ¶õ»ö Çȼ¿ °ªÀ¸·Î ±¸¼ºµË´Ï´Ù. ¹éºÐÀ²Àº ¸ñÇ¥ À̹ÌÁö¿¡ ÇÊ¿äÇÑ ÇØ´ç »öÀÇ ºñÀ²À» ÁöÁ¤ÇÕ´Ï´Ù.
±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ QBIC¿¡ ´ëÇÑ Include(Çì´õ) ÆÄÀÏ¿¡¼ dmbqbapi.h·Î Á¤Àǵ˴ϴÙ.
typedef struct{ QbColor color; SQLUSMALLINT percentage; /*0 - 100 */ } QbHistogramColor;
»ö»ó¿¡ ´ëÇÑ »¡°£»ö, ³ì»ö ¹× ÆÄ¶õ»ö Çȼ¿ÀÇ ÃÑÇÕÀ» Ç¥½ÃÇÏ·Á¸é, °ªÀ» QbColor¿¡ ¼³Á¤ÇϽʽÿÀ. °ªÀÇ ¹üÀ§´Â 0¿¡¼ 65535±îÁöÀÔ´Ï´Ù. ¸ñÇ¥ À̹ÌÁö¿¡ ÇÊ¿äÇÑ ÁöÁ¤µÈ »ö»óÀÇ ¹éºÐÀ²À» Ç¥½ÃÇÏ·Á¸é ºñÀ²À» ¼³Á¤ÇϽʽÿÀ. °ªÀÇ ¹üÀ§´Â 1¿¡¼ 100±îÁöÀÔ´Ï´Ù. È÷½ºÅä±×·¥¿¡ »ö»ó ±¸¼º¿ä¼Ò¿¡ ´ëÇÑ ºñÀ²ÀÇ ÃÑÇÕÀº 100 ÀÌÇÏ¿©¾ß ÇÕ´Ï´Ù.
´ÙÀ½ ¿¹½Ã¿¡ ÀÖ´Â API´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡ È÷½ºÅä±×·¥ »ö»ó Ư¼º¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¼Ò½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â Ŭ¶óÀÌ¾ðÆ® ¿öÅ©½ºÅ×À̼ǿ¡ ÀÖ´Â ÆÄÀÏÀÔ´Ï´Ù.
char featureName[qbiMaxFeatureName]; QbQueryHandle qHandle; QbImageSource imgSource; imgSource.type=qbiSource_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 */
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, µ¥ÀÌÅÍ ¼Ò½º´Â »¡°£»ö Æò±Õ »ö»ó ½ºÆåÀÔ´Ï´Ù.
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 */
Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Çϳª ÀÌ»óÀÇ Æ¯¼ºÀ» Ãß°¡Çß´Ù¸é, Çϳª ÀÌ»óÀÇ Æ¯¼ºÀÌ Á¶È¸¿¡ Á¦°øµÇ´Â °¡ÁßÄ¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ư¼º °¡ÁßÄ¡¸¦ ÁöÁ¤ÇÏ·Á¸é, QbQuerySetFeatureWeight API¸¦ »ç¿ëÇϽʽÿÀ. Ư¼º °¡ÁßÄ¡´Â À¯»ç ½ºÄھ °è»êÇϰí À̹ÌÁö ³»¿ëº° Á¶È¸ °á°ú¸¦ ¸®ÅÏÇÒ ¶§ Image Extender°¡ Ư¼º¿¡ ¹èÄ¡ÇÑ °Á¶»çÇ×À» Ç¥½ÃÇÕ´Ï´Ù. Ư¼º¿ëÀ¸·Î ÁöÁ¤ÇÑ °¡ÁßÄ¡°¡ ³ô¾ÆÁú¼ö·Ï Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Àִ Ư¼º¿¡ °Á¶»çÇ×ÀÌ ´õ¿í Ä¿Áý´Ï´Ù.
QbQuerySetFeatureWeight¸¦ ¹ßÇàÇÏ´Â °¢°¢ÀÇ ½Ã°£¿¡ ¿ÀÁ÷ ÇϳªÀÇ Æ¯¼º¿¡ ´ëÇÑ °¡ÁßÄ¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´õ¶óµµ, Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ Çϳª ÀÌ»óÀÇ Æ¯¼º¿¡ ´ëÇØ ÇϳªÀÇ °¡ÁßÄ¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡ÁßÄ¡¸¦ Á¶È¸ ¿ÀºêÁ§Æ®ÀÇ Æ¯¼º¿¡ ÇÒ´çÇÏÁö ¾Ê´Â °æ¿ì, Image Extender°¡ Ư¼ºÀÇ ±âº» °¡ÁßÄ¡¸¦ »ç¿ëÇÕ´Ï´Ù. ÇÑ Æ¯¼º¿¡ ÇϳªÀÇ °¡ÁßÄ¡¸¦ ÇÒ´çÇÏ´Â °ÍÀº ÇØ´ç Ư¼ºÀÌ Á¶È¸ ¿ÀºêÁ§Æ®¿¡ ÀÖ´Â À¯ÀÏÇÑ Æ¯¼ºÀÓÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù.(±×·¯ÇÑ Æ¯¼ºÀº Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ Ç×»ó ¿ÏÀü °¡ÁßÄ¡¸¦ °¡Áú °ÍÀÔ´Ï´Ù.)
API »ç¿ë½Ã:
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, Á¶È¸ ¿ÀºêÁ§Æ®´Â Æò±Õ »ö»ó Ư¼º°ú ÃÖ¼ÒÇÑ Çϳª ÀÌ»óÀÇ ´Ù¸¥ Ư¼ºÀ» Æ÷ÇÔÇÕ´Ï´Ù. QbQuerySetFeatureWeight API´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Æò±Õ »ö»ó Ư¼º¿¡ ´ëÇÑ °¡ÁßÄ¡¸¦ ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
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 */
Á¶È¸ ¿ÀºêÁ§Æ®´Â »ç¿ëÀÚ°¡ ±×°ÍÀ» ÀúÀåÇÏÁö ¾Ê´Â´Ù¸é ÀϽÃÀûÀÎ °ÍÀÔ´Ï´Ù. ´ÜÀÏ µ¥ÀÌÅͺ£À̽º ¿¬°á µ¿¾È¿¡¸¸ Á¸ÀçÇÕ´Ï´Ù. Á¶È¸¿¡¼ Á¶È¸ ¹®ÀÚ¿À» ÀúÀåÇÏ¿© ÇÁ·Î±×·¥¿¡¼, ¶Ç´Â ÇöÀç µ¥ÀÌÅͺ£À̽º ¿¬°áÀÌ Á¦°ÅµÈ ÈÄ¿¡µµ ÇÁ·Î±×·¥ È£Ãâ¿¡¼ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Image Extender´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ Á¶È¸ ¹®ÀÚ¿À» ¸®ÅÏÇÏ´Â QbQueryGetString API¸¦ Á¦°øÇÕ´Ï´Ù. »ç¿ëÀÚ´Â ´Ù¸¥ À̹ÌÁö ³»¿ëº° Á¶È¸¿¡¼ ±× Á¶È¸ ¹®ÀÚ¿À» QbQueryStringSearch API³ª QbScoreFromStr ¹× QbScoreTBFromStr UDF¿¡ ´ëÇÑ ÀÔ·ÂÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(À̹ÌÁö ³»¿ëº°·Î Á¶È¸ ¹ßÇà ÂüÁ¶).
Á¶È¸ ¹®ÀÚ¿Àº ´ÙÀ½À» »ç¿ëÇÏ¿© Á¶È¸¸¦ ºôµåÇÒ ¶§ ºôµåµË´Ï´Ù.
Á¶È¸¸¦ ºôµåÇÏ°í ³ª¸é, QbQueryGetStringÀ» È£ÃâÇÏ¿© ¹®ÀÚ¿À» È®º¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇØ´ç ÇÁ·Î±×·¥ ³»ÀÇ È£Ãâ¿¡¼ ÀÌ Á¶È¸ ¹®ÀÚ¿À» »ç¿ëÇϰųª, ±× µÚÀÇ ÀÀ¿ëÇÁ·Î±×·¥ È£ÃâÀ̳ª ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ¿¬°á¿¡¼ »ç¿ëÇϱâ À§ÇØ À̸¦ ÆÄÀÏ¿¡ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. QbQueryGetString¿¡ ÀÇÇØ ¸®ÅÏµÈ Á¶È¸ ¹®ÀÚ¿À» »ç¿ëÇÏ´Â °ÍÀ» ¿Ï·áÇÏ¿´À¸¸é, ¸í½ÃÀûÀ¸·Î ±× °ø°£À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ºñ¿ö¾ß ÇÕ´Ï´Ù.
´ÙÀ½ ¿¹½Ã¿¡¼, QbQueryGetStringÀº Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ Á¶È¸ ¹®ÀÚ¿À» °Ë»öÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù.
SQLRETURN rc; char* qryString; QbQueryHandle qHandle; ..... /* Here you create and use the query */ rc = QbQueryGetString(qHandle, &qryString); if ( rc == 0) { ... /* Use the query string as input here */ free((void *)qryString); qryString=(char *)0; }
Á¦ÇÑ»çÇ×: | Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏÀ» »ç¿ëÇÏ¿© Ư¼º¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¼Ò½º¸¦ ÁöÁ¤ÇÒ °æ¿ì, Á¶È¸ ¹®ÀÚ¿Àº Ư¼º µ¥ÀÌÅ͸¦ ¹Ý¿µÇÏÁö ¾Ê½À´Ï´Ù. |
Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Ãß°¡µÈ Ư¼º Á¾·ù¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ư¼ºÀÇ ÇöÀç °¡ÁßÄ¡¸¦ ÆÇº°ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
API | °Ë»ö |
---|---|
QbQueryGetFeatureCount | Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Àִ Ư¼º ¼ö |
QbQueryListFeatures | Á¶È¸ ¿ÀºêÁ§Æ®¿¡ Àִ Ư¼º À̸§ |
QbQueryGetFeatureCount API ¹ßÇà½Ã, Á¶È¸ ¿ÀºêÁ§Æ® ÇÚµéÀ» ÁöÁ¤ÇϽʽÿÀ. °è¼ö±âµµ Áö½ÃÇØ¾ß ÇÕ´Ï´Ù. Image Extender´Â °è¼ö±â¿¡ Ư¼º °è¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, QbQueryGetFeatureCount API´Â Á¶È¸ ¿ÀºêÁ§Æ®ÀÇ Æ¯¼º ¼ö¸¦ °áÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
SQLINTEGER count; QbQueryHandle qHandle; rc=QbQueryGetFeatureCount( qHandle, /* query object handle */ &count); /* feature count */
QbQueryListFeatures API È£Ãâ ¹ßÇà½Ã, ¸®ÅÏµÈ Æ¯¼º À̸§À» º¸À¯ÇÏ´Â ¹öÆÛ¸¦ ÇÒ´çÇØ¾ß ÇÕ´Ï´Ù. īŻ·Î±× ÇÚµé°ú ¸®ÅϵǴ Ư¼º À̸§¿¡ ´ëÇÑ ¹öÆÛ Å©±âµµ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, QbQueryListFeatures API´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡ ÀÖ´Â °¢°¢ÀÇ Æ¯¼º¸íÀ» °Ë»öÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
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 */
Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ QbQueryRemoveFeature API¸¦ »ç¿ëÇÏ¿© Ư¼ºÀ» »èÁ¦ÇϽʽÿÀ.
API »ç¿ë½Ã, Á¶È¸ ¿ÀºêÁ§Æ® ÇÚµéÀ» ÁöÁ¤ÇÏ°í Æ¯¼ºÀ» À̸§ ÁöÁ¤ÇϽʽÿÀ.
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, QbQueryRemoveFeature API´Â Á¶È¸ ¿ÀºêÁ§Æ®¿¡¼ È÷½ºÅä±×·¥ »ö»ó Ư¼ºÀ» »èÁ¦ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
char featureName[qbiMaxFeatureName]; QbQueryHandle qHandle; strcpy(featureName,"QbColorHistogramFeatureClass"); rc=QbQueryRemoveFeature( qHandle, /* query object handle */ featureName); /* feature name */
À̸§ ¾ø´Â Á¶È¸ ¿ÀºêÁ§Æ®¸¦ QbQueryDelete API·Î »èÁ¦ÇϽʽÿÀ.
Image Extender´Â ÇöÀç ¿¬°áµÈ µ¥ÀÌÅͺ£À̽º¿¡¼ Á¶È¸¸¦ »èÁ¦ÇÕ´Ï´Ù.
QbQueryDelete API »ç¿ë½Ã, Á¶È¸ ¿ÀºêÁ§Æ® ÇÚµéÀ» ÁöÁ¤ÇϽʽÿÀ.
´ÙÀ½ÀÇ ¿¹½Ã¿¡¼, QbQueryDelete API´Â Á¶È¸ ¿ÀºêÁ§Æ®¸¦ »èÁ¦ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
QbQueryHandle qHandle; rc=QbQueryDelete( qHandle); /* query object handle */
À̸§ÀÌ ÁöÁ¤µÈ Á¶È¸¸¦ »ç¿ëÇÏ¿´À¸¸é, QbQueryNameDelete API¸¦ »ç¿ëÇÏ¿© Á¶È¸ ¿ÀºêÁ§Æ®¸¦ »èÁ¦ÇϽʽÿÀ.