»ç¿ëÀÚ ¾È³» ¹× ÂüÁ¶¼­

ST_GeomFromWKB

ST_GeomFromWKB´Â Àß ¾Ë·ÁÁø 2Áø Ç¥Çö½Ä ¹× °ø°£ ÂüÁ¶ ½Ã½ºÅÛ ½Äº°ÀÚ¸¦ ÃëÇØ ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

±¸¹®

db2gse.ST_GeomFromWKB(WKBGeometry Blob(1M), SRID db2gse.coordref)

¸®ÅÏ À¯Çü

db2gse.ST_Geometry

¿¹

´ÙÀ½ÀÇ C ÄÚµå Á¶°¢¿¡´Â LOTS Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ »ðÀÔÇÏ´Â Spatial Extender SQL ÇÔ¼ö¿Í ÇÔ²² »ðÀÔµÈ ODBC ÇÔ¼ö°¡ µé¾î ÀÖ½À´Ï´Ù.

LOTS Å×À̺íÀº °¢ ±¸È¹À» °íÀ¯ÇÏ°Ô ³ªÅ¸³»´Â LOT_ID Ä÷³ ¹× °¢ ±¸È¹ÀÇ ±âÇÏÇÐÀÌ µé¾î ÀÖ´Â LOT ´ÙÁß ´Ù°¢Çü Ä÷³À¸·Î ÀÛ¼ºµË´Ï´Ù.

CREATE TABLE LOTS ( lot_id   integer,
                    lot      db2gse.ST_MultiPolygon);

ST_GeomFromWKB ÇÔ¼ö´Â WKB Ç¥Çö½ÄÀ» Spatial Extender ±âÇÏÇÐÀ¸·Î º¯È¯ÇÕ´Ï´Ù. Àüü INSERT¹®Àº wkb_sql char ¹®ÀÚ¿­·Î º¹»çµË´Ï´Ù. INSERT¹®¿¡´Â LOT_ID µ¥ÀÌÅÍ ¹× LOT µ¥ÀÌÅ͸¦ µ¿ÀûÀ¸·Î ½ÂÀÎÇϱâ À§ÇÑ ¸Å°³º¯¼ö Ç¥½Ã¹®ÀÚ°¡ Æ÷ÇԵ˴ϴÙ.

/* ±¸È¹ ID ¹× ±¸È¹ ´Ù°¢ÇüÀ» »óÁÖ½Ã۱â À§ÇÑ SQL insert¹®À»
   SQL INSERT¹®À» ÀÛ¼ºÇÕ´Ï´Ù. ¹°À½Ç¥´Â ¸Å°³º¯¼ö Ç¥½Ã¹®ÀÚÀ̸ç,
   ·±Å¸ÀÓ¿¡¼­ °Ë»öµÇ´Â lot °ª ¹× lot_id¸¦
   ÁöÁ¤ÇÕ´Ï´Ù. */
strcpy (wkb_sql,"insert into LOTS (lot_id, lot) values (?, 
  db2gse.ST_GeomFromWKB
(cast(? as blob(1m)), db2gse.coordref()..srid(0)))");
 
/* SQL¹® Çڵ鿡 ´ëÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇϰí, ¸í·É¹® ÇÚµéÀ»
   ¿¬°á ÇÚµé°ú °áÇÕÇÕ´Ï´Ù. */
rc = SQLAllocStmt (handle, &hstmt);
 
/* ½ÇÇàÇÒ SQL¹®À» ÁغñÇÕ´Ï´Ù. */
rc = SQLPrepare (hstmt, (unsigned char *)wkb_sql, SQL_NTS);
 
/* Á¤¼ö Ű °ªÀ» ù¹øÂ° ¸Å°³º¯¼ö¿¡ ¹ÙÀεåÇÕ´Ï´Ù. */
pcbvalue1 = 0;
rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
     SQL_INTEGER, 0, 0, &lot_id, 0, &pcbvalue1);
 
/* ¸ð¾çÀ» µÎ ¹øÂ° ¸Å°³º¯¼ö·Î ¹ÙÀεåÇÕ´Ï´Ù. */
pcbvalue2 = blob_len;
rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_BINARY,
     SQL_BLOB, blob_len, 0, shape_blob, blob_len, &pcbvalue2);
 
/* »ðÀÔ¹®À» ½ÇÇàÇÕ´Ï´Ù. */
rc = SQLExecute (hstmt);


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]