File: iscollection.sql

package info (click to toggle)
postgis 3.5.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 70,052 kB
  • sloc: ansic: 162,204; sql: 93,950; xml: 53,121; cpp: 12,646; perl: 5,658; sh: 5,369; makefile: 3,434; python: 1,205; yacc: 447; lex: 151; pascal: 58
file content (27 lines) | stat: -rw-r--r-- 1,466 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
-- Ensure there are no false-positives
SELECT 'point', ST_IsCollection('POINT(42 42)');
SELECT 'poly', ST_IsCollection('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
SELECT 'line', ST_IsCollection('LINESTRING(0 0, 10 10)');

-- PostGIS doesn't support typed empties...
--SELECT 'empty point', ST_IsCollection('POINT EMPTY');
--SELECT 'empty poly', ST_IsCollection('POLYGON EMPTY');
--SELECT 'empty line', ST_IsCollection('LINESTRING EMPTY');

--Ensure that all collections return true (even if they contain a single geometry).
SELECT 'empty multipoint', ST_IsCollection('MULTIPOINT EMPTY');
SELECT 'multipoint', ST_IsCollection('MULTIPOINT((0 0))');
SELECT 'multipoint+', ST_IsCollection('MULTIPOINT((0 0), (42 42))');

SELECT 'empty multiline', ST_IsCollection('MULTILINESTRING EMPTY');
SELECT 'multiline', ST_IsCollection('MULTILINESTRING((0 0, 10 10))');
SELECT 'multiline+', ST_IsCollection('MULTILINESTRING((0 0, 10 10), (100 100, 142 142))');

SELECT 'empty multipoly', ST_IsCollection('MULTIPOLYGON EMPTY');
SELECT 'multipoly', ST_IsCollection('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)))');
SELECT 'multipoly+', ST_IsCollection('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((100 100, 110 100, 110 110, 100 110, 100 100)))');

SELECT 'empty collection', ST_IsCollection('GEOMETRYCOLLECTION EMPTY');
SELECT 'collection', ST_IsCollection('GEOMETRYCOLLECTION(POINT(0 0))');
SELECT 'collection+', ST_IsCollection('GEOMETRYCOLLECTION(POINT(0 0), POINT(42 42))');