ST_SymmetricDiff´Â µÎ °³ÀÇ ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ÃëÇØ ¼Ò½º ¿ÀºêÁ§Æ®¿Í ´ëĪÀûÀÎ Â÷À̰¡ ÀÖ´Â ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
ST_SymmetricDiff ÇÔ¼ö´Â µ¿ÀÏÇÑ Â÷¿øÀ» °¡Áø ±³Â÷ÇÏ´Â µÎ ±âÇÏÇÐÀÇ ´ëĪ Â÷ÀÌ(°ø°£ÀÇ ºÎ¿ï ³í¸® XOR)¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ±âÇÏÇеéÀÌ µ¿ÀÏÇÑ °æ¿ì ST_SymmetricDiff´Â ºó ±âÇϸ¦ ¸®ÅÏÇÕ´Ï´Ù. µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é µÑ Áß Çϳª ¶Ç´Â µÑ ¸ðµÎÀÇ ÀϺΰ¡ ±³Â÷ ¿µ¿ª ¿ÜºÎ¿¡ ³õÀÌ°Ô µË´Ï´Ù. ST_SymmetricDiff´Â ÄÝ·º¼ÇÀ¸·Î¼ ´ÙÁß ´Ù°¢Çü°ú °°Àº ºñ-±³Â÷ ¿µ¿ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
ST_SymmetricDiff¿¡ ÀÔ·ÂÀ¸·Î ´Ù¸¥ Â÷¿øÀÇ ±âÇϰ¡ Á¦°øµÇ¸é ³ÎÀÌ ¸®Åϵ˴ϴÙ.
±¸¹®
db2gse.ST_SymmetricDiff(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
¸®ÅÏ À¯Çü
db2gse.ST_Geometry
¿¹
µµ °¨µ¶ÀÚ´Â ÁÖ¿ä ¿µ¿ª°ú 5¸¶ÀÏ À§Çè »çÀÌÆ® ¹Ý°æÀÌ ±³Â÷µÇÁö ¾Ê´ÂÁö ÆÇº°ÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ CREATE TABLE¹®Àº À§ÇùÀûÀÎ °ø°øºôµùÀ» ¼¼úÇÏ´Â ¿©·¯ Ä÷³ÀÌ µé¾î ÀÖ´Â SENSITIVE_AREAS Å×À̺íÀ» ÀÛ¼ºÇÕ´Ï´Ù. SENSITIVE_AREAS Å×ÀÌºí¿¡´Â °ø°øºôµùÀÇ ´Ù°¢Çü ±âÇÏÇÐÀ» ÀúÀåÇÏ´Â ZONE Ä÷³µµ µé¾î ÀÖ½À´Ï´Ù.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
´ÙÀ½ÀÇ CREATE TABLE¹®Àº HAZARDOUS_SITES Å×À̺íÀ» ÀÛ¼ºÇϴµ¥ ÀÌ´Â SITE_ID ¹× NAME Ä÷³¿¡ »çÀÌÆ®ÀÇ ½Äº°ÀÚ¸¦ ÀúÀåÇÏ´Â ¹Ý¸é¿¡ °¢ »çÀÌÆ®ÀÇ ½ÇÁ¦ Áö¸®Àû À§Ä¡´Â LOCATION Á¡ Ä÷³¿¡ ÀúÀåµË´Ï´Ù.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location point);
ST_Buffer ÇÔ¼ö´Â À§Çè Æó±â¹° »çÀÌÆ® À§Ä¡¸¦ µÑ·¯½Ñ 5¸¶ÀÏ ¹öÆÛ¸¦ »ý¼ºÇÕ´Ï´Ù. ST_SymmetricDiff ÇÔ¼ö´Â ¹öÆÛÈµÈ À§Çè Æó±â¹° »çÀÌÆ® ´Ù°¢Çü ¹× ÁÖ¿ä ¿µ¿ªÀÇ ±³Â÷Á¡À¸·ÎºÎÅÍ ´Ù°¢ÇüÀ» »ý¼ºÇÕ´Ï´Ù. ST_Area ÇÔ¼ö´Â °¢ À§Çè »çÀÌÆ®¿¡ ´ëÇÑ ±³Â÷ ´Ù°¢ÇüÀÇ ¿µ¿ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
SELECT sa.name, hs.name, db2gse.ST_Area(db2gse.ST_SymmetricDiff (db2gse.ST_Buffer(hs.location, (5 * 5280)),sa.zone)) FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa
±×¸² 38¿¡¼ À§Çè Æó±â¹° »çÀÌÆ®¿Í ÁÖ¿ä ¿µ¿ªÀÇ ´ëĪÀûÀÎ Â÷ÀÌ´Â ±³Â÷µÈ ¿µ¿ªÀ» »©±âÇÑ °á°úÀÔ´Ï´Ù.