File: points.rst

package info (click to toggle)
pgpointcloud 1.2.5-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,892 kB
  • sloc: sql: 40,767; ansic: 11,045; xml: 935; makefile: 297; cpp: 282; perl: 248; python: 178; sh: 92
file content (103 lines) | stat: -rw-r--r-- 2,697 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
.. _points:

********************************************************************************
PcPoint
********************************************************************************

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PC_MakePoint
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:PC_MakePoint(pcid integer, vals float8[]) returns pcpoint:

Given a valid pcid schema number and an array of doubles that matches the
schema, construct a new pcpoint.

.. code-block::

    SELECT PC_MakePoint(1, ARRAY[-127, 45, 124.0, 4.0]);

    010100000064CEFFFF94110000703000000400

Insert some test values into the points table:

.. code-block::

    INSERT INTO points (pt)
    SELECT PC_MakePoint(1, ARRAY[x,y,z,intensity])
    FROM (
      SELECT
      -127+a/100.0 AS x,
        45+a/100.0 AS y,
             1.0*a AS z,
              a/10 AS intensity
      FROM generate_series(1,100) AS a
    ) AS values;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PC_AsText
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:PC_AsText(p pcpoint) returns text:

Return a JSON version of the data in that point.

.. code-block::

    SELECT PC_AsText('010100000064CEFFFF94110000703000000400'::pcpoint);

    {"pcid":1,"pt":[-127,45,124,4]}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PC_PCId
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:PC_PCId(p pcpoint) returns integer (from 1.1.0):

Return the pcid schema number of this point.

.. code-block::

    SELECT PC_PCId('010100000064CEFFFF94110000703000000400'::pcpoint);

    1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PC_Get
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:PC_Get(pt pcpoint) returns float8[]:

Return values of all dimensions in an array.

.. code-block::

    SELECT PC_Get('010100000064CEFFFF94110000703000000400'::pcpoint);

    {-127,45,124,4}

:PC_Get(pt pcpoint, dimname text) returns numeric:

Return the numeric value of the named dimension. The dimension name must exist
in the schema.

.. code-block::

    SELECT PC_Get('010100000064CEFFFF94110000703000000400'::pcpoint, 'Intensity');

    4

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PC_MemSize
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:PC_MemSize(pt pcpoint) returns int4:

Return the memory size of a pcpoint.

.. code-block::

    SELECT PC_MemSize(PC_MakePoint(1, ARRAY[-127, 45, 124.0, 4.0]));

    25