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

ST_Distance

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;


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