EnvelopesIntersect´Â µÎ ±âÇÏÇÐÀÇ ¿£º§·ÎÇÁ°¡ ±³Â÷µÇ¸é 1(TRUE)À» ¸®ÅÏÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é 0(FALSE)À» ¸®ÅÏÇÕ´Ï´Ù.
±¸¹®
db2gse.EnvelopesIntersect(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
¸®ÅÏ À¯Çü
Integer
¿¹
get_window ÇÔ¼ö´Â ÀÀ¿ëÇÁ·Î±×·¥À¸·ÎºÎÅÍ È¸éÇ¥½Ã âÀÇ ÁÂÇ¥¸¦ °Ë»öÇÕ´Ï´Ù. ⠸Ű³º¯¼ö´Â ȸéÇ¥½Ã ´Ù°¢ÇüÀ» ³ªÅ¸³»´Â ÁÂÇ¥ ¹®ÀÚ¿ÀÌ µé¾î ÀÖ´Â ½ÇÁ¦ ´Ù°¢Çü ¸ð¾ç ±¸Á¶ÀÔ´Ï´Ù. PolyFromShape ÇÔ¼ö´Â ȸéÇ¥½Ã â ¸ð¾çÀ» EnvelopesIntersect ÇÔ¼ö°¡ ÀÌÀÇ ±³Â÷ ¿£º§·ÎÇÁ·Î »ç¿ëÇÏ´Â Spatial Extender ´Ù°¢ÇüÀ¸·Î º¯È¯ÇÕ´Ï´Ù. ȸéÇ¥½Ã âÀÇ ³»ºÎ ¶Ç´Â °æ°è¿Í ±³Â÷ÇÏ´Â ¸ðµç SENSITIVE_AREAS ¿µ¿ª ´Ù°¢ÇüµéÀÌ ¸®Åϵ˴ϴÙ. °¢ ´Ù°¢ÇüÀº °á°ú ¼¼Æ®·ÎºÎÅÍ »çÀü ÃßÃâµÇ¾î draw_polygon ÇÔ¼ö·Î Àü´ÞµË´Ï´Ù.
/* Get the display window coordinates as a polygon shape. get_window(&window) /* SQL Ç¥Çö½ÄÀ» ÀÛ¼ºÇÕ´Ï´Ù. db2gse.EnvelopesIntersect ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© Ç¥½Ã âÀÇ ¿£º§·ÎÇÁ(envelope)¸¦ ±³Â÷ÇÏ´Â ¿µ¿ª ´Ù°¢Çü¸¸À¸·Î °á°ú ¼¼Æ®¸¦ Á¦ÇÑÇÕ´Ï´Ù. */ strcpy(sqlstmt, "select db2gse.AsShape(zone) from SENSITIVE_AREAS where db2gse.EnvelopesIntersect (zone, db2gse.PolyFromShape(cast(? as blob(1m)), db2gse.coordref()..srid(0)))"); /* 5Á¡ ¸ð¾ç ´Ù°¢ÇüÀÇ ¹ÙÀÌÆ® ±æÀÌ·Î blob_lenÀ» ¼³Á¤ÇÕ´Ï´Ù. */ blob_len = 128; /* SQL¹®À» ÁغñÇÕ´Ï´Ù. */ SQLPrepare(hstmt, (UCHAR *)sqlstmt, SQL_NTS); /* pcbvalue1À» â ¸ð¾çÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. */ pcbvalue1 = blob_len; /* ¸ð¾ç ¸Å°³º¯¼ö¸¦ ¹ÙÀεåÇÕ´Ï´Ù. */ SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_BINARY, SQL_BLOB, blob_len,0, window, blob_len, &pcbvalue1); /* Á¶È¸ ½ÇÇà */ rc = SQLExecute(hstmt); /* Á¶È¸ °á°ú, (¿µ¿ª ´Ù°¢Çü)À» fetched_binary º¯¼ö¿¡ ÁöÁ¤ÇÕ´Ï´Ù. */ SQLBindCol (hstmt, 1, SQL_C_Binary, fetched_binary, 100000, &ind_blob); /* ȸéÇ¥½Ã â ¾ÈÀÇ °¢ ´Ù°¢ÇüÀ» »çÀü ÃßÃâÇÏ¿© Ç¥½ÃÇÕ´Ï´Ù. */ while(SQL_SUCCESS == (rc = SQLFetch(hstmt)) draw_polygon(fetched_binary);