ST_Distance´Â µÎ °³ÀÇ ±âÇÏÇÐÀ» ÃëÇØ ±×µé »çÀÌÀÇ °¡Àå ¸Õ °Å¸®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
±¸¹®
db2gse.ST_Distance(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
¸®ÅÏ À¯Çü
Double
¿¹
µµ½Ã °øÇÐÀÚ´Â ±¸È¹¼±ÀÇ 1 ÇÇÆ® ³»¿¡ ÀÖ´Â ¸ðµç ºôµù ¸ñ·ÏÀÌ ÇÊ¿äÇÕ´Ï´Ù.
BUILDINGFOOTPRINTS Å×À̺íÀÇ BUILDING_ID Ä÷³Àº °íÀ¯ÇÏ°Ô °¢ ºôµùÀ» ½Äº°ÇÕ´Ï´Ù. LOT_ID Ä÷³Àº °¢ ºôµùÀÌ ¼ÓÇØ ÀÖ´Â ±¸È¹À» ³ªÅ¸³À´Ï´Ù. À§Ä¡ ´ÙÁß ´Ù°¢ÇüÀº °¢ ºôµù À§Ä¡ÀÇ ±âÇÏÇÐÀ» ÀúÀåÇÕ´Ï´Ù.
CREATE TABLE BUILDINGFOOTPRINTS ( building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon);
LOTS Å×À̺íÀº °¢ ±¸È¹À» °íÀ¯ÇÏ°Ô ³ªÅ¸³»´Â ±¸È¹ ID¿Í ±¸È¹ ¼± ±âÇÏÇÐÀÌ Æ÷ÇÔµÈ ±¸È¹ ´ÙÁß ´Ù°¢ÇüÀ» ÀúÀåÇÕ´Ï´Ù.
CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
Á¶È¸¿¡¼´Â ±¸È¹¼±ÀÇ 1 ÇÇÆ® ³»¿¡ ÀÖ´Â ºôµù IDÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÕ´Ï´Ù. ST_Distance ÇÔ¼ö´Â À§Ä¡¿Í ±¸È¹ ´ÙÁß ´Ù°¢ÇüÀÇ °æ°è »çÀÌ¿¡ °ø°£ Á¶ÀÎÀ» ¼öÇàÇÕ´Ï´Ù. ±×·¯³ª, bf.lot_id¿Í LOTS.lot_id »çÀÌÀÇ equijoinÀº µ¿ÀÏÇÑ ±¸È¹¿¡ ¼ÓÇØ ÀÖ´Â ´ÙÁß ´Ù°¢Çü¸¸ÀÌ ST_Distance ÇÔ¼ö¿¡ ÀÇÇØ ºñ±³µÇµµ·Ï ÇÕ´Ï´Ù.
SELECT bf.building_id FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id AND db2gse.ST_Distance(bf.footprint, db2gse.ST_Boundary(LOTS.lot)) <= 1.0;