ST_IntersectionÀº µÎ °³ÀÇ ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ÃëÇØ ±³Ã¼ ¼¼Æ®¸¦ ±âÇÏÇÐ ¿ÀºêÁ§Æ®·Î¼ ¸®ÅÏÇÕ´Ï´Ù.
ST_Intersection¿¡ ÀÔ·Â ¸Å°³º¯¼ö·Î¼ ´Ù°¢Çü ¹× ¼± ½ºÆ®¸µÀÌ Á¦°øµÇ°í ´ÙÀ½ Á¶°ÇÀÌ Àû¿ëµÇ¸é,
ST_IntersectionÀº POINT EMPTY ÅØ½ºÆ® ¹®ÀÚ¿À» ¸®ÅÏÇÕ´Ï´Ù.
±¸¹®
db2gse.ST_Intersection(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
¸®ÅÏ À¯Çü
db2gse.ST_Geometry
¿¹
¼Ò¹æ¼ÀåÀº ¿¹»óµÇ´Â À§Çè Æó±â¹° ¿À¿°¿øÀÇ ¹Ý°æ À̳»¿¡ ±³Â÷µÇ´Â º´¿ø, Çб³ ¹× »ç¼³ ¿ä¾ç¿ø ¿µ¿ª¿¡ °ü·ÃµÈ Á¤º¸¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
Áß¿ä ¿µ¿ªÀº ´ÙÀ½ÀÇ CREATE TABLE ¸í·É¹®À¸·Î ÀÛ¼ºµÈ 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 Å×ÀÌºí¿¡ ÀúÀåµË´Ï´Ù. Á¡À¸·Î Á¤ÀÇµÈ LOCATION Ä÷³Àº °¢ À§Çè »çÀÌÆ®ÀÇ Áö¸®Àû Áß½ÉÀÌ µÇ´Â À§Ä¡¸¦ ÀúÀåÇÕ´Ï´Ù.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
¹öÆÛ ÇÔ¼ö´Â À§Çè Æó±â¹° »çÀÌÆ® À§Ä¡¸¦ µÑ·¯½Ñ 5¸¶ÀÏ ¹öÆÛ¸¦ »ý¼ºÇÕ´Ï´Ù. ST_Intersection ÇÔ¼ö´Â ¹öÆÛÈµÈ À§Çè Æó±â¹° »çÀÌÆ® ´Ù°¢Çü ¹× ÁÖ¿ä ¿µ¿ªÀÇ ±³Â÷Á¡À¸·ÎºÎÅÍ ´Ù°¢ÇüÀ» »ý¼ºÇÕ´Ï´Ù. ST_Area ÇÔ¼ö´Â ±³Â÷ ´Ù°¢ÇüÀÇ ¿µ¿ªÀ» ¸®ÅÏÇϸç ÀÌ´Â SUM ÇÔ¼ö¿¡ ÀÇÇØ °¢ À§Çè »çÀÌÆ®¿¡ ´ëÇØ ¿ä¾àµË´Ï´Ù. GROUP BYÀýÀº À§Çè Æó±â¹° site_IDº°·Î ±³Â÷µÈ ¿µ¿ªÀ» ´©ÀûÇϵµ·Ï Á¶È¸¿¡ Áö½ÃÇÕ´Ï´Ù.
SELECT hs.name,SUM(db2gse.ST_Area(db2gse.ST_Intersection (sa.zone, db2gse.ST_buffer hs.location,(5 * 5280)))) FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs GROUP BY hs.site_id;
±×¸² 35¿¡¼ ¿øÀº À§Çè Æó±â¹° »çÀÌÆ®¸¦ µÑ·¯½Ñ ¹öÆÛÈµÈ ´Ù°¢ÇüÀ» ³ªÅ¸³À´Ï´Ù. ÁÖ¿ä ¿µ¿ª ´Ù°¢ÇüÀÌ ÀÖ´Â ÀÌ ¹öÆÛ ´Ù°¢ÇüµéÀÌ ±³Â÷µÇ¾î ¼¼ °¡ÁöÀÇ ´Ù¸¥ ´Ù°¢ÇüÀ» »ý¼ºÇÕ´Ï´Ù. ¿ÞÂÊ »ó´Ü ¸ð¼¸®¿¡ ÀÖ´Â º´¿øÀº µÎ ¹ø ±³Â÷µÇ´Â ¹Ý¸é¿¡ ¿À¸¥ÂÊ ÇÏ´Ü ¸ð¼¸®¿¡ ÀÖ´Â Çб³´Â ÇÑ ¹ø¸¸ ±³Â÷µË´Ï´Ù.