Commit bebfe968 authored by Thomas G. Lockhart's avatar Thomas G. Lockhart

Test new intersection and closest point operators.

Fix up results labels on queries.
Update existing queries which now return good results.
parent 2d0e6b0f
QUERY: SELECT point(f1) FROM CIRCLE_TBL; QUERY: SELECT '' AS four, center(f1) AS center
point FROM BOX_TBL;
--------- four|center
(0,0) ----+-------
(1,2) |(1,1)
(1,3) |(2,2)
(1,2) |(2.5,3)
(100,200) |(3,3)
(100,0) (4 rows)
QUERY: SELECT '' AS four, (@@ f1) AS center
FROM BOX_TBL;
four|center
----+-------
|(1,1)
|(2,2)
|(2.5,3)
|(3,3)
(4 rows)
QUERY: SELECT '' AS six, point(f1) AS center
FROM CIRCLE_TBL;
six|center
---+---------
|(0,0)
|(1,2)
|(1,3)
|(1,2)
|(100,200)
|(100,0)
(6 rows)
QUERY: SELECT '' AS six, (@@ f1) AS center
FROM CIRCLE_TBL;
six|center
---+---------
|(0,0)
|(1,2)
|(1,3)
|(1,2)
|(100,200)
|(100,0)
(6 rows) (6 rows)
QUERY: SELECT '' AS two, (@@ f1) AS center
FROM POLYGON_TBL
WHERE (# f1) > 2;
two|center
---+-----------------------------------
|(1.33333333333333,1.33333333333333)
|(2.33333333333333,1.33333333333333)
(2 rows)
QUERY: SELECT '' AS two, p1.f1 QUERY: SELECT '' AS two, p1.f1
FROM POINT_TBL p1 FROM POINT_TBL p1
WHERE ishorizontal(p1.f1, '(0,0)'::point); WHERE ishorizontal(p1.f1, '(0,0)'::point);
two|f1
---+-------
|(0,0)
|(-10,0)
(2 rows)
QUERY: SELECT '' AS two, p1.f1
FROM POINT_TBL p1
WHERE p1.f1 ?- '(0,0)'::point;
two|f1 two|f1
---+------- ---+-------
|(0,0) |(0,0)
...@@ -19,61 +70,216 @@ two|f1 ...@@ -19,61 +70,216 @@ two|f1
(2 rows) (2 rows)
QUERY: SELECT '' AS one, p1.f1 QUERY: SELECT '' AS one, p1.f1
FROM POINT_TBL p1 FROM POINT_TBL p1
WHERE isvertical(p1.f1, '(5.1,34.5)'::point); WHERE isvertical(p1.f1, '(5.1,34.5)'::point);
one|f1 one|f1
---+---------- ---+----------
|(5.1,34.5) |(5.1,34.5)
(1 row) (1 row)
QUERY: SELECT center(f1) FROM BOX_TBL; QUERY: SELECT '' AS one, p1.f1
center FROM POINT_TBL p1
------- WHERE p1.f1 ?| '(5.1,34.5)'::point;
(1,1) one|f1
(2,2) ---+----------
(2.5,3) |(5.1,34.5)
(3,3) (1 row)
(4 rows)
QUERY: SELECT box(f1) FROM CIRCLE_TBL; QUERY: SELECT '' AS count, p.f1, l.s, l.s # p.f1 AS intersection
WARN:func_get_detail: function box(circle) does not exist FROM LSEG_TBL l, POINT_TBL p;
QUERY: SELECT '' AS count, b.f1 + p.f1 NOTICE:there is no operator # for types lseg and point
FROM BOX_TBL b, POINT_TBL p;
NOTICE:there is no operator + for types box and point
NOTICE:You will either have to retype this query using an NOTICE:You will either have to retype this query using an
NOTICE:explicit cast, or you will have to define the operator NOTICE:explicit cast, or you will have to define the operator
WARN:+ for box and point using CREATE OPERATOR WARN:# for lseg and point using CREATE OPERATOR
QUERY: SELECT '' AS count, b.f1 * p.f1 QUERY: SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest
FROM BOX_TBL b, POINT_TBL p; FROM LSEG_TBL l, POINT_TBL p;
NOTICE:there is no operator * for types box and point thirty|f1 |s |closest
NOTICE:You will either have to retype this query using an ------+----------+-----------------------------+------------------------------------
NOTICE:explicit cast, or you will have to define the operator |(0,0) |[(1,2),(3,4)] |(1,2)
WARN:* for box and point using CREATE OPERATOR |(-10,0) |[(1,2),(3,4)] |(1,2)
|(-3,4) |[(1,2),(3,4)] |(1,2)
|(5.1,34.5)|[(1,2),(3,4)] |(3,4)
|(-5,-12) |[(1,2),(3,4)] |(1,2)
|(10,10) |[(1,2),(3,4)] |(3,4)
|(0,0) |[(0,0),(6,6)] |(-0,0)
|(-10,0) |[(0,0),(6,6)] |(0,0)
|(-3,4) |[(0,0),(6,6)] |(0,0)
|(5.1,34.5)|[(0,0),(6,6)] |(6,6)
|(-5,-12) |[(0,0),(6,6)] |(0,0)
|(10,10) |[(0,0),(6,6)] |(6,6)
|(0,0) |[(10,-10),(-3,-4)] |(-3,-4)
|(-10,0) |[(10,-10),(-3,-4)] |(-3,-4)
|(-3,4) |[(10,-10),(-3,-4)] |(-3,-4)
|(5.1,34.5)|[(10,-10),(-3,-4)] |(-3,-4)
|(-5,-12) |[(10,-10),(-3,-4)] |(-3,-4)
|(10,10) |[(10,-10),(-3,-4)] |(-3,-4)
|(0,0) |[(-1000000,200),(300000,-40)]|(0.0028402365895872,15.384614860264)
|(-10,0) |[(-1000000,200),(300000,-40)]|(-9.99715942258202,15.3864610140473)
|(-3,4) |[(-1000000,200),(300000,-40)]|(-2.99789812267519,15.3851688427303)
|(5.1,34.5)|[(-1000000,200),(300000,-40)]|(5.09647083221496,15.3836744976925)
|(-5,-12) |[(-1000000,200),(300000,-40)]|(-4.99494420845634,15.3855375281616)
|(10,10) |[(-1000000,200),(300000,-40)]|(10.000993741978,15.3827690473092)
|(0,0) |[(11,22),(33,44)] |(11,22)
|(-10,0) |[(11,22),(33,44)] |(11,22)
|(-3,4) |[(11,22),(33,44)] |(11,22)
|(5.1,34.5)|[(11,22),(33,44)] |(11,22)
|(-5,-12) |[(11,22),(33,44)] |(11,22)
|(10,10) |[(11,22),(33,44)] |(11,22)
(30 rows)
QUERY: SELECT '' as six, box(f1) AS box FROM CIRCLE_TBL;
six|box
---+--------------------------------------------------------------------------
|(2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
|(71.7106781186548,72.7106781186548),(-69.7106781186548,-68.7106781186548)
|(4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932738)
|(3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559643)
|(107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
|(170.710678118655,70.7106781186548),(29.2893218813452,-70.7106781186548)
(6 rows)
QUERY: SELECT '' AS twentyfour, b.f1 + p.f1 AS translation
FROM BOX_TBL b, POINT_TBL p;
twentyfour|translation
----------+-----------------------
|(2,2),(0,0)
|(3,3),(1,1)
|(2.5,3.5),(2.5,2.5)
|(3,3),(3,3)
|(-8,2),(-10,0)
|(-7,3),(-9,1)
|(-7.5,3.5),(-7.5,2.5)
|(-7,3),(-7,3)
|(-1,6),(-3,4)
|(0,7),(-2,5)
|(-0.5,7.5),(-0.5,6.5)
|(0,7),(0,7)
|(7.1,36.5),(5.1,34.5)
|(8.1,37.5),(6.1,35.5)
|(7.6,38),(7.6,37)
|(8.1,37.5),(8.1,37.5)
|(-3,-10),(-5,-12)
|(-2,-9),(-4,-11)
|(-2.5,-8.5),(-2.5,-9.5)
|(-2,-9),(-2,-9)
|(12,12),(10,10)
|(13,13),(11,11)
|(12.5,13.5),(12.5,12.5)
|(13,13),(13,13)
(24 rows)
QUERY: SELECT '' AS twentyfour, b.f1 - p.f1 AS translation
FROM BOX_TBL b, POINT_TBL p;
twentyfour|translation
----------+-------------------------
|(2,2),(0,0)
|(3,3),(1,1)
|(2.5,3.5),(2.5,2.5)
|(3,3),(3,3)
|(12,2),(10,0)
|(13,3),(11,1)
|(12.5,3.5),(12.5,2.5)
|(13,3),(13,3)
|(5,-2),(3,-4)
|(6,-1),(4,-3)
|(5.5,-0.5),(5.5,-1.5)
|(6,-1),(6,-1)
|(-3.1,-32.5),(-5.1,-34.5)
|(-2.1,-31.5),(-4.1,-33.5)
|(-2.6,-31),(-2.6,-32)
|(-2.1,-31.5),(-2.1,-31.5)
|(7,14),(5,12)
|(8,15),(6,13)
|(7.5,15.5),(7.5,14.5)
|(8,15),(8,15)
|(-8,-8),(-10,-10)
|(-7,-7),(-9,-9)
|(-7.5,-6.5),(-7.5,-7.5)
|(-7,-7),(-7,-7)
(24 rows)
QUERY: SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation
FROM BOX_TBL b, POINT_TBL p;
twentyfour|rotation
----------+---------------------------
|(0,0),(0,0)
|(0,0),(0,0)
|(0,0),(0,0)
|(0,0),(0,0)
|(-0,0),(-20,-20)
|(-10,-10),(-30,-30)
|(-25,-25),(-25,-35)
|(-30,-30),(-30,-30)
|(-0,2),(-14,0)
|(-7,3),(-21,1)
|(-17.5,2.5),(-21.5,-0.5)
|(-21,3),(-21,3)
|(0,79.2),(-58.8,0)
|(-29.4,118.8),(-88.2,39.6)
|(-73.5,104.1),(-108,99)
|(-88.2,118.8),(-88.2,118.8)
|(14,-0),(0,-34)
|(21,-17),(7,-51)
|(29.5,-42.5),(17.5,-47.5)
|(21,-51),(21,-51)
|(0,40),(0,0)
|(0,60),(0,20)
|(0,60),(-10,50)
|(0,60),(0,60)
(24 rows)
QUERY: SELECT '' AS twenty, b.f1 / p.f1 AS rotation
FROM BOX_TBL b, POINT_TBL p
WHERE (p.f1 <-> '(0,0)'::point) >= 1;
twenty|rotation
------+---------------------------------------------------------------------------------
|(0,-0),(-0.2,-0.2)
|(-0.1,-0.1),(-0.3,-0.3)
|(-0.25,-0.25),(-0.25,-0.35)
|(-0.3,-0.3),(-0.3,-0.3)
|(0.08,-0),(0,-0.56)
|(0.12,-0.28),(0.04,-0.84)
|(0.26,-0.7),(0.1,-0.82)
|(0.12,-0.84),(0.12,-0.84)
|(0.0651176557643925,0),(0,-0.0483449262493217)
|(0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)
|(0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)
|(0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)
|(-0,0.0828402366863905),(-0.201183431952663,0)
|(-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)
|(-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)
|(-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)
|(0.2,0),(0,0)
|(0.3,0),(0.1,0)
|(0.3,0.05),(0.25,0)
|(0.3,0),(0.3,0)
(20 rows)
QUERY: SET geqo TO 'off'; QUERY: SET geqo TO 'off';
QUERY: SELECT points(f1) AS npoints, f1 AS path FROM PATH_TBL; QUERY: SELECT '' AS eight, points(f1) AS npoints, f1 AS path FROM PATH_TBL;
npoints|path eight|npoints|path
-------+------------------------- -----+-------+-------------------------
2|[(1,2),(3,4)] | 2|[(1,2),(3,4)]
2|((1,2),(3,4)) | 2|((1,2),(3,4))
4|[(0,0),(3,0),(4,5),(1,6)] | 4|[(0,0),(3,0),(4,5),(1,6)]
2|((1,2),(3,4)) | 2|((1,2),(3,4))
2|((1,2),(3,4)) | 2|((1,2),(3,4))
2|[(1,2),(3,4)] | 2|[(1,2),(3,4)]
2|[(11,12),(13,14)] | 2|[(11,12),(13,14)]
2|((11,12),(13,14)) | 2|((11,12),(13,14))
(8 rows) (8 rows)
QUERY: SELECT path(f1) FROM POLYGON_TBL; QUERY: SELECT '' AS four, path(f1) FROM POLYGON_TBL;
path four|path
------------------- ----+-------------------
((2,0),(2,4),(0,0)) |((2,0),(2,4),(0,0))
((3,1),(3,3),(1,0)) |((3,1),(3,3),(1,0))
((0,0)) |((0,0))
((0,1),(0,1)) |((0,1),(0,1))
(4 rows) (4 rows)
QUERY: SELECT '' AS eight, p1.f1 + '(10,10)'::point AS dist_add QUERY: SELECT '' AS eight, p1.f1 + '(10,10)'::point AS dist_add
FROM PATH_TBL p1; FROM PATH_TBL p1;
eight|dist_add eight|dist_add
-----+--------------------------------- -----+---------------------------------
|[(11,12),(13,14)] |[(11,12),(13,14)]
...@@ -87,7 +293,7 @@ eight|dist_add ...@@ -87,7 +293,7 @@ eight|dist_add
(8 rows) (8 rows)
QUERY: SELECT '' AS eight, p1.f1 * '(2,-1)'::point AS dist_mul QUERY: SELECT '' AS eight, p1.f1 * '(2,-1)'::point AS dist_mul
FROM PATH_TBL p1; FROM PATH_TBL p1;
eight|dist_mul eight|dist_mul
-----+---------------------------- -----+----------------------------
|[(4,3),(10,5)] |[(4,3),(10,5)]
...@@ -101,79 +307,166 @@ eight|dist_mul ...@@ -101,79 +307,166 @@ eight|dist_mul
(8 rows) (8 rows)
QUERY: RESET geqo; QUERY: RESET geqo;
QUERY: SELECT points(f1) AS npoints, f1 AS polygon FROM POLYGON_TBL; QUERY: SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains
npoints|polygon FROM POLYGON_TBL poly, POINT_TBL p;
-------+------------------- twentyfour|f1 |f1 |contains
3|((2,0),(2,4),(0,0)) ----------+----------+-------------------+--------
3|((3,1),(3,3),(1,0)) |(0,0) |((2,0),(2,4),(0,0))|t
1|((0,0)) |(-10,0) |((2,0),(2,4),(0,0))|f
2|((0,1),(0,1)) |(-3,4) |((2,0),(2,4),(0,0))|f
|(5.1,34.5)|((2,0),(2,4),(0,0))|f
|(-5,-12) |((2,0),(2,4),(0,0))|f
|(10,10) |((2,0),(2,4),(0,0))|f
|(0,0) |((3,1),(3,3),(1,0))|f
|(-10,0) |((3,1),(3,3),(1,0))|f
|(-3,4) |((3,1),(3,3),(1,0))|f
|(5.1,34.5)|((3,1),(3,3),(1,0))|f
|(-5,-12) |((3,1),(3,3),(1,0))|f
|(10,10) |((3,1),(3,3),(1,0))|f
|(0,0) |((0,0)) |t
|(-10,0) |((0,0)) |f
|(-3,4) |((0,0)) |f
|(5.1,34.5)|((0,0)) |f
|(-5,-12) |((0,0)) |f
|(10,10) |((0,0)) |f
|(0,0) |((0,1),(0,1)) |f
|(-10,0) |((0,1),(0,1)) |f
|(-3,4) |((0,1),(0,1)) |f
|(5.1,34.5)|((0,1),(0,1)) |f
|(-5,-12) |((0,1),(0,1)) |f
|(10,10) |((0,1),(0,1)) |f
(24 rows)
QUERY: SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained
FROM POLYGON_TBL poly, POINT_TBL p;
twentyfour|f1 |f1 |contained
----------+----------+-------------------+---------
|(0,0) |((2,0),(2,4),(0,0))|t
|(-10,0) |((2,0),(2,4),(0,0))|f
|(-3,4) |((2,0),(2,4),(0,0))|f
|(5.1,34.5)|((2,0),(2,4),(0,0))|f
|(-5,-12) |((2,0),(2,4),(0,0))|f
|(10,10) |((2,0),(2,4),(0,0))|f
|(0,0) |((3,1),(3,3),(1,0))|f
|(-10,0) |((3,1),(3,3),(1,0))|f
|(-3,4) |((3,1),(3,3),(1,0))|f
|(5.1,34.5)|((3,1),(3,3),(1,0))|f
|(-5,-12) |((3,1),(3,3),(1,0))|f
|(10,10) |((3,1),(3,3),(1,0))|f
|(0,0) |((0,0)) |t
|(-10,0) |((0,0)) |f
|(-3,4) |((0,0)) |f
|(5.1,34.5)|((0,0)) |f
|(-5,-12) |((0,0)) |f
|(10,10) |((0,0)) |f
|(0,0) |((0,1),(0,1)) |f
|(-10,0) |((0,1),(0,1)) |f
|(-3,4) |((0,1),(0,1)) |f
|(5.1,34.5)|((0,1),(0,1)) |f
|(-5,-12) |((0,1),(0,1)) |f
|(10,10) |((0,1),(0,1)) |f
(24 rows)
QUERY: SELECT '' AS four, points(f1) AS npoints, f1 AS polygon
FROM POLYGON_TBL;
four|npoints|polygon
----+-------+-------------------
| 3|((2,0),(2,4),(0,0))
| 3|((3,1),(3,3),(1,0))
| 1|((0,0))
| 2|((0,1),(0,1))
(4 rows) (4 rows)
QUERY: SELECT polygon(f1) FROM BOX_TBL; QUERY: SELECT '' AS four, polygon(f1)
polygon FROM BOX_TBL;
----------------------------------------- four|polygon
((0,0),(0,2),(2,2),(2,0)) ----+-----------------------------------------
((1,1),(1,3),(3,3),(3,1)) |((0,0),(0,2),(2,2),(2,0))
((2.5,2.5),(2.5,3.5),(2.5,3.5),(2.5,2.5)) |((1,1),(1,3),(3,3),(3,1))
((3,3),(3,3),(3,3),(3,3)) |((2.5,2.5),(2.5,3.5),(2.5,3.5),(2.5,2.5))
|((3,3),(3,3),(3,3),(3,3))
(4 rows) (4 rows)
QUERY: SELECT polygon(f1) FROM PATH_TBL WHERE isclosed(f1); QUERY: SELECT '' AS four, polygon(f1)
polygon FROM PATH_TBL WHERE isclosed(f1);
----------------- four|polygon
((1,2),(3,4)) ----+-----------------
((1,2),(3,4)) |((1,2),(3,4))
((1,2),(3,4)) |((1,2),(3,4))
((11,12),(13,14)) |((1,2),(3,4))
|((11,12),(13,14))
(4 rows) (4 rows)
QUERY: SELECT f1 AS open_path, polygon( pclose(f1)) AS polygon FROM PATH_TBL WHERE isopen(f1); QUERY: SELECT '' AS four, f1 AS open_path, polygon( pclose(f1)) AS polygon
open_path |polygon FROM PATH_TBL
-------------------------+------------------------- WHERE isopen(f1);
[(1,2),(3,4)] |((1,2),(3,4)) four|open_path |polygon
[(0,0),(3,0),(4,5),(1,6)]|((0,0),(3,0),(4,5),(1,6)) ----+-------------------------+-------------------------
[(1,2),(3,4)] |((1,2),(3,4)) |[(1,2),(3,4)] |((1,2),(3,4))
[(11,12),(13,14)] |((11,12),(13,14)) |[(0,0),(3,0),(4,5),(1,6)]|((0,0),(3,0),(4,5),(1,6))
|[(1,2),(3,4)] |((1,2),(3,4))
|[(11,12),(13,14)] |((11,12),(13,14))
(4 rows) (4 rows)
QUERY: SELECT polygon(f1) FROM CIRCLE_TBL; QUERY: SELECT '' AS six, polygon(f1)
polygon FROM CIRCLE_TBL;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ six|polygon
((-3,0),(-2.59807621135332,1.5),(-1.5,2.59807621135332),(-1.83690953073357e-16,3),(1.5,2.59807621135332),(2.59807621135332,1.5),(3,3.67381906146713e-16),(2.59807621135332,-1.5),(1.5,-2.59807621135332),(5.5107285922007e-16,-3),(-1.5,-2.59807621135332),(-2.59807621135332,-1.5)) ---+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
((-99,2),(-85.6025403784439,52),(-49,88.6025403784439),(0.999999999999994,102),(51,88.6025403784439),(87.6025403784439,52),(101,2.00000000000001),(87.6025403784439,-48),(51,-84.6025403784438),(1.00000000000002,-98),(-49,-84.6025403784439),(-85.6025403784438,-48)) |((-3,0),(-2.59807621135332,1.5),(-1.5,2.59807621135332),(-1.83690953073357e-16,3),(1.5,2.59807621135332),(2.59807621135332,1.5),(3,3.67381906146713e-16),(2.59807621135332,-1.5),(1.5,-2.59807621135332),(5.5107285922007e-16,-3),(-1.5,-2.59807621135332),(-2.59807621135332,-1.5))
((-4,3),(-3.33012701892219,5.5),(-1.5,7.33012701892219),(1,8),(3.5,7.33012701892219),(5.33012701892219,5.5),(6,3),(5.33012701892219,0.500000000000001),(3.5,-1.33012701892219),(1,-2),(-1.5,-1.33012701892219),(-3.33012701892219,0.499999999999998)) |((-99,2),(-85.6025403784439,52),(-49,88.6025403784439),(0.999999999999994,102),(51,88.6025403784439),(87.6025403784439,52),(101,2.00000000000001),(87.6025403784439,-48),(51,-84.6025403784438),(1.00000000000002,-98),(-49,-84.6025403784439),(-85.6025403784438,-48))
((-2,2),(-1.59807621135332,3.5),(-0.5,4.59807621135332),(1,5),(2.5,4.59807621135332),(3.59807621135332,3.5),(4,2),(3.59807621135332,0.500000000000001),(2.5,-0.598076211353315),(1,-1),(-0.5,-0.598076211353316),(-1.59807621135332,0.499999999999999)) |((-4,3),(-3.33012701892219,5.5),(-1.5,7.33012701892219),(1,8),(3.5,7.33012701892219),(5.33012701892219,5.5),(6,3),(5.33012701892219,0.500000000000001),(3.5,-1.33012701892219),(1,-2),(-1.5,-1.33012701892219),(-3.33012701892219,0.499999999999998))
((90,200),(91.3397459621556,205),(95,208.660254037844),(100,210),(105,208.660254037844),(108.660254037844,205),(110,200),(108.660254037844,195),(105,191.339745962156),(100,190),(95,191.339745962156),(91.3397459621556,195)) |((-2,2),(-1.59807621135332,3.5),(-0.5,4.59807621135332),(1,5),(2.5,4.59807621135332),(3.59807621135332,3.5),(4,2),(3.59807621135332,0.500000000000001),(2.5,-0.598076211353315),(1,-1),(-0.5,-0.598076211353316),(-1.59807621135332,0.499999999999999))
((0,0),(13.3974596215561,50),(50,86.6025403784439),(100,100),(150,86.6025403784439),(186.602540378444,50),(200,1.22460635382238e-14),(186.602540378444,-50),(150,-86.6025403784438),(100,-100),(50,-86.6025403784439),(13.3974596215562,-50)) |((90,200),(91.3397459621556,205),(95,208.660254037844),(100,210),(105,208.660254037844),(108.660254037844,205),(110,200),(108.660254037844,195),(105,191.339745962156),(100,190),(95,191.339745962156),(91.3397459621556,195))
|((0,0),(13.3974596215561,50),(50,86.6025403784439),(100,100),(150,86.6025403784439),(186.602540378444,50),(200,1.22460635382238e-14),(186.602540378444,-50),(150,-86.6025403784438),(100,-100),(50,-86.6025403784439),(13.3974596215562,-50))
(6 rows) (6 rows)
QUERY: SELECT polygon(8, f1) FROM CIRCLE_TBL; QUERY: SELECT '' AS six, polygon(8, f1)
polygon FROM CIRCLE_TBL;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- six|polygon
((-3,0),(-2.12132034355964,2.12132034355964),(-1.83690953073357e-16,3),(2.12132034355964,2.12132034355964),(3,3.67381906146713e-16),(2.12132034355964,-2.12132034355964),(5.5107285922007e-16,-3),(-2.12132034355964,-2.12132034355964)) ---+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
((-99,2),(-69.7106781186548,72.7106781186548),(0.999999999999994,102),(71.7106781186547,72.7106781186548),(101,2.00000000000001),(71.7106781186548,-68.7106781186547),(1.00000000000002,-98),(-69.7106781186547,-68.7106781186548)) |((-3,0),(-2.12132034355964,2.12132034355964),(-1.83690953073357e-16,3),(2.12132034355964,2.12132034355964),(3,3.67381906146713e-16),(2.12132034355964,-2.12132034355964),(5.5107285922007e-16,-3),(-2.12132034355964,-2.12132034355964))
((-4,3),(-2.53553390593274,6.53553390593274),(1,8),(4.53553390593274,6.53553390593274),(6,3),(4.53553390593274,-0.535533905932737),(1,-2),(-2.53553390593274,-0.535533905932738)) |((-99,2),(-69.7106781186548,72.7106781186548),(0.999999999999994,102),(71.7106781186547,72.7106781186548),(101,2.00000000000001),(71.7106781186548,-68.7106781186547),(1.00000000000002,-98),(-69.7106781186547,-68.7106781186548))
((-2,2),(-1.12132034355964,4.12132034355964),(1,5),(3.12132034355964,4.12132034355964),(4,2),(3.12132034355964,-0.121320343559642),(1,-1),(-1.12132034355964,-0.121320343559643)) |((-4,3),(-2.53553390593274,6.53553390593274),(1,8),(4.53553390593274,6.53553390593274),(6,3),(4.53553390593274,-0.535533905932737),(1,-2),(-2.53553390593274,-0.535533905932738))
((90,200),(92.9289321881345,207.071067811865),(100,210),(107.071067811865,207.071067811865),(110,200),(107.071067811865,192.928932188135),(100,190),(92.9289321881345,192.928932188135)) |((-2,2),(-1.12132034355964,4.12132034355964),(1,5),(3.12132034355964,4.12132034355964),(4,2),(3.12132034355964,-0.121320343559642),(1,-1),(-1.12132034355964,-0.121320343559643))
((0,0),(29.2893218813452,70.7106781186548),(100,100),(170.710678118655,70.7106781186548),(200,1.22460635382238e-14),(170.710678118655,-70.7106781186547),(100,-100),(29.2893218813453,-70.7106781186548)) |((90,200),(92.9289321881345,207.071067811865),(100,210),(107.071067811865,207.071067811865),(110,200),(107.071067811865,192.928932188135),(100,190),(92.9289321881345,192.928932188135))
|((0,0),(29.2893218813452,70.7106781186548),(100,100),(170.710678118655,70.7106781186548),(200,1.22460635382238e-14),(170.710678118655,-70.7106781186547),(100,-100),(29.2893218813453,-70.7106781186548))
(6 rows) (6 rows)
QUERY: SELECT circle( f1, 50.0) FROM POINT_TBL; QUERY: SELECT '' AS six, circle(f1, 50.0)
circle FROM POINT_TBL;
--------------- six|circle
<(0,0),50> ---+---------------
<(-10,0),50> |<(0,0),50>
<(-3,4),50> |<(-10,0),50>
<(5.1,34.5),50> |<(-3,4),50>
<(-5,-12),50> |<(5.1,34.5),50>
<(10,10),50> |<(-5,-12),50>
|<(10,10),50>
(6 rows) (6 rows)
QUERY: SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <===> c1.f1) AS distance QUERY: SELECT '' AS four, circle(f1)
from CIRCLE_TBL c1, POINT_TBL p1 FROM BOX_TBL;
WHERE (p1.f1 <===> c1.f1) > 0 four|circle
ORDER BY distance, circle; ----+-----------------------
|<(1,1),1.4142135623731>
|<(2,2),1.4142135623731>
|<(2.5,3),0.5>
|<(3,3),0>
(4 rows)
QUERY: SELECT '' AS two, circle(f1)
FROM POLYGON_TBL
WHERE (# f1) >= 3;
two|circle
---+------------------------------------------------------
|<(1.33333333333333,1.33333333333333),2.04168905063636>
|<(2.33333333333333,1.33333333333333),1.47534300379185>
(2 rows)
QUERY: SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance
FROM CIRCLE_TBL c1, POINT_TBL p1
WHERE (p1.f1 <-> c1.f1) > 0
ORDER BY distance, circle;
twentyfour|circle |point | distance twentyfour|circle |point | distance
----------+--------------+----------+----------------- ----------+--------------+----------+-----------------
|<(100,0),100> |(5.1,34.5)|0.976531926977964 |<(100,0),100> |(5.1,34.5)|0.976531926977964
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment