| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 9. ÇÔ¼ö¿Í ¿¬»êÀÚ | Fast Forward | Next |
point,box,lseg,line,path,polygon, ¹×circle±âÇÏ µ¥ÀÌÅÍÇü¿¡´Â, PostgreSQL°¡ ¿ø·¡ Áö¿øÇϰí ÀÖ´Â ÇÔ¼ö·Î ¿¬»êÀÚ°¡ dzºÎÇÏ°Ô °®Ãß¾îÁ® ÀÖ½À´Ï´Ù (Table 9-28,Table 9-29, ¹×Table 9-30À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä).
| Caution |
|
"~¿Í °°ÀºÀ» ³ªÅ¸³»´Â" ~=¿¬»êÀÚ´Âpoint,box,polygon, ¹×circleÇü¿¡ ´ëÇØ Åë»óÀÇ µî°¡ °³³äÀ» ³ªÅ¸³»´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÀÌ·¯ÇÑ ¸î°³ÀÇ ÇüÅ´ ¶Ç=¿¬»êÀÚ¸¦ °¡Áý´Ï´Ù¸¸,=Àº µ¿ÀÏÇÑ areas ¸¸À» ºñ±³ÇÕ´Ï´Ù. ±× ¿ÜÀÇ ½ºÄ®¶ó ºñ±³ ¿¬»êÀÚ(<=µî)µµ ¸¶Âù°¡Áö·Î ÀÌ·¯ÇÑ ÇüÅÂÀÇ ¿µ¿ªÀ» ºñ±³ÇÕ´Ï´Ù. |
Table 9-28. ±âÇÏ µ¥ÀÌÅÍ ¿¬»êÀÚ
| ¿¬»êÀÚ | ¼³¸í | ¿¹ |
|---|---|---|
| + | ÆòÇàÀ̵¿ | box '((0,0), (1,1))' + point '(2.0, 0)' |
| - | ÆòÇàÀ̵¿ | box '((0,0), (1,1))' - point '(2.0, 0)' |
| * | È®´ë Ãà¼Ò/ȸÀü | box '((0,0), (1,1))' * point '(2.0, 0)' |
| / | È®´ë Ãà¼Ò/ȸÀü | box '((0,0), (2,2))' / point '(2.0, 0)' |
| # | ±³Â÷Á¡, ±³Â÷ ±¸Çü | '((1,-1),(-1,1))' # '((1,1),(-1,-1))' |
| # | °æ·Î ȤÀº ´Ù°¢ÇüÀÇ Á¡ÀÇ ¼ö | # '((1,0), (0,1), (-1, 0))' |
| @-@ | ±æÀÌ È¤Àº ¿øÁÖ | @-@ path '((0,0), (1,0))' |
| @@ | Á᫐ | @@ circle '((0,0), 10)' |
| ## | Á¦1 ¿¬»ê Ç׸ñ°ú Á¦2 ¿¬»ê Ç׸ñ°úÀÇ ±ÙÁ¢Á¡ | point '(0,0)' ## lseg '((2,0), (0,2))' |
| <-> | °Å¸® | circle '((0,0), 1)' <-> circle '((5,0), 1)' |
| && | °ãÄ¡°í Àִ°¡? | box '((0,0), (1,1))' && box '((0,0), (2,2))' |
| << | ¾ö¹ÐÇÏ°Ô ÁÂÃø¿¡ Àִ°¡? | circle '((0,0), 1)' << circle '((5,0), 1)' |
| >> | ¾ö¹ÐÇÏ°Ô ¿ìÃø¿¡ Àִ°¡? | circle '((5,0),1)' >> circle '((0,0),1)' |
| &< | ¿ìÃøÀ¸·Î È®ÀåµÈ °ÍÀÌ ¾Æ´Ñ°¡? | box '((0,0), (1,1))' &< box '((0,0), (2,2))' |
| &> | ÁÂÃøÀ¸·Î È®ÀåµÈ °ÍÀÌ ¾Æ´Ñ°¡? | box '((0,0), (3,3))' &> box '((0,0), (2,2))' |
| <<| | ¾ö¹ÐÇÏ°Ô ¾Æ·¡ ÂÊ¿¡ Àִ°¡? | box '((0,0), (3,3))' <<| box '((3,4), (5,5))' |
| |>> | ¾ö¹ÐÇÏ°Ô À§ÂÊ¿¡ Àִ°¡? | box '((3,4), (5,5))' |>> box '((0,0), (3,3))' |
| &<| | À§ÂÊ¿¡ ³ª¿Í ÀÖÁö ¾ÊÀº°¡? | box '((0,0), (1,1))' &<| box '((0,0), (2,2))' |
| |&> | ¾Æ·¡ ÂÊ¿¡ ³ª¿Í ÀÖÁö ¾ÊÀº°¡? | box '((0,0), (3,3))' |&> box '((0,0), (2,2))' |
| <^ | (Á¢ÃËÀ» Çã°¡ÇØ) ¾Æ·¡ ÂÊ¿¡ ÀÖÀ»±î? | circle '((0,0), 1)' <^ circle '((0,5), 1)' |
| >^ | (Á¢ÃËÀ» Çã°¡ÇØ) À§ÂÊ¿¡ ÀÖÀ»±î? | circle '((0,5), 1)' >^ circle '((0,0), 1)' |
| ? # | »ç±Ð±î? | lseg '((-1, 0), (1,0))' ? # box '((-2,-2), (2,2))' |
| ? - | ¼öÆòÀΰ¡? | ? - lseg '((-1, 0), (1,0))' |
| ? - | ¼öÆò ¹æÇâÀ¸·Î °®Ãß¾îÁ® ÀÖÀ»±î? | point '(1,0)' ? - point '(0,0)' |
| ? | | ¼öÁ÷Àΰ¡? | ? | lseg '((-1, 0), (1,0))' |
| ? | | ¼öÁ÷ ¹æÇâÀ¸·Î °®Ãß¾îÁ® ÀÖÀ»±î? | point '(0,1)' ? | point '(0,0)' |
| ? -| | Á÷°¢À» ÀÌ·ç°í ÀÖÀ»±î? | lseg '((0,0), (0,1))' ? -| lseg '((0,0), (1,0))' |
| ? || | ÆòÇàÀΰ¡? | lseg '((-1, 0), (1,0))' ? || lseg '((-1, 2), (1,2))' |
| @> | Æ÷ÇÔ Çϰí ÀÖÀ»±î? | circle '((0,0), 2)' @> point '(1,1)' |
| <@ | Æ÷ÇÔ È¤Àº °æ°è»óÀ» Æ÷ÇÔÇÒ±î? | point '(1,1)' <@ circle '((0,0), 2)' |
| ~= | µ¿µîÇѰ¡? | polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' |
Note: PostgreSQL 8.2º¸´Ù Àü¿¡¼´Â, ÇÔÀ¯ ¿¬»êÀÚ@>¹×<@´Â °¢°¢~¹×@À̶ó´Â À̸§À̾ú½À´Ï´Ù. ÀÌ·¯ÇÑ À̸§Àº ¾ÆÁ÷ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ÆóÁö ¿¹Á¤À¸·Î ¿¹°í¾øÀÌ ¾ø¾îÁúÁöµµ ¸ð¸¨´Ï´Ù.
Table 9-29. ±âÇÏ µ¥ÀÌÅÍÇü ÇÔ¼ö
| ÇÔ¼ö | ¹Ýȯ°ª | ¼³¸í | ¿¹ |
|---|---|---|---|
area(
object
)
|
double precision | ¸éÀû | area(box '((0,0), (1,1))') |
center(
object
)
|
point | Á᫐ | center(box '((0,0), (1,2))') |
diameter(circle)
|
double precision | ¿øÀÇ Á÷°æ | diameter(circle '((0,0), 2.0)') |
height(box)
|
double precision | ±¸ÇüÀÇ ³ôÀÌ | height(box '((0,0), (1,1))') |
isclosed(path)
|
boolean | Æó°æ·ÎÀΰ¡? | isclosed(path '((0,0), (1,1), (2,0))') |
isopen(path)
|
boolean | °³°æ·ÎÀΰ¡? | isopen(path '[(0,0), (1,1), (2,0)]') |
length(
object
)
|
double precision | ±æÀÌ | length(path '((-1, 0), (1,0))') |
npoints(path)
|
int | Á¡ÀÇ ¼ö | npoints(path '[(0,0), (1,1), (2,0)]') |
npoints(polygon)
|
int | Á¡ÀÇ ¼ö | npoints(polygon '((1,1), (0,0))') |
pclose(path)
|
path | Æó°æ·Î·Î º¯È¯ | pclose(path '[(0,0), (1,1), (2,0)]') |
popen(path)
|
path | °³°æ·Î·Î º¯È¯ | popen(path '((0,0), (1,1), (2,0))') |
radius(circle)
|
double precision | ¿øÀÇ ¹Ý°æ | radius(circle '((0,0), 2.0)') |
width(box)
|
double precision | ±¸ÇüÀÇ Æø | width(box '((0,0),(1,1))') |
Table 9-30. ±âÇÏÇü º¯È¯ ÇÔ¼ö
| ÇÔ¼ö | ¹Ýȯ°ª | ¼³¸í | ¿¹ |
|---|---|---|---|
box(circle)
|
box | ¿ø¿¡¼ ±¸ÇüÀ¸·Î | box(circle '((0,0), 2.0)') |
box(point, point)
|
box | ÁÂÇ¥Á¡À» ±¸ÇüÀ¸·Î º¯È¯ | box(point '(0,0)', point '(1,1)') |
box(polygon)
|
box | ´Ù°¢ÇüÀ» ±¸ÇüÀ¸·Î º¯È¯ | box(polygon '((0,0), (1,1), (2,0))') |
circle(box)
|
circle | ±¸ÇüÀ» ¿øÀ¸·Î º¯È¯ | circle(box '((0,0), (1,1))') |
circle(point, double precision)
|
circle | Á߽ɰú ¹Ý°æÀ» ¿øÀ¸·Î º¯È¯ | circle(point '(0,0)', 2.0) |
circle(polygon)
|
circle | ´Ù°¢ÇüÀ» ¿øÀ¸·Î º¯È¯ | circle(polygon '((0,0), (1,1), (2,0))') |
lseg(box)
|
lseg | ±¸ÇüÀÇ ´ë°¢¼±À» ¼±ºÐÀ¸·Î º¯È¯ | lseg(box '((-1, 0), (1,0))') |
lseg(point, point)
|
lseg | ÁÂÇ¥Á¡À» ¼±ºÐÀ¸·Î º¯È¯ | lseg(point '(-1, 0)', point '(1,0)') |
path(polygon)
|
point | ´Ù°¢ÇüÀ» °æ·Î·Î º¯È¯ | path(polygon '((0,0), (1,1), (2,0))') |
point(double
precision, double precision)
|
point | ÁÂÇ¥Á¡ÀÇ ±¸Ãà | point(23.4, -44. 5) |
point(box)
|
point | ±¸ÇüÀÇ Á᫐ | point(box '((-1, 0), (1,0))') |
point(circle)
|
point | ¿øÀÇ Á᫐ | point(circle '((0,0), 2.0)') |
point(lseg)
|
point | ¼±ºÐÀÇ Á᫐ | point(lseg '((-1, 0), (1,0))') |
point(polygon)
|
point | ´Ù°¢ÇüÀÇ Á᫐ | point(polygon '((0,0), (1,1), (2,0))') |
polygon(box)
|
polygon | ±¸ÇüÀ¸¿¡¼ 4 Á¤Á¡ÀÇ ´Ù°¢ÇüÀ¸·Î | polygon(box '((0,0), (1,1))') |
polygon(circle)
|
polygon | ¿ø¿¡¼ 12 °¢ÇüÀ¸·Î | polygon(circle '((0,0), 2.0)') |
polygon(
npts
, circle)
|
polygon | ¿ø¿¡¼ npts °¢ÇüÀ¸·Î | polygon(12, circle '((0,0), 2.0)') |
polygon(path)
|
polygon | °æ·Î¿¡¼ ´Ù°¢ÇüÀ¸·Î | polygon(path '((0,0),(1,1),(2,0))') |
pointÀÇ 2°³ÀÇ ¿ø°¡¿ä¼Ò´Â, ÷ÀÚ 0, 1À» °¡Áö´Â ¹è¿¿¡ ¾×¼¼½º ÇÏ´Â °Í°ú °°ÀÌ, ¾×¼¼½º ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é,t.p°¡point¿ÀÇ °æ¿ì,SELECT p[0] FROM t¶ó°í ÇÏ´Â ½Ä¿¡¼ XÁÂÇ¥Á¡À» ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç,UPDATE t SET p[1] = ...±×¸®°í YÁÂÇ¥Á¡À» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ¿Í °°Àº ¹æ¹ýÀ¸·Î box¶Ç´Âlseg¿¡¼µµ, 2°³ÀÇpoint ¹è¿°ª°ú °°ÀÌ Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù.
areaÇÔ¼ö´Â,box,circle,pathÇü¿¡ ´ëÇØ¼ µ¿ÀÛÇÕ´Ï´Ù.
pathµ¥ÀÌÅÍÇü¿¡ ´ëÇÑareaÇÔ¼ö´Â, ±×path°¡ ±³Â÷ÇÏÁö ¾Ê´Â °æ¿ì¿¡°Ô¸¸ µ¿ÀÛÇÕ´Ï´Ù.
¿¹¸¦ µé¸é,'((0,0), (0,1), (2,1), (2,2), (1,2), (1,0), (0,0))'::PATH¶ó°í ÇÏ´Âpath´Â µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.
±×·¯³ª, ¿ÜÇüÀº °°½À´Ï´Ù¸¸,'((0,0), (0,1), (1,1), (1,2), (2,2), (2,1), (1,1), (1,0), (0,0))'::PATH¶ó°í ÇÏ´Âpath¿¡¼´Â µ¿ÀÛÇÕ´Ï´Ù.
pathÀÇ ±³Â÷ÇÏ´Â, ±³Â÷ÇÏÁö ¾Ê´Â °³³äÀ» Àß ¸ð¸£´Â °æ¿ì, À§ÀÇ 2°³ÀÇpath¸¦ ´Ã¾î³õ¾Æ ±×·¡ÇÁ ¿ëÁö¿¡±×·Á º¸¼¼¿ä.