1SELECT set_sphere_output('DEG');
2 set_sphere_output
3-------------------
4 SET DEG
5(1 row)
6
7
8SELECT spoly {(10d,0d),(10d,1d),(15d,0d)} ;
9               spoly
10------------------------------------
11 {(10d , 0d),(10d , 1d),(15d , 0d)}
12(1 row)
13
14SELECT spoly {(359d,0d),(359d,1d),(4d,0d)} ;
15                spoly
16-------------------------------------
17 {(359d , 0d),(359d , 1d),(4d , 0d)}
18(1 row)
19
20SELECT spoly {(10d,0d),(10d,1d),(15d,0d)} ;
21               spoly
22------------------------------------
23 {(10d , 0d),(10d , 1d),(15d , 0d)}
24(1 row)
25
26
27-- incorrect input -----
28SELECT spoly {(10d,0d),(10d,1d)} ;
29
30--- self-crossing input -----
31SELECT spoly {(0d,0d),(10d,10d),(0d,10d),(10d,0d)} ;
32
33--- functions
34SELECT npoints( spoly {(10d,0d),(10d,1d),(15d,0d)} );
35 npoints
36---------
37       3
38(1 row)
39
40SELECT npoints( spoly {(10d,0d),(10d,1d),(15d,0d),(5d,-5d)} );
41 npoints
42---------
43       4
44(1 row)
45
46--SELECT npoints( spoly {(0d,0d),(0d,90d),(15d,90d),(15d,0d)} );
47
48SELECT area(spoly {(0d,0d),(0d,90d),(1,0d)} );
49 area
50------
51    1
52(1 row)
53
54SELECT area(spoly {(0d,0d),(0d,90d),(90d,0d)} )/(4.0*pi());
55 ?column?
56----------
57    0.125
58(1 row)
59
60
61--- operations
62--- = operator
63--- should be true
64SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(1d,1d),(2d,1d),(1d,0d)} ;
65 ?column?
66----------
67 t
68(1 row)
69
70SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(2d,1d),(1d,1d),(1d,0d)} ;
71 ?column?
72----------
73 f
74(1 row)
75
76SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(1d,0d),(0d,0d),(0d,1d),(1d,1d)} ;
77 ?column?
78----------
79 t
80(1 row)
81
82SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(0d,0d),(1d,0d),(1d,1d),(0d,1d)} ;
83 ?column?
84----------
85 f
86(1 row)
87
88--- should be false
89SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} = spoly {(1d,1d),(3d,1d),(1d,0d)} ;
90 ?column?
91----------
92 f
93(1 row)
94
95SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} = spoly {(1d,0d),(0d,0d),(0d,1d),(2d,2d)} ;
96 ?column?
97----------
98 f
99(1 row)
100
101
102--- <> operator
103--- should be false
104SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(1d,1d),(2d,1d),(1d,0d)} ;
105 ?column?
106----------
107 f
108(1 row)
109
110SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(2d,1d),(1d,1d),(1d,0d)} ;
111 ?column?
112----------
113 t
114(1 row)
115
116SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(1d,0d),(0d,0d),(0d,1d),(1d,1d)} ;
117 ?column?
118----------
119 f
120(1 row)
121
122SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(0d,0d),(1d,0d),(1d,1d),(0d,1d)} ;
123 ?column?
124----------
125 t
126(1 row)
127
128--- should be true
129SELECT spoly {(1d,0d),(1d,1d),(2d,1d)} <> spoly {(1d,1d),(3d,1d),(1d,0d)} ;
130 ?column?
131----------
132 t
133(1 row)
134
135SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} <> spoly {(1d,0d),(0d,0d),(0d,1d),(2d,2d)} ;
136 ?column?
137----------
138 t
139(1 row)
140
141
142--- spoint @ spoly
143--- should be true
144SELECT (0.5d,0.5d)  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
145 ?column?
146----------
147 t
148(1 row)
149
150SELECT (0d,0.5d)  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
151 ?column?
152----------
153 t
154(1 row)
155
156SELECT (0d,0d)  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
157 ?column?
158----------
159 t
160(1 row)
161
162SELECT (0.5d,0.5d)  @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
163 ?column?
164----------
165 t
166(1 row)
167
168SELECT (0d,89.9d)  @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
169 ?column?
170----------
171 t
172(1 row)
173
174SELECT (0d,90d)  @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
175 ?column?
176----------
177 t
178(1 row)
179
180SELECT (0d,-89.9d)  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
181 ?column?
182----------
183 t
184(1 row)
185
186SELECT (0d,-90d)  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
187 ?column?
188----------
189 t
190(1 row)
191
192
193--- should be false
194SELECT (0.1d,0.5d)  @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
195 ?column?
196----------
197 f
198(1 row)
199
200SELECT (45d,-89d)  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
201 ?column?
202----------
203 f
204(1 row)
205
206SELECT (0d,1d)  @ spoly {(0d,0d),(1d,1d),(1d,0d)} ;
207 ?column?
208----------
209 f
210(1 row)
211
212
213--- spoly ~ spoint
214--- should be true
215SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.5d,0.5d)
216 ?column?
217----------
218 t
219(1 row)
220
221SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0d,0.5d)
222 ?column?
223----------
224 t
225(1 row)
226
227SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ (0d,0d)
228 ?column?
229----------
230 t
231(1 row)
232
233SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.5d,0.5d)
234 ?column?
235----------
236 t
237(1 row)
238
239SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ (0d,89.9d)
240 ?column?
241----------
242 t
243(1 row)
244
245SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ (0d,90d)
246 ?column?
247----------
248 t
249(1 row)
250
251SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (0d,-89.9d)
252 ?column?
253----------
254 t
255(1 row)
256
257SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (0d,-90d)
258 ?column?
259----------
260 t
261(1 row)
262
263
264--- should be false
265SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ (0.1d,0.5d)
266 ?column?
267----------
268 f
269(1 row)
270
271SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ (45d,-89d)
272 ?column?
273----------
274 f
275(1 row)
276
277SELECT spoly {(0d,0d),(1d,1d),(1d,0d)} ~ (0d,1d)
278 ?column?
279----------
280 f
281(1 row)
282
283
284--- scircle @ spoly
285--- should be true
286SELECT <(0.5d,0.5d),0.1d>  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
287 ?column?
288----------
289 t
290(1 row)
291
292SELECT <(0d,89.9d),0.1d>  @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
293 ?column?
294----------
295 t
296(1 row)
297
298SELECT <(0d,90d),0.1d>  @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
299 ?column?
300----------
301 t
302(1 row)
303
304SELECT <(0d,-89.9d),0.1d>  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
305 ?column?
306----------
307 t
308(1 row)
309
310SELECT <(0d,-90d),0.1d>  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
311 ?column?
312----------
313 t
314(1 row)
315
316
317--- should be false
318SELECT <(0.1d,0.5d),0.1d>  @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
319 ?column?
320----------
321 f
322(1 row)
323
324SELECT <(45d,-89d),0.1d>  @ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
325 ?column?
326----------
327 f
328(1 row)
329
330SELECT <(0d,1d),0.1d>  @ spoly {(0d,0d),(1d,1d),(1d,0d)} ;
331 ?column?
332----------
333 f
334(1 row)
335
336SELECT <(0d,0.5d),0.1d>  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
337 ?column?
338----------
339 f
340(1 row)
341
342SELECT <(0d,0d),0.1d>  @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
343 ?column?
344----------
345 f
346(1 row)
347
348SELECT <(0.5d,0.5d),0.1d>  @ spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
349 ?column?
350----------
351 f
352(1 row)
353
354
355--- spoly ~ scircle
356--- should be true
357SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.5d,0.5d),0.1d>
358 ?column?
359----------
360 t
361(1 row)
362
363SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ <(0d,89.9d),0.1d>
364 ?column?
365----------
366 t
367(1 row)
368
369SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ <(0d,90d),0.1d>
370 ?column?
371----------
372 t
373(1 row)
374
375SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(0d,-89.9d),0.1d>
376 ?column?
377----------
378 t
379(1 row)
380
381SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(0d,-90d),0.1d>
382 ?column?
383----------
384 t
385(1 row)
386
387
388--- should be false
389SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.5d),0.1d>
390 ?column?
391----------
392 f
393(1 row)
394
395SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ~ <(45d,-89d),0.1d>
396 ?column?
397----------
398 f
399(1 row)
400
401SELECT spoly {(0d,0d),(1d,1d),(1d,0d)} ~ <(0d,1d),0.1d>
402 ?column?
403----------
404 f
405(1 row)
406
407SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0d,0.5d),0.1d>
408 ?column?
409----------
410 f
411(1 row)
412
413SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0d,0d),0.1d>
414 ?column?
415----------
416 f
417(1 row)
418
419SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.5d),0.1d>
420 ?column?
421----------
422 f
423(1 row)
424
425SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.1d,0.1d),0.1d>
426 ?column?
427----------
428 f
429(1 row)
430
431SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ~ <(0.6d,0.5d),0.1d>
432 ?column?
433----------
434 f
435(1 row)
436
437
438--- spoly @ scircle
439--- should be true
440SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ <(0d,0d),2.0d>
441 ?column?
442----------
443 t
444(1 row)
445
446SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(0d,0d),1.0d>
447 ?column?
448----------
449 t
450(1 row)
451
452SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} @ <(0d,90d),1.0d>
453 ?column?
454----------
455 t
456(1 row)
457
458SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} @ <(180d,-90d),1.0d>
459 ?column?
460----------
461 t
462(1 row)
463
464SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ <(0d,0d),1.0d>
465 ?column?
466----------
467 t
468(1 row)
469
470
471--- should be false
472SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ <(0d,0d),1.0d>
473 ?column?
474----------
475 f
476(1 row)
477
478SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(0d,0d),0.99d>
479 ?column?
480----------
481 f
482(1 row)
483
484SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} @ <(60d,0d),0.99d>
485 ?column?
486----------
487 f
488(1 row)
489
490SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,88d)} @ <(0d,90d),1.0d>
491 ?column?
492----------
493 f
494(1 row)
495
496SELECT spoly {(0d,-87d),(90d,-87d),(180d,-87d),(270d,-87d)} @ <(180d,-90d),1.0d>
497 ?column?
498----------
499 f
500(1 row)
501
502SELECT spoly {(0d,0d),(0d,1d),(2d,0d)} @ <(0d,0d),1.0d>
503 ?column?
504----------
505 f
506(1 row)
507
508
509--- scircle ~ spoly
510--- should be true
511SELECT <(0d,0d),2.0d>  ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
512 ?column?
513----------
514 t
515(1 row)
516
517SELECT <(0d,0d),1.0d>  ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ;
518 ?column?
519----------
520 t
521(1 row)
522
523SELECT <(0d,90d),1.0d>  ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
524 ?column?
525----------
526 t
527(1 row)
528
529SELECT <(180d,-90d),1.0d>  ~ spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
530 ?column?
531----------
532 t
533(1 row)
534
535SELECT <(0d,0d),1.0d>  ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ;
536 ?column?
537----------
538 t
539(1 row)
540
541
542--- should be false
543SELECT <(0d,0d),1.0d>  ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
544 ?column?
545----------
546 f
547(1 row)
548
549SELECT <(0d,0d),0.99d>  ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ;
550 ?column?
551----------
552 f
553(1 row)
554
555SELECT <(60d,0d),0.99d>  ~ spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ;
556 ?column?
557----------
558 f
559(1 row)
560
561SELECT <(0d,90d),1.0d>  ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,88d)} ;
562 ?column?
563----------
564 f
565(1 row)
566
567SELECT <(180d,-90d),1.0d>  ~ spoly {(0d,-87d),(90d,-87d),(180d,-87d),(270d,-87d)} ;
568 ?column?
569----------
570 f
571(1 row)
572
573SELECT <(0d,0d),1.0d>  ~ spoly {(0d,0d),(0d,1d),(2d,0d)} ;
574 ?column?
575----------
576 f
577(1 row)
578
579
580--- scircle && spoly
581--- should be true
582SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(0.5d,0.5d),0.1d>
583 ?column?
584----------
585 t
586(1 row)
587
588SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,89.9d),0.1d>
589 ?column?
590----------
591 t
592(1 row)
593
594SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,90d),0.1d>
595 ?column?
596----------
597 t
598(1 row)
599
600SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-89.9d),0.1d>
601 ?column?
602----------
603 t
604(1 row)
605
606SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-90d),0.1d>
607 ?column?
608----------
609 t
610(1 row)
611
612SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(0d,0d),2.0d>
613 ?column?
614----------
615 t
616(1 row)
617
618SELECT spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} && <(0d,0d),1.0d>
619 ?column?
620----------
621 t
622(1 row)
623
624SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,90d),1.0d>
625 ?column?
626----------
627 t
628(1 row)
629
630SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(180d,-90d),1.0d>
631 ?column?
632----------
633 t
634(1 row)
635
636SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && <(0d,0d),1.0d>
637 ?column?
638----------
639 t
640(1 row)
641
642SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && <(0d,2d),1.0d>
643 ?column?
644----------
645 t
646(1 row)
647
648SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && <(2d,0d),1.0d>
649 ?column?
650----------
651 t
652(1 row)
653
654SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} && <(0.5d,0.5d),0.1d>
655 ?column?
656----------
657 t
658(1 row)
659
660
661--- should be false
662SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && <(1.5d,0.5d),0.1d>
663 ?column?
664----------
665 f
666(1 row)
667
668SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && <(0d,88.0d),0.1d>
669 ?column?
670----------
671 f
672(1 row)
673
674SELECT spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} && <(0.3d,0.5d),0.1d>
675 ?column?
676----------
677 f
678(1 row)
679
680SELECT spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} && <(0d,-87d),0.1d>
681 ?column?
682----------
683 f
684(1 row)
685
686
687--- spoly && scircle
688--- should be true
689SELECT <(0.5d,0.5d),0.1d>  && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
690 ?column?
691----------
692 t
693(1 row)
694
695SELECT <(0d,89.9d),0.1d>  && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
696 ?column?
697----------
698 t
699(1 row)
700
701SELECT <(0d,90d),0.1d>  && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
702 ?column?
703----------
704 t
705(1 row)
706
707SELECT <(0d,-89.9d),0.1d>  && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
708 ?column?
709----------
710 t
711(1 row)
712
713SELECT <(0d,-90d),0.1d>  && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
714 ?column?
715----------
716 t
717(1 row)
718
719SELECT <(0d,0d),2.0d>  && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
720 ?column?
721----------
722 t
723(1 row)
724
725SELECT <(0d,0d),1.0d>  && spoly {(-1d,0d),(0d,1d),(1d,0d),(0d,-1d)} ;
726 ?column?
727----------
728 t
729(1 row)
730
731SELECT <(0d,90d),1.0d>  && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
732 ?column?
733----------
734 t
735(1 row)
736
737SELECT <(180d,-90d),1.0d>  && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
738 ?column?
739----------
740 t
741(1 row)
742
743SELECT <(0d,0d),1.0d>  && spoly {(0d,0d),(0d,1d),(1d,0d)} ;
744 ?column?
745----------
746 t
747(1 row)
748
749SELECT <(0d,2d),1.0d>  && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
750 ?column?
751----------
752 t
753(1 row)
754
755SELECT <(2d,0d),1.0d>  && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
756 ?column?
757----------
758 t
759(1 row)
760
761SELECT <(0.5d,0.5d),0.1d>  && spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
762 ?column?
763----------
764 t
765(1 row)
766
767
768--- should be false
769SELECT <(1.5d,0.5d),0.1d>  && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
770 ?column?
771----------
772 f
773(1 row)
774
775SELECT <(0d,88.0d),0.1d>  && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
776 ?column?
777----------
778 f
779(1 row)
780
781SELECT <(0.3d,0.5d),0.1d>  && spoly {(0d,0d),(0.5d,0.5d),(0d,1d),(1d,1d),(1d,0d)} ;
782 ?column?
783----------
784 f
785(1 row)
786
787SELECT <(0d,-87d),0.1d>  && spoly {(0d,-89d),(90d,-89d),(180d,-89d),(270d,-89d)} ;
788 ?column?
789----------
790 f
791(1 row)
792
793
794--- spoly @ spoly
795--- should be true
796SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
797 ?column?
798----------
799 t
800(1 row)
801
802SELECT spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
803 ?column?
804----------
805 t
806(1 row)
807
808SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
809 ?column?
810----------
811 t
812(1 row)
813
814SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
815 ?column?
816----------
817 t
818(1 row)
819
820SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} @ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
821 ?column?
822----------
823 t
824(1 row)
825
826SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
827 ?column?
828----------
829 t
830(1 row)
831
832SELECT spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
833 ?column?
834----------
835 t
836(1 row)
837
838
839--- should be false
840--SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
841SELECT spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
842 ?column?
843----------
844 f
845(1 row)
846
847SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} @ spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ;
848 ?column?
849----------
850 f
851(1 row)
852
853SELECT spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
854 ?column?
855----------
856 f
857(1 row)
858
859
860SELECT spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} @ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
861 ?column?
862----------
863 f
864(1 row)
865
866
867
868--- spoly ~ spoly
869--- should be true
870SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ;
871 ?column?
872----------
873 t
874(1 row)
875
876SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} ;
877 ?column?
878----------
879 t
880(1 row)
881
882SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ;
883 ?column?
884----------
885 t
886(1 row)
887
888SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ;
889 ?column?
890----------
891 t
892(1 row)
893
894SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ~ spoly {(0d,0d),(0d,1d),(1d,0d)} ;
895 ?column?
896----------
897 t
898(1 row)
899
900SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
901 ?column?
902----------
903 t
904(1 row)
905
906SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} ;
907 ?column?
908----------
909 t
910(1 row)
911
912
913--- should be false
914SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} ;
915 ?column?
916----------
917 f
918(1 row)
919
920SELECT spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ~ spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
921 ?column?
922----------
923 f
924(1 row)
925
926SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} ;
927 ?column?
928----------
929 f
930(1 row)
931
932
933SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ~ spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} ;
934 ?column?
935----------
936 f
937(1 row)
938
939
940
941--- spoly && spoly
942--- should be true
943SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
944 ?column?
945----------
946 t
947(1 row)
948
949SELECT spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
950 ?column?
951----------
952 t
953(1 row)
954
955SELECT spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
956 ?column?
957----------
958 t
959(1 row)
960
961SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} ;
962 ?column?
963----------
964 t
965(1 row)
966
967SELECT spoly {(0d,0d),(0d,1d),(1d,0d)} && spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} ;
968 ?column?
969----------
970 t
971(1 row)
972
973SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
974 ?column?
975----------
976 t
977(1 row)
978
979SELECT spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
980 ?column?
981----------
982 t
983(1 row)
984
985
986SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ;
987 ?column?
988----------
989 t
990(1 row)
991
992SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(-0.5d,-0.5d),(-0.5d,0.5d),(0.5d,0.5d),(0.5d,-0.5d)} ;
993 ?column?
994----------
995 t
996(1 row)
997
998SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,0.5d),(0.5d,0.5d),(0.5d,0d)} ;
999 ?column?
1000----------
1001 t
1002(1 row)
1003
1004SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(0d,0d),(0d,1d),(1d,0d)} ;
1005 ?column?
1006----------
1007 t
1008(1 row)
1009
1010SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && spoly {(0d,0d),(0d,1d),(1d,0d)} ;
1011 ?column?
1012----------
1013 t
1014(1 row)
1015
1016SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
1017 ?column?
1018----------
1019 t
1020(1 row)
1021
1022SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(45d,89.3d),(135d,89.3d),(225d,89.3d),(315d,89.3d)} ;
1023 ?column?
1024----------
1025 t
1026(1 row)
1027
1028
1029SELECT spoly {(45d,89.2d),(135d,89.2d),(225d,89.2d),(315d,89.2d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
1030 ?column?
1031----------
1032 t
1033(1 row)
1034
1035SELECT spoly {(0d,0d),(0d,1d),(1d,1d),(1d,0d)} && spoly {(0.5d,0.5d),(0.5d,1.5d),(1.5d,1.5d),(1.5d,0.5d)} ;
1036 ?column?
1037----------
1038 t
1039(1 row)
1040
1041SELECT spoly {(0d,88d),(90d,88d),(180d,88d),(270d,88d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
1042 ?column?
1043----------
1044 t
1045(1 row)
1046
1047
1048--- should be false
1049SELECT spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} && spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} ;
1050 ?column?
1051----------
1052 f
1053(1 row)
1054
1055SELECT spoly {(0d,89d),(90d,89d),(180d,89d),(270d,89d)} && spoly {(0d,-88d),(90d,-88d),(180d,-88d),(270d,-88d)} ;
1056 ?column?
1057----------
1058 f
1059(1 row)
1060
1061SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(3d,-1d),(3d,1d),(5d,1d),(5d,-1d)} ;
1062 ?column?
1063----------
1064 f
1065(1 row)
1066
1067SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(-1d,3d),(-1d,5d),(1d,5d),(1d,3d)} ;
1068 ?column?
1069----------
1070 f
1071(1 row)
1072
1073SELECT spoly {(-1d,-1d),(-1d,1d),(1d,1d),(1d,-1d)} && spoly {(179d,-1d),(179d,1d),(181d,1d),(181d,-1d)} ;
1074 ?column?
1075----------
1076 f
1077(1 row)
1078
1079
1080