| PostgreSQL 8.0.4 ʸ½ñ | ||||
|---|---|---|---|---|
| Á°¤Î¥Ú¡¼¥¸ | ´¬Ìᤷ | Âè 9¾Ï´Ø¿ô¤È±é»»»Ò | ÁáÁ÷¤ê | ¼¡¤Î¥Ú¡¼¥¸ |
point¡¢box¡¢lseg¡¢line¡¢path¡¢polygon¡¢¤ª¤è¤Ócircle´ö²¿¥Ç¡¼¥¿·¿¤Ë¤Ï¡¢PostgreSQL¤¬¸µ¡¹¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë´Ø¿ô¤È±é»»»Ò¤¬ËÉ٤˷¤Ã¤Æ¤¤¤Þ¤¹¡£ (ɽ9-28¡¢É½9-29¡¢¤ª¤è¤Óɽ9-30¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£)
ɽ 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)' |
| ## | Âè°ì±é»»¹àÌܤÈÂèÆó±é»»¹àÌܤȤζáÀÜÅÀ | 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))' |
| &< | ±¦Â¦¤Ë¤Ï¤ß¤À¤µ¤Ê¤¤¤«? | 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 '((5,0),1)' |
| >> | ±¦Â¦¤Ë¤¢¤ë¤«? | circle '((5,0),1)' >> circle '((0,0),1)' |
| <^ | ²¼¤Ë¤¢¤ë¤«? | 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))' |
ɽ 9-29. ´ö²¿¥Ç¡¼¥¿´Ø¿ô
| ´Ø¿ô | Ìá¤êÃÍ | ÀâÌÀ | Îã |
|---|---|---|---|
| area(object) | double precision | ÌÌÀÑ | area(box '((0,0),(1,1))') |
| box_intersect(box, box) | box | ¶ë·Á¤Î¸òº¹ | box_intersect(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))') |
| 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) | integer | ÅÀ¤Î¿ô | npoints(path '[(0,0),(1,1),(2,0)]') |
| npoints(polygon) | integer | ÅÀ¤Î¿ô | 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))') |
ɽ 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) |
| 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(lseg, lseg) | point | ¸òº¹ | point(lseg '((-1,0),(1,0))', lseg '((-2,-2),(2,2))') |
| 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¤òʤ٤ƥ°¥é¥ÕÍÑ»æ¤Ë½ñ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
| Á°¤Î¥Ú¡¼¥¸ | ¥Û¡¼¥à | ¼¡¤Î¥Ú¡¼¥¸ |
| ÆüÉÕ/»þ¹ï´Ø¿ô¤È±é»»»Ò | ¾å¤ËÌá¤ë | ¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹·¿´Ø¿ô¤È±é»»»Ò |