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

ST_Crosses

ST_Crosses´Â µÎ °³ÀÇ ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ÃëÇØ ÀÌÀÇ ±³Â÷ °á°ú°¡ ¼Ò½º ¿ÀºêÁ§Æ®ÀÇ ÃÖ´ë Â÷¿øº¸´Ù Çϳª ÀÛÀº Â÷¿øÀ» °¡Áø ±âÇÏÇÐ ¿ÀºêÁ§Æ®ÀÎ °æ¿ì¿¡´Â 1(TRUE)À» ¸®ÅÏÇÕ´Ï´Ù. ±³Â÷ ¿ÀºêÁ§Æ®¿¡´Â µÎ ¼Ò½º ±âÇÏÇÐ ¸ðµÎ¿¡ ´ëÇØ ³»ºÎÀÎ Á¡ÀÌ µé¾î ÀÖÀ¸¸ç ¼Ò½º ¿ÀºêÁ§Æ® Áß Çϳª¿Í µ¿ÀÏÇÏÁö ¾Ê½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â 0(FALSE)ÀÌ ¸®Åϵ˴ϴÙ.

±¸¹®

db2gse.ST_Crosses(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

¸®ÅÏ À¯Çü

Integer

¿¹

µµÃ»¿¡¼­´Â °ü³»¿¡ ¸ðµç À§Çè Æó±â¹° ÀúÀå ¼³ºñ°¡ ¼ö·ÎÀÇ 5¸¶ÀÏ À̳»¿¡ À§Ä¡ÇÒ ¼ö ¾ø´Ù°í ¸í½ÃÇÑ »õ·Î¿î ±ÔÁ¤À» °í·ÁÁßÀÔ´Ï´Ù. µµ GIS °ü¸® ÇÁ·Î±×·¥Àº °­°ú ÇÏõÀÇ Á¤È®ÇÑ Ç¥½Ã¸¦ °¡Áö°í ÀÖÀ¸¸ç ÀÌ´Â WATERWAYS Å×ÀÌºí¿¡ ´ÙÁß ¼±½ºÆ®¸µÀ¸·Î ÀúÀåµË´Ï´Ù. ±×·¯³ª, GIS °ü¸® ÇÁ·Î±×·¥¿¡¼­´Â °¢ À§Çè Æó±â¹° ÀúÀå ¼³ºñ¿¡ ´ëÇØ ´ÜÀÏ Á¡ À§Ä¡¸¸À» °¡Áý´Ï´Ù.

CREATE TABLE WATERWAYS (id     integer,
                        name   varchar(128),
                        water  db2gse.ST_MultiLineString);
 
CREATE TABLE HAZARDOUS_SITES ( site_id   integer,
                               name      varchar(128),
                               location  db2gse.ST_Point);

µµ °¨µ¶ÀÚ´Â Á¦¾ÈµÈ ±ÔÁ¤À» À§¹ÝÇÏ´Â ¼³ºñ¿¡ °æ°íÇØ¾ß ÇÒ Çʿ䰡 ÀÖ´ÂÁö ÆÇ´ÜÇϱâ À§ÇØ, GIS °ü¸® ÇÁ·Î±×·¥Àº À§Çè »çÀÌÆ® À§Ä¡¸¦ ¹öÆÛÈ­ÇÏ¿© °­À̳ª ÇÏõ ¹öÆÛ ´Ù°¢ÇüÀ» Åë°úÇÏ´ÂÁö ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ST_Crosses´Â ¹öÆÛµÈ HAZARDOUS_SITES¸¦ WATERWAYS¿Í ºñ±³ÇÕ´Ï´Ù. ±×·¡¼­, µµ¿¡¼­ Á¦¾ÈÇÑ ±ÔÁ¤ ¹ÝÁö¸§À» ¼ö·Î°¡ Åë°úÇÏ´Â ·¹Äڵ常 ¸®Åϵ˴ϴÙ.

SELECT ww.name "River or stream", hs.name "Hazardous site"
FROM WATERWAYS ww, HAZARDOUS_SITES hs
WHERE db2gse.ST_Crosses(db2gse.ST_Buffer(hs.location,(5 * 5280)),ww.water) 
= 1;

±×¸² 31¿¡¼­ À§Çè Æó±â¹° »çÀÌÆ®ÀÇ 5¸¶ÀÏ ¹öÆÛ°¡ µµÀÇ °ü¸® Áö±¸¸¦ °üÅëÇÏ¿© È帣´Â ÇÏõ ³×Æ®¿öÅ©¿Í ¾ù°¥¸³´Ï´Ù. ÇÏõ ³×Æ®¿öÅ©´Â ´ÙÁß ¼±½ºÆ®¸µÀ¸·Î Á¤ÀÇµÈ »óÅÂÀÔ´Ï´Ù. ±×·¯¹Ç·Î, °á°ú ¼¼Æ®¿¡´Â ¹ÝÁö¸§À» °¡·ÎÁö¸£´Â ±×·¯ÇÑ ¼¼±×¸ÕÆ®µéÀÇ ÀϺκÐÀÎ ¸ðµç ¼±½ºÆ®¸µ ¼¼±×¸ÕÆ®°¡ Æ÷ÇԵ˴ϴÙ.

±×¸² 31. ST_Crosses¸¦ »ç¿ëÇÏ¿© À§Çè Æó±â¹° ¿µ¿ªÀ» Åë°úÇÏ´Â ¼ö·Î ã±â

¸Ç À§


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