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


°ø°£ Á¶È¸ ºôµå

ÀÌ Àý¿¡¼­´Â °ø°£ ÇÔ¼ö¿Í ¼ú¾î¸¦ ÀÌ¿ëÇÏ´Â °ø°£ Á¶È¸ÀÇ ºôµå¿¡ ´ëÇØ Åä·ÐÇÕ´Ï´Ù.

°ø°£ ÇÔ¼ö ¹× SQL

Spatial Extender¿¡´Â °ø°£ µ¥ÀÌÅÍ¿¡ ´ëÇØ ´Ù¾çÇÑ Á¶ÀÛÀ» ¼öÇàÇÏ´Â ÇÔ¼ö°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ ÀýÀÇ ¿¹¿¡¼­´Â °ø°£ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÇ °ø°£ Á¶È¸¸¦ ºôµåÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.

Ç¥ 3¿¡¼­´Â °ø°£ ÇÔ¼öÀÇ ¸ñ·Ï°ú °ø°£ ÇÔ¼ö°¡ ¼öÇàÇÏ´Â Á¶ÀÛ À¯ÇüÀ» Á¦°øÇÕ´Ï´Ù.

Ç¥ 3. °ø°£ ÇÔ¼ö ¹× Á¶ÀÛ
ÇÔ¼ö À¯Çü Á¶ÀÛ ¿¹
°è»ê µÎ Á¡°£ÀÇ °Å¸®¸¦ °è»ê
ºñ±³ ¹ü¶÷ Áö¿ª¿¡ À§Ä¡ÇÑ ¸ðµç °í°´ ã±â
µ¥ÀÌÅÍ ±³È¯ µ¥ÀÌÅ͸¦ Áö¿øµÈ Çü½ÄÀ¸·Î º¯È¯
º¯È¯ Á¡¿¡ 5¸¶ÀÏ ¹ÝÁö¸§À» Ãß°¡

±âÇÏÇÐ ¹× °ü·Ã °ø°£ ÇÔ¼ö ¹× SQL Á¶È¸¿¡ ´ëÇÑ °ø°£ ÇÔ¼ö¿¡¼­ °ø°£ ÇÔ¼ö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ

¿¹ 1: ºñ±³

´ÙÀ½ Á¶È¸¿¡¼­´Â °¢ ¹éÈ­Á¡À¸·ÎºÎÅÍÀÇ Æò±Õ °í°´ °Å¸®¸¦ ¾Ë¾Æ ³À´Ï´Ù. ÀÌ ¿¹¿¡¼­ »ç¿ëµÈ °ø°£ ÇÔ¼ö´Â ST_Distance ¹× ST_WithinÀÔ´Ï´Ù.

SELECT s.id, AVG(db2gse.ST_Distance(c.location,s.location))
FROM customers c, stores s
WHERE db2gse.ST_Within(c.location,s.zone)=1
GROUP BY s.id

¿¹ 2: µ¥ÀÌÅÍ ±³È¯

´ÙÀ½ Á¶È¸¿¡¼­´Â San Francisco Bay ±¸¿ª¿¡ »ç´Â °í°´ÀÇ À§Ä¡¸¦ ã¾Æ ³À´Ï´Ù. ÀÌ ¿¹¿¡¼­ »ç¿ëµÈ °ø°£ ÇÔ¼ö´Â ST_AsText(µ¥ÀÌÅÍ ±³È¯) ¹× ST_WithinÀÔ´Ï´Ù. ST_AsText´Â c.location Ä÷³ÀÇ °ø°£ µ¥ÀÌÅ͸¦ OGC TEXT Çü½ÄÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

SELECT db2gse.ST_AsText(c.location,cordref(1))
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=1

¿¹ 3: °è»ê

´ÙÀ½ Á¶È¸¿¡¼­´Â 10.5¸¶ÀÏ º¸´Ù ±ä ¸ðµç °Å¸®¸¦ ã½À´Ï´Ù. ÀÌ ¿¹¿¡ »ç¿ëµÈ °ø°£ ÇÔ¼ö´Â ST_LengthÀÔ´Ï´Ù.

SELECT s.name,s.id
FROM street s
WHERE db2gse.ST_Length(s.path) > 10.5

¿¹ 4: º¯È¯

ÀÌ Á¶È¸¿¡¼­´Â ¹ü¶÷ Áö¿ª¿¡ »ì°Å³ª ¹ü¶÷ Áö¿ªÀÇ °æ°è¿¡¼­ 2¸¶ÀÏ À̳»¿¡ »ç´Â °í°´À» ã½À´Ï´Ù. ÀÌ ¿¹¿¡¼­ »ç¿ëµÈ °ø°£ ÇÔ¼ö´Â ST_Buffer(º¯È¯) ¹× ST_WithinÀÔ´Ï´Ù. :floodzone º¯¼ö´Â C/C++¿¡¼­ ±¸ÇöµÇ´Â Embedded SQL ÇÁ·Î±×·¥ÀÇ È£½ºÆ® º¯¼öÀÔ´Ï´Ù.

SELECT c.name,c.phoneNo,c.address
FROM customers c
WHERE db2gse.ST_Within(c.location,ST_Buffer(:floodzone,2))=1


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