File: twkb.sql

package info (click to toggle)
postgis 2.3.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 58,660 kB
  • ctags: 10,181
  • sloc: ansic: 132,858; sql: 131,148; xml: 46,460; sh: 4,832; perl: 4,476; makefile: 2,749; python: 1,198; yacc: 442; lex: 131
file content (66 lines) | stat: -rw-r--r-- 2,500 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

--POINT without id
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POINT(1 1)'::text g, 0 p) foo;
--POINT with id
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POINT(1 1)'::text g, 0 p) foo;
--POINT with multibyte values and negative values
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POINT(78 -78)'::text g, 0 p) foo;
--POINT rounding to 2 decimals in coordinates
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POINT(123.456789 987.654321)'::text g, 2 p) foo;

--LINESTRING
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'LINESTRING(120 10, -50 20, 300 -2)'::text g, 0 p) foo;
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'LINESTRING(120 10, -50 20, 300 -2)'::text g, 2 p) foo;
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'LINESTRING(120.54 10.78, -50.2 20.878, 300.789 -21)'::text g, 0 p) foo;

--POLYGON
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'::text g, 0 p) foo;
--POLYGON with hole
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'POLYGON((1 1, 1 20, 20 20, 20 1, 1 1),(3 3,3 4, 4 4,4 3,3 3))'::text g, 0 p) foo;

--MULTIPOINT
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'MULTIPOINT((1 1),(2 2))'::text g, 0 p) foo;

--MULTILINESTRING
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'MULTILINESTRING((1 1,1 2,2 2),(3 3,3 4,4 4))'::text g, 0 p) foo;

--MULTIPOLYGON
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'MULTIPOLYGON(((1 1, 1 2, 2 2, 2 1, 1 1)),((3 3,3 4,4 4,4 3,3 3)))'::text g, 0 p) foo;
--MULTIPOLYGON with hole
select g,encode(ST_AsTWKB(g::geometry,p),'hex') from
(select 'MULTIPOLYGON(((1 1, 1 20, 20 20, 20 1, 1 1),(3 3,3 4, 4 4,4 3,3 3)),((-1 1, -1 20, -20 20, -20 1, -1 1),(-3 3,-3 4, -4 4,-4 3,-3 3)))'::text g, 0 p) foo;


--GEOMETRYCOLLECTION
select st_astext(st_collect(g::geometry)), encode(ST_AsTWKB(ST_Collect(g::geometry),0),'hex') from
(
select 'POINT(1 1)'::text g
union all
select 'LINESTRING(2 2, 3 3)'::text g
) foo;


select st_astext(st_collect(g::geometry)), encode(ST_AsTWKB(ST_Collect(g::geometry),0),'hex') from
(
select 'MULTIPOINT((1 1),(2 2))'::text g
union all
select 'POINT(78 -78)'::text g
union all
select 'POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'::text g
) foo;

--GEOMETRYCOLLECTION with bounding box ref #3187
select encode(st_astwkb(st_collect('point(4 1)'::geometry,'linestring(1 1, 0 3)'::geometry),0,0,0,false,true),'hex');