File: contains_ops.sql

package info (click to toggle)
pgsphere 1.1.1%2B2020-10-20-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,700 kB
  • sloc: ansic: 12,032; sql: 6,091; cpp: 853; makefile: 216; perl: 168; yacc: 145; xml: 66; lex: 55; sh: 1
file content (158 lines) | stat: -rw-r--r-- 14,432 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158

-- scircle vs spoint
select 'scircle @> spoint', 't' as expected, scircle(spoint(1.0,1.0),0.1) @> spoint(1.0,1.0) as actual;
select 'scircle @> spoint', 'f' as expected, scircle(spoint(1.0,1.0),0.1) @> spoint(2.0,2.0) as actual;

select 'spoint <@ scircle', 't' as expected, spoint(1.0,1.0) <@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'spoint <@ scircle', 'f' as expected, spoint(2.0,2.0) <@ scircle(spoint(1.0,1.0),0.1) as actual;

select 'scircle !@> spoint', 'f' as expected, scircle(spoint(1.0,1.0),0.1) !@> spoint(1.0,1.0) as actual;
select 'scircle !@> spoint', 't' as expected, scircle(spoint(1.0,1.0),0.1) !@> spoint(2.0,2.0) as actual;

select 'spoint !<@ scircle', 'f' as expected, spoint(1.0,1.0) !<@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'spoint !<@ scircle', 't' as expected, spoint(2.0,2.0) !<@ scircle(spoint(1.0,1.0),0.1) as actual;

-- sbox vs spoint
select 'sbox @> spoint', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) @> spoint(1.1,1.1) as actual;
select 'sbox @> spoint', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) @> spoint(2.0,2.0) as actual;

select 'spoint <@ sbox', 't' as expected, spoint(1.1,1.1) <@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'spoint <@ sbox', 'f' as expected, spoint(2.0,2.0) <@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;

select 'sbox !@> spoint', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !@> spoint(1.1,1.1) as actual;
select 'sbox !@> spoint', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !@> spoint(2.0,2.0) as actual;

select 'spoint !<@ sbox', 'f' as expected, spoint(1.1,1.1) !<@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'spoint !<@ sbox', 't' as expected, spoint(2.0,2.0) !<@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;

-- spoly vs spoint
select 'spoly @> spoint', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly @> spoint(1.1,1.1) as actual;
select 'spoly @> spoint', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly @> spoint(2.0,2.0) as actual;

select 'spoint <@ spoly', 't' as expected, spoint(1.1,1.1) <@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'spoint <@ spoly', 'f' as expected, spoint(2.0,2.0) <@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;

select 'spoly !@> spoint', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !@> spoint(1.1,1.1) as actual;
select 'spoly !@> spoint', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !@> spoint(2.0,2.0) as actual;

select 'spoint !<@ spoly', 'f' as expected, spoint(1.1,1.1) !<@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'spoint !<@ spoly', 't' as expected, spoint(2.0,2.0) !<@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;

-- scircle vs scircle
select 'scircle @> scircle', 't' as expected, scircle(spoint(1.0,1.0),0.1) @> scircle(spoint(1.0,1.0),0.05) as actual;
select 'scircle @> scircle', 'f' as expected, scircle(spoint(1.0,1.0),0.1) @> scircle(spoint(2.0,2.0),0.05) as actual;
select 'scircle @> scircle', 'f' as expected, scircle(spoint(1.0,1.0),0.1) @> scircle(spoint(1.0,1.0),0.2) as actual;

select 'scircle <@ scircle', 't' as expected, scircle(spoint(1.0,1.0),0.05) <@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'scircle <@ scircle', 'f' as expected, scircle(spoint(2.0,2.0),0.05) <@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'scircle <@ scircle', 'f' as expected, scircle(spoint(1.0,1.0),0.2) <@ scircle(spoint(1.0,1.0),0.1) as actual;

select 'scircle !@> scircle', 'f' as expected, scircle(spoint(1.0,1.0),0.1) !@> scircle(spoint(1.0,1.0),0.05) as actual;
select 'scircle !@> scircle', 't' as expected, scircle(spoint(1.0,1.0),0.1) !@> scircle(spoint(2.0,2.0),0.05) as actual;
select 'scircle !@> scircle', 't' as expected, scircle(spoint(1.0,1.0),0.1) !@> scircle(spoint(1.0,1.0),0.2) as actual;

select 'scircle !<@ scircle', 'f' as expected, scircle(spoint(1.0,1.0),0.05) !<@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'scircle !<@ scircle', 't' as expected, scircle(spoint(2.0,2.0),0.05) !<@ scircle(spoint(1.0,1.0),0.1) as actual;
select 'scircle !<@ scircle', 't' as expected, scircle(spoint(1.0,1.0),0.2) !<@ scircle(spoint(1.0,1.0),0.1) as actual;

-- sbox vs scircle
select 'sbox @> scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) @> scircle(spoint(1.1,1.1),0.01) as actual;
select 'sbox @> scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) @> scircle(spoint(2.0,2.0),0.01) as actual;
select 'sbox @> scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) @> scircle(spoint(1.1,1.1),0.2) as actual;

select 'scircle <@ sbox', 't' as expected, scircle(spoint(1.1,1.1),0.01) <@  sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle <@ sbox', 'f' as expected, scircle(spoint(2.0,2.0),0.01) <@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle <@ sbox', 'f' as expected, scircle(spoint(1.1,1.1),0.2) <@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;

select 'sbox !@> scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !@> scircle(spoint(1.1,1.1),0.01) as actual;
select 'sbox !@> scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !@> scircle(spoint(2.0,2.0),0.01) as actual;
select 'sbox !@> scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !@> scircle(spoint(1.1,1.1),0.2) as actual;

select 'scircle !<@ sbox', 'f' as expected, scircle(spoint(1.1,1.1),0.01) !<@  sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle !<@ sbox', 't' as expected, scircle(spoint(2.0,2.0),0.01) !<@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle !<@ sbox', 't' as expected, scircle(spoint(1.1,1.1),0.2) !<@ sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
--
select 'scircle @> sbox', 't' as expected, scircle(spoint(1.1,1.1),0.2) @>  sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle @> sbox', 'f' as expected, scircle(spoint(2.0,2.0),0.2) @> sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle @> sbox', 'f' as expected, scircle(spoint(1.1,1.1),0.01) @> sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;

select 'sbox <@ scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) <@ scircle(spoint(1.1,1.1),0.2) as actual;
select 'sbox <@ scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) <@ scircle(spoint(2.0,2.0),0.2) as actual;
select 'sbox <@ scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) <@ scircle(spoint(1.1,1.1),0.01) as actual;

select 'scircle !@> sbox', 'f' as expected, scircle(spoint(1.1,1.1),0.2) !@>  sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle !@> sbox', 't' as expected, scircle(spoint(2.0,2.0),0.2) !@> sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;
select 'scircle !@> sbox', 't' as expected, scircle(spoint(1.1,1.1),0.01) !@> sbox(spoint(1.0,1.0),spoint(1.2,1.2)) as actual;

select 'sbox !<@ scircle', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !<@ scircle(spoint(1.1,1.1),0.2) as actual;
select 'sbox !<@ scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !<@ scircle(spoint(2.0,2.0),0.2) as actual;
select 'sbox !<@ scircle', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.2,1.2)) !<@ scircle(spoint(1.1,1.1),0.01) as actual;

-- spoly vs scircle
select 'spoly @> scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly @> scircle(spoint(1.1,1.1),0.01) as actual;
select 'spoly @> scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly @> scircle(spoint(2.0,2.0),0.2) as actual;
select 'spoly @> scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly @> scircle(spoint(1.1,1.1),0.2) as actual;

select 'scircle <@ spoly', 't' as expected, scircle(spoint(1.1,1.1),0.01) <@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle <@ spoly', 'f' as expected, scircle(spoint(2.0,2.0),0.01) <@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle <@ spoly', 'f' as expected, scircle(spoint(1.1,1.1),0.2) <@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;

select 'spoly !@> scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !@> scircle(spoint(1.1,1.1),0.01) as actual;
select 'spoly !@> scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !@> scircle(spoint(2.0,2.0),0.2) as actual;
select 'spoly !@> scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !@> scircle(spoint(1.1,1.1),0.2) as actual;

select 'scircle !<@ spoly', 'f' as expected, scircle(spoint(1.1,1.1),0.01) !<@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle !<@ spoly', 't' as expected, scircle(spoint(2.0,2.0),0.01) !<@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle !<@ spoly', 't' as expected, scircle(spoint(1.1,1.1),0.2) !<@ '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
--
select 'scircle @> spoly', 't' as expected, scircle(spoint(1.1,1.1),0.5) @> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle @> spoly', 'f' as expected, scircle(spoint(2.0,2.0),0.5) @> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle @> spoly', 'f' as expected, scircle(spoint(1.1,1.1),0.05) @> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;

select 'spoly <@ scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly <@ scircle(spoint(1.1,1.1),0.5) as actual;
select 'spoly <@ scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly <@ scircle(spoint(2.0,2.0),0.5) as actual;
select 'spoly <@ scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly <@ scircle(spoint(1.1,1.1),0.05) as actual;

select 'scircle !@> spoly', 'f' as expected, scircle(spoint(1.1,1.1),0.5) !@> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle !@> spoly', 't' as expected, scircle(spoint(2.0,2.0),0.5) !@> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;
select 'scircle !@> spoly', 't' as expected, scircle(spoint(1.1,1.1),0.05) !@> '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly as actual;

select 'spoly !<@ scircle', 'f' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !<@ scircle(spoint(1.1,1.1),0.5) as actual;
select 'spoly !<@ scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !<@ scircle(spoint(2.0,2.0),0.5) as actual;
select 'spoly !<@ scircle', 't' as expected, '{(1.0,1.0),(1.2,1.0),(1.2,1.2),(1.0,1.2)}'::spoly !<@ scircle(spoint(1.1,1.1),0.05) as actual;


-- sbox vs spoly
select 'sbox @> spoly', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) @> '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'sbox @> spoly', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) @> '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly as actual;
select 'sbox @> spoly', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) @> '{(0.9 , 0.9),(1.1 , 0.9),(1.1 , 1.1),(0.9 , 1.1)}'::spoly as actual;

select 'spoly <@ sbox', 't' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly <@ sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;
select 'spoly <@ sbox', 'f' as expected, '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly <@  sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;
select 'spoly <@ sbox', 'f' as expected, '{(0.9 , 0.9),(1.1 , 0.9),(1.1 , 1.1),(0.9 , 1.1)}'::spoly <@ sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;

select 'sbox !@> spoly', 'f' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) !@> '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'sbox !@> spoly', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) !@> '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly as actual;
select 'sbox !@> spoly', 't' as expected, sbox(spoint(1.0,1.0),spoint(1.5,1.5)) !@> '{(0.9,0.9),(1.1,0.9),(1.1,1.1),(0.9,1.1)}'::spoly as actual;

select 'spoly !<@ sbox', 'f' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly !<@ sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;
select 'spoly !<@ sbox', 't' as expected, '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly !<@  sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;
select 'spoly !<@ sbox', 't' as expected, '{(0.9 , 0.9),(1.1 , 0.9),(1.1 , 1.1),(0.9 , 1.1)}'::spoly !<@ sbox(spoint(1.0,1.0),spoint(1.5,1.5)) as actual;


-- spoly vs spoly
select 'spoly @> spoly', 't' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly @> '{(1.11,1.11),(1.19,1.11),(1.19,1.19),(1.11,1.19)}'::spoly as actual;
select 'spoly @> spoly', 'f' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly @> '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly as actual;
select 'spoly @> spoly', 'f' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly @> '{(0.9,0.9),(1.2,0.9),(1.2,1.2),(0.9,1.2)}'::spoly as actual;

select 'spoly <@ spoly', 't' as expected, '{(1.11,1.11),(1.19,1.11),(1.19,1.19),(1.11,1.19)}'::spoly <@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'spoly <@ spoly', 'f' as expected, '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly <@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'spoly <@ spoly', 'f' as expected, '{(0.9,0.9),(1.2,0.9),(1.2,1.2),(0.9,1.2)}'::spoly <@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;

select 'spoly !@> spoly', 'f' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly !@> '{(1.11,1.11),(1.19,1.11),(1.19,1.19),(1.11,1.19)}'::spoly as actual;
select 'spoly !@> spoly', 't' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly !@> '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly as actual;
select 'spoly !@> spoly', 't' as expected, '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly !@> '{(0.9,0.9),(1.2,0.9),(1.2,1.2),(0.9,1.2)}'::spoly as actual;

select 'spoly !<@ spoly', 'f' as expected, '{(1.11,1.11),(1.19,1.11),(1.19,1.19),(1.11,1.19)}'::spoly !<@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'spoly !<@ spoly', 't' as expected, '{(2.1,2.1),(2.2,1.1),(2.2,1.2),(2.1,1.2)}'::spoly !<@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;
select 'spoly !<@ spoly', 't' as expected, '{(0.9,0.9),(1.2,0.9),(1.2,1.2),(0.9,1.2)}'::spoly !<@ '{(1.1,1.1),(1.2,1.1),(1.2,1.2),(1.1,1.2)}'::spoly as actual;