CREATE EXTENSION pointcloud; INSERT INTO pointcloud_formats (pcid, srid, schema) VALUES (1, 0, ' 1 4 X coordinate as a long integer. You must use the scale and offset information of the header to determine the double value. X int32_t 0.01 2 4 Y coordinate as a long integer. You must use the scale and offset information of the header to determine the double value. Y int32_t 0.01 3 4 Z coordinate as a long integer. You must use the scale and offset information of the header to determine the double value. Z int32_t 0.01 4 2 The intensity value is the integer representation of the pulse return magnitude. This value is optional and system specific. However, it should always be included if available. Intensity uint16_t 1 4326 ' ); CREATE TABLE IF NOT EXISTS pt_test ( pt PCPOINT(1) ); \d pt_test Table "public.pt_test" Column | Type | Modifiers --------+------------+----------- pt | pcpoint(1) | DELETE FROM pt_test; INSERT INTO pt_test (pt) VALUES ('00000000020000000100000002000000030004'); ERROR: no entry in "pointcloud_formats" for pcid = 2 LINE 1: INSERT INTO pt_test (pt) VALUES ('00000000020000000100000002... ^ INSERT INTO pt_test (pt) VALUES ('00000000010000000100000002000000030004'); INSERT INTO pt_test (pt) VALUES ('00000000010000000200000003000000030005'); INSERT INTO pt_test (pt) VALUES ('00000000010000000300000004000000030006'); SELECT PC_Get(pt, 'Intensity') FROM pt_test; pc_get -------- 4 5 6 (3 rows) SELECT Sum(PC_Get(pt, 'y')) FROM pt_test; sum ------ 0.09 (1 row) SELECT PC_AsText(pt) FROM pt_test; pc_astext ------------------------------------ {"pcid":1,"pt":[0.01,0.02,0.03,4]} {"pcid":1,"pt":[0.02,0.03,0.03,5]} {"pcid":1,"pt":[0.03,0.04,0.03,6]} (3 rows) CREATE TABLE IF NOT EXISTS pa_test ( pa PCPATCH(1) ); \d pa_test Table "public.pa_test" Column | Type | Modifiers --------+------------+----------- pa | pcpatch(1) | DELETE FROM pa_test; INSERT INTO pa_test (pa) VALUES ('0000000002000000000000000200000002000000030000000500060000000200000003000000050008'); ERROR: no entry in "pointcloud_formats" for pcid = 2 LINE 1: INSERT INTO pa_test (pa) VALUES ('00000000020000000000000002... ^ INSERT INTO pa_test (pa) VALUES ('0000000001000000000000000200000002000000030000000500060000000200000003000000050008'); INSERT INTO pa_test (pa) VALUES ('000000000100000000000000020000000600000007000000050006000000090000000A00000005000A'); SELECT PC_AsText(pa) FROM pa_test; pc_astext ---------------------------------------------------------- {"pcid":1,"pts":[[0.02,0.03,0.05,6],[0.02,0.03,0.05,8]]} {"pcid":1,"pts":[[0.06,0.07,0.05,6],[0.09,0.1,0.05,10]]} (2 rows) SELECT PC_Envelope(pa) from pa_test; pc_envelope ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \x010300000001000000050000007b14ae47e17a943fb81e85eb51b89e3f7b14ae47e17a943fb81e85eb51b89e3f7b14ae47e17a943fb81e85eb51b89e3f7b14ae47e17a943fb81e85eb51b89e3f7b14ae47e17a943fb81e85eb51b89e3f \x01030000000100000005000000b81e85eb51b8ae3fec51b81e85ebb13fb81e85eb51b8ae3f9a9999999999b93f0ad7a3703d0ab73f9a9999999999b93f0ad7a3703d0ab73fec51b81e85ebb13fb81e85eb51b8ae3fec51b81e85ebb13f (2 rows) SELECT PC_AsText(PC_Patch(pt)) FROM pt_test; pc_astext ----------------------------------------------------------------------------- {"pcid":1,"pts":[[0.01,0.02,0.03,4],[0.02,0.03,0.03,5],[0.03,0.04,0.03,6]]} (1 row) SELECT PC_AsText(PC_Explode(PC_Patch(pt))) FROM pt_test; pc_astext ------------------------------------ {"pcid":1,"pt":[0.01,0.02,0.03,4]} {"pcid":1,"pt":[0.02,0.03,0.03,5]} {"pcid":1,"pt":[0.03,0.04,0.03,6]} (3 rows) --DROP TABLE pts_collection; --DROP TABLE pt_test; --DROP TABLE pa_test;