File: mocautocast.sql

package info (click to toggle)
pgsphere 1.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,220 kB
  • sloc: ansic: 13,926; sql: 6,895; cpp: 853; makefile: 278; perl: 168; yacc: 145; python: 106; lex: 55; xml: 51; sh: 1
file content (123 lines) | stat: -rw-r--r-- 3,953 bytes parent folder | download | duplicates (3)
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
-- These are MOCs generated by
-- SELECT smoc(mocorder, scircle '<(27d, -43d), 0.1d>');
-- intended to check automatic casts of other geometries.

CREATE TABLE varorders (
	mocorder smallint,
	geo smoc);
INSERT INTO varorders (mocorder, geo) VALUES
	(1, smoc('1/32 34 1/')),
	(-3, smoc('1/32 34 3/')),
	(3, smoc('3/547-548 550 553 3/')),
	(7, smoc('7/140857-140860 140862 140944-140945 7/')),
	(-7, smoc('1/32 34 7/'));

-- OVERLAPS smoc/scircle

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gsupc
FROM varorders 
WHERE geo @> scircle '<(30d, -43d), 1d>';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gnsupc
FROM varorders 
WHERE geo !@> scircle '<(30d, -43d), 1d>';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) csubg
FROM varorders 
WHERE scircle '<(30d, -43d), 1d>' <@ geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cnsubg
FROM varorders 
WHERE scircle '<(30d, -43d), 1d>' !<@ geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gsubc
FROM varorders 
WHERE geo <@ scircle '<(30d, -43d), 1d>';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gnsubc
FROM varorders 
WHERE geo !<@ scircle '<(30d, -43d), 1d>';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) csupg
FROM varorders 
WHERE scircle '<(30d, -43d), 1d>' @> geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cnsupg
FROM varorders 
WHERE scircle '<(30d, -43d), 1d>' !@> geo;


-- OVERLAPS smoc/spoly

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gsupp
FROM varorders 
WHERE geo @> spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}');

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gnsupp
FROM varorders 
WHERE geo !@> spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}');

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) psubg
FROM varorders 
WHERE spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}') <@ geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) pnsubg
FROM varorders 
WHERE spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}') !<@ geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gsubp
FROM varorders 
WHERE geo <@ spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}');

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) gnsubp
FROM varorders 
WHERE geo !<@ spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}');

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) psupg
FROM varorders 
WHERE spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}') @> geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) pnsupg
FROM varorders 
WHERE spoly('{(26d,-42d), (26d,-41d), (27d,-41d)}') !@> geo;


-- INTERSECTS smoc/scircle

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cgim
FROM varorders 
WHERE scircle '<(45d, -40d), 1d>' && geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cgnim
FROM varorders 
WHERE scircle '<(45d, -40d), 1d>' !&& geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cmig
FROM varorders 
WHERE geo && scircle '<(45d, -40d), 1d>';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cnim
FROM varorders 
WHERE geo !&& scircle '<(45d, -40d), 1d>';


-- INTERSECTS smoc/spoly

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cgim
FROM varorders 
WHERE spoly '{(51.1d, -50.1d), (45.8d, -47.5), (46.7d, -43.7d)}' && geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cgnim
FROM varorders 
WHERE spoly '{(51.1d, -50.1d), (45.8d, -47.5), (46.7d, -43.7d)}' !&& geo;

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cmig
FROM varorders 
WHERE geo && spoly '{(51.1d, -50.1d), (45.8d, -47.5), (46.7d, -43.7d)}';

SELECT string_agg(to_char(mocorder, '9'), '/' ORDER BY mocorder) cnim
FROM varorders 
WHERE geo !&& spoly '{(51.1d, -50.1d), (45.8d, -47.5), (46.7d, -43.7d)}';


DROP TABLE varorders;