ST_Difference´Â µÎ °³ÀÇ ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ÃëÇÏ¿© ¼Ò½º ¿ÀºêÁ§Æ®¿Í Â÷À̰¡ ÀÖ´Â ±âÇÏÇÐ ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. ST_DifferenceÀÇ µÎ ÀÔ·Â ±âÇÏ´Â Ä¡¼ö°¡ °°¾Æ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ³ÎÀÌ ¸®Åϵ˴ϴÙ.
±¸¹®
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
¸®ÅÏ À¯Çü
db2gse.ST_Geometry
¿¹
µµ½Ã °øÇÐÀÚ´Â ºôµù¿¡¼ ´Ù·çÁö ¾Ê´Â µµ½Ã ±¸È¹ ¿µ¿ªÀÇ ÃÑ ¿ª¿ªÀ» ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. Áï, µµ½Ã °øÇÐÀÚ´Â ºôµù ¿µ¿ªÀ» Á¦°ÅÇÑ ÀÌÈÄÀÇ ±¸È¹ ¿µ¿ª ÇÕÀ» ¿øÇÕ´Ï´Ù.
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
µµ½Ã °øÇÐÀÚ´Â lot_id¿¡ ´ëÇÑ BUILDINGFOOTPRINTS ¹× LOTS Å×À̺íÀ» °áÇÕÇÕ´Ï´Ù. ±×·± ´ÙÀ½, °øÇÐÀÚ´Â ±¸È¹¿¡¼ ºôµù À§Ä¡¸¦ »« Â÷ÀÌ ¿µ¿ªÀÇ ÇÕÀ» ÃëÇÕ´Ï´Ù.
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;