mirror of
https://github.com/pgpointcloud/pointcloud.git
synced 2026-02-01 17:20:32 +00:00
deploy: f1a96dd3b52c92985d2ddea7e524220ef9a6a00c
This commit is contained in:
parent
170a523dee
commit
73b1626a8e
@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: d1735204580e27d7a703b4c2c392717e
|
||||
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 61e27923582744468a17b300ffcbc371
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
||||
@ -136,44 +136,22 @@ Continuous Integration
|
||||
pgPointcloud tests are run with `Github Actions`_ on several Ubuntu versions
|
||||
and with various PostgreSQL/PostGIS releases:
|
||||
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| | PostGIS 2.5 | PostGIS 3.3 | W/O PostGIS |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| PostgreSQL 12 | |12_25_focal| | |12_33_focal| | |12_33_focal| |
|
||||
| | | | |
|
||||
| | | |12_33_jammy| | |12_33_jammy| |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| PostgreSQL 13 | | |13_33_focal| | |13_33_focal| |
|
||||
| | | | |
|
||||
| | | |13_33_jammy| | |13_33_jammy| |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| PostgreSQL 14 | | |14_33_focal| | |14_33_focal| |
|
||||
| | | | |
|
||||
| | | |14_33_jammy| | |14_33_jammy| |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| PostgreSQL 15 | | |15_33_focal| | |15_33_focal| |
|
||||
| | | | |
|
||||
| | | |15_33_jammy| | |15_33_jammy| |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
| PostgreSQL 16 | | |16_33_jammy| | |16_33_jammy| |
|
||||
+--------------------+-----------------------+------------------------+------------------------+
|
||||
|
||||
.. |12_25_focal| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres12_postgis25.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+12+and+PostGIS+2.5%22
|
||||
|
||||
.. |12_33_focal| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres12_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+12+and+PostGIS+3.3%22
|
||||
|
||||
.. |12_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres12_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+12+and+PostGIS+3.3%22
|
||||
|
||||
.. |13_33_focal| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres13_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+13+and+PostGIS+3.3%22
|
||||
+--------------------+-----------------------+-------------------------+
|
||||
| | PostGIS 3.3 | W/O PostGIS |
|
||||
+--------------------+------------------------+------------------------+
|
||||
| PostgreSQL 13 | |13_33_jammy| | |13_33_jammy| |
|
||||
+--------------------+------------------------+------------------------+
|
||||
| PostgreSQL 14 | |14_33_jammy| | |14_33_jammy| |
|
||||
+--------------------+------------------------+------------------------+
|
||||
| PostgreSQL 15 | |15_33_jammy| | |15_33_jammy| |
|
||||
+--------------------+------------------------+------------------------+
|
||||
| PostgreSQL 16 | |16_33_jammy| | |16_33_jammy| |
|
||||
+--------------------+-----------------------+-------------------------+
|
||||
|
||||
.. |13_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22
|
||||
|
||||
.. |14_33_focal| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres14_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+14+and+PostGIS+3.3%22
|
||||
|
||||
.. |14_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres14_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+14+and+PostGIS+3.3%22
|
||||
|
||||
.. |15_33_focal| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres15_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+15+and+PostGIS+3.3%22
|
||||
|
||||
.. |15_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+15+and+PostGIS+3.3%22
|
||||
|
||||
.. |16_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+16+and+PostGIS+3.3%22
|
||||
|
||||
@ -85,7 +85,6 @@ pgPointcloud is directly included in the `PostGIS`_ bundle.
|
||||
|
||||
Debian packages are now `available`_ on:
|
||||
|
||||
- Ubuntu 20.04
|
||||
- Ubuntu 22.04
|
||||
- Debian Testing
|
||||
- Debian Unstable
|
||||
|
||||
@ -177,39 +177,6 @@ each point in the patch.
|
||||
{"pcid":1,"pt":[-126.41,45.59,59,5]} | 7
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PC_PatchAvg
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:PC_PatchAvg(p pcpatch, dimname text) returns numeric:
|
||||
|
||||
Reads the values of the requested dimension for all points in the patch and
|
||||
returns the average of those values. Dimension name must exist in the schema.
|
||||
|
||||
.. code-block::
|
||||
|
||||
SELECT PC_PatchAvg(pa, 'intensity')
|
||||
FROM patches WHERE id = 7;
|
||||
|
||||
5.0000000000000000
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PC_PatchMax
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:PC_PatchMax(p pcpatch, dimname text) returns numeric:
|
||||
|
||||
Reads the values of the requested dimension for all points in the patch and
|
||||
returns the maximum of those values. Dimension name must exist in the schema.
|
||||
|
||||
.. code-block::
|
||||
|
||||
SELECT PC_PatchMax(pa, 'x')
|
||||
FROM patches WHERE id = 7;
|
||||
|
||||
-126.41
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PC_PatchMin
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -241,6 +208,18 @@ Returns a PcPoint with the minimum values of each dimension in the patch.
|
||||
PC_PatchAvg
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:PC_PatchAvg(p pcpatch, dimname text) returns numeric:
|
||||
|
||||
Reads the values of the requested dimension for all points in the patch and
|
||||
returns the average of those values. Dimension name must exist in the schema.
|
||||
|
||||
.. code-block::
|
||||
|
||||
SELECT PC_PatchAvg(pa, 'intensity')
|
||||
FROM patches WHERE id = 7;
|
||||
|
||||
5.0000000000000000
|
||||
|
||||
:PC_PatchAvg(p pcpatch) returns pcpoint:
|
||||
|
||||
Returns a PcPoint with the average values of each dimension in the patch.
|
||||
@ -256,6 +235,18 @@ Returns a PcPoint with the average values of each dimension in the patch.
|
||||
PC_PatchMax
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
:PC_PatchMax(p pcpatch, dimname text) returns numeric:
|
||||
|
||||
Reads the values of the requested dimension for all points in the patch and
|
||||
returns the maximum of those values. Dimension name must exist in the schema.
|
||||
|
||||
.. code-block::
|
||||
|
||||
SELECT PC_PatchMax(pa, 'x')
|
||||
FROM patches WHERE id = 7;
|
||||
|
||||
-126.41
|
||||
|
||||
:PC_PatchMax(p pcpatch) returns pcpoint:
|
||||
|
||||
Returns a PcPoint with the maximum values of each dimension in the patch.
|
||||
@ -267,7 +258,6 @@ Returns a PcPoint with the maximum values of each dimension in the patch.
|
||||
|
||||
{"pcid":1,"pt":[-126.41,45.59,59,5]}
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PC_FilterGreaterThan
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -284,7 +274,6 @@ value for the requested dimension.
|
||||
|
||||
{"pcid":1,"pts":[[-126.42,45.58,58,5],[-126.41,45.59,59,5]]}
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PC_FilterLessThan
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -1,12 +1,5 @@
|
||||
/*
|
||||
* basic.css
|
||||
* ~~~~~~~~~
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
/* -- main layout ----------------------------------------------------------- */
|
||||
@ -115,15 +108,11 @@ img {
|
||||
/* -- search page ----------------------------------------------------------- */
|
||||
|
||||
ul.search {
|
||||
margin: 10px 0 0 20px;
|
||||
padding: 0;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
ul.search li {
|
||||
padding: 5px 0 5px 20px;
|
||||
background-image: url(file.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 7px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
ul.search li a {
|
||||
@ -237,6 +226,10 @@ a.headerlink {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #551A8B;
|
||||
}
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
|
||||
@ -1 +1 @@
|
||||
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
||||
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}
|
||||
File diff suppressed because one or more lines are too long
@ -1,12 +1,5 @@
|
||||
/*
|
||||
* doctools.js
|
||||
* ~~~~~~~~~~~
|
||||
*
|
||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
const DOCUMENTATION_OPTIONS = {
|
||||
VERSION: '1.2.5',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
|
||||
BIN
_static/fonts/Lato/lato-bold.eot
Normal file
BIN
_static/fonts/Lato/lato-bold.eot
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bold.ttf
Normal file
BIN
_static/fonts/Lato/lato-bold.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bold.woff
Normal file
BIN
_static/fonts/Lato/lato-bold.woff
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bold.woff2
Normal file
BIN
_static/fonts/Lato/lato-bold.woff2
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bolditalic.eot
Normal file
BIN
_static/fonts/Lato/lato-bolditalic.eot
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bolditalic.ttf
Normal file
BIN
_static/fonts/Lato/lato-bolditalic.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bolditalic.woff
Normal file
BIN
_static/fonts/Lato/lato-bolditalic.woff
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-bolditalic.woff2
Normal file
BIN
_static/fonts/Lato/lato-bolditalic.woff2
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-italic.eot
Normal file
BIN
_static/fonts/Lato/lato-italic.eot
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-italic.ttf
Normal file
BIN
_static/fonts/Lato/lato-italic.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-italic.woff
Normal file
BIN
_static/fonts/Lato/lato-italic.woff
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-italic.woff2
Normal file
BIN
_static/fonts/Lato/lato-italic.woff2
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-regular.eot
Normal file
BIN
_static/fonts/Lato/lato-regular.eot
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-regular.ttf
Normal file
BIN
_static/fonts/Lato/lato-regular.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-regular.woff
Normal file
BIN
_static/fonts/Lato/lato-regular.woff
Normal file
Binary file not shown.
BIN
_static/fonts/Lato/lato-regular.woff2
Normal file
BIN
_static/fonts/Lato/lato-regular.woff2
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
Normal file
Binary file not shown.
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
Normal file
BIN
_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
Normal file
Binary file not shown.
4
_static/js/html5shiv-printshiv.min.js
vendored
4
_static/js/html5shiv-printshiv.min.js
vendored
@ -1,4 +0,0 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
||||
4
_static/js/html5shiv.min.js
vendored
4
_static/js/html5shiv.min.js
vendored
@ -1,4 +0,0 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
||||
228
_static/js/versions.js
Normal file
228
_static/js/versions.js
Normal file
@ -0,0 +1,228 @@
|
||||
const themeFlyoutDisplay = "hidden";
|
||||
const themeVersionSelector = true;
|
||||
const themeLanguageSelector = true;
|
||||
|
||||
if (themeFlyoutDisplay === "attached") {
|
||||
function renderLanguages(config) {
|
||||
if (!config.projects.translations.length) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// Insert the current language to the options on the selector
|
||||
let languages = config.projects.translations.concat(config.projects.current);
|
||||
languages = languages.sort((a, b) => a.language.name.localeCompare(b.language.name));
|
||||
|
||||
const languagesHTML = `
|
||||
<dl>
|
||||
<dt>Languages</dt>
|
||||
${languages
|
||||
.map(
|
||||
(translation) => `
|
||||
<dd ${translation.slug == config.projects.current.slug ? 'class="rtd-current-item"' : ""}>
|
||||
<a href="${translation.urls.documentation}">${translation.language.code}</a>
|
||||
</dd>
|
||||
`,
|
||||
)
|
||||
.join("\n")}
|
||||
</dl>
|
||||
`;
|
||||
return languagesHTML;
|
||||
}
|
||||
|
||||
function renderVersions(config) {
|
||||
if (!config.versions.active.length) {
|
||||
return "";
|
||||
}
|
||||
const versionsHTML = `
|
||||
<dl>
|
||||
<dt>Versions</dt>
|
||||
${config.versions.active
|
||||
.map(
|
||||
(version) => `
|
||||
<dd ${version.slug === config.versions.current.slug ? 'class="rtd-current-item"' : ""}>
|
||||
<a href="${version.urls.documentation}">${version.slug}</a>
|
||||
</dd>
|
||||
`,
|
||||
)
|
||||
.join("\n")}
|
||||
</dl>
|
||||
`;
|
||||
return versionsHTML;
|
||||
}
|
||||
|
||||
function renderDownloads(config) {
|
||||
if (!Object.keys(config.versions.current.downloads).length) {
|
||||
return "";
|
||||
}
|
||||
const downloadsNameDisplay = {
|
||||
pdf: "PDF",
|
||||
epub: "Epub",
|
||||
htmlzip: "HTML",
|
||||
};
|
||||
|
||||
const downloadsHTML = `
|
||||
<dl>
|
||||
<dt>Downloads</dt>
|
||||
${Object.entries(config.versions.current.downloads)
|
||||
.map(
|
||||
([name, url]) => `
|
||||
<dd>
|
||||
<a href="${url}">${downloadsNameDisplay[name]}</a>
|
||||
</dd>
|
||||
`,
|
||||
)
|
||||
.join("\n")}
|
||||
</dl>
|
||||
`;
|
||||
return downloadsHTML;
|
||||
}
|
||||
|
||||
document.addEventListener("readthedocs-addons-data-ready", function (event) {
|
||||
const config = event.detail.data();
|
||||
|
||||
const flyout = `
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
<span class="fa fa-book"> Read the Docs</span>
|
||||
v: ${config.versions.current.slug}
|
||||
<span class="fa fa-caret-down"></span>
|
||||
</span>
|
||||
<div class="rst-other-versions">
|
||||
<div class="injected">
|
||||
${renderLanguages(config)}
|
||||
${renderVersions(config)}
|
||||
${renderDownloads(config)}
|
||||
<dl>
|
||||
<dt>On Read the Docs</dt>
|
||||
<dd>
|
||||
<a href="${config.projects.current.urls.home}">Project Home</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="${config.projects.current.urls.builds}">Builds</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="${config.projects.current.urls.downloads}">Downloads</a>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>Search</dt>
|
||||
<dd>
|
||||
<form id="flyout-search-form">
|
||||
<input
|
||||
class="wy-form"
|
||||
type="text"
|
||||
name="q"
|
||||
aria-label="Search docs"
|
||||
placeholder="Search docs"
|
||||
/>
|
||||
</form>
|
||||
</dd>
|
||||
</dl>
|
||||
<hr />
|
||||
<small>
|
||||
<span>Hosted by <a href="https://about.readthedocs.org/?utm_source=&utm_content=flyout">Read the Docs</a></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// Inject the generated flyout into the body HTML element.
|
||||
document.body.insertAdjacentHTML("beforeend", flyout);
|
||||
|
||||
// Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout.
|
||||
document
|
||||
.querySelector("#flyout-search-form")
|
||||
.addEventListener("focusin", () => {
|
||||
const event = new CustomEvent("readthedocs-search-show");
|
||||
document.dispatchEvent(event);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
if (themeLanguageSelector || themeVersionSelector) {
|
||||
function onSelectorSwitch(event) {
|
||||
const option = event.target.selectedIndex;
|
||||
const item = event.target.options[option];
|
||||
window.location.href = item.dataset.url;
|
||||
}
|
||||
|
||||
document.addEventListener("readthedocs-addons-data-ready", function (event) {
|
||||
const config = event.detail.data();
|
||||
|
||||
const versionSwitch = document.querySelector(
|
||||
"div.switch-menus > div.version-switch",
|
||||
);
|
||||
if (themeVersionSelector) {
|
||||
let versions = config.versions.active;
|
||||
if (config.versions.current.hidden || config.versions.current.type === "external") {
|
||||
versions.unshift(config.versions.current);
|
||||
}
|
||||
const versionSelect = `
|
||||
<select>
|
||||
${versions
|
||||
.map(
|
||||
(version) => `
|
||||
<option
|
||||
value="${version.slug}"
|
||||
${config.versions.current.slug === version.slug ? 'selected="selected"' : ""}
|
||||
data-url="${version.urls.documentation}">
|
||||
${version.slug}
|
||||
</option>`,
|
||||
)
|
||||
.join("\n")}
|
||||
</select>
|
||||
`;
|
||||
|
||||
versionSwitch.innerHTML = versionSelect;
|
||||
versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
|
||||
}
|
||||
|
||||
const languageSwitch = document.querySelector(
|
||||
"div.switch-menus > div.language-switch",
|
||||
);
|
||||
|
||||
if (themeLanguageSelector) {
|
||||
if (config.projects.translations.length) {
|
||||
// Add the current language to the options on the selector
|
||||
let languages = config.projects.translations.concat(
|
||||
config.projects.current,
|
||||
);
|
||||
languages = languages.sort((a, b) =>
|
||||
a.language.name.localeCompare(b.language.name),
|
||||
);
|
||||
|
||||
const languageSelect = `
|
||||
<select>
|
||||
${languages
|
||||
.map(
|
||||
(language) => `
|
||||
<option
|
||||
value="${language.language.code}"
|
||||
${config.projects.current.slug === language.slug ? 'selected="selected"' : ""}
|
||||
data-url="${language.urls.documentation}">
|
||||
${language.language.name}
|
||||
</option>`,
|
||||
)
|
||||
.join("\n")}
|
||||
</select>
|
||||
`;
|
||||
|
||||
languageSwitch.innerHTML = languageSelect;
|
||||
languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
|
||||
}
|
||||
else {
|
||||
languageSwitch.remove();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener("readthedocs-addons-data-ready", function (event) {
|
||||
// Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav.
|
||||
document
|
||||
.querySelector("[role='search'] input")
|
||||
.addEventListener("focusin", () => {
|
||||
const event = new CustomEvent("readthedocs-search-show");
|
||||
document.dispatchEvent(event);
|
||||
});
|
||||
});
|
||||
@ -1,19 +1,12 @@
|
||||
/*
|
||||
* language_data.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
|
||||
|
||||
|
||||
/* Non-minified version is copied as a separate JS file, is available */
|
||||
/* Non-minified version is copied as a separate JS file, if available */
|
||||
|
||||
/**
|
||||
* Porter Stemmer
|
||||
|
||||
@ -6,26 +6,26 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #eeffcc; }
|
||||
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .err { border: 1px solid #F00 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .o { color: #666 } /* Operator */
|
||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .cs { color: #408090; background-color: #FFF0F0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gr { color: #F00 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #333333 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .go { color: #333 } /* Generic.Output */
|
||||
.highlight .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||
.highlight .gt { color: #04D } /* Generic.Traceback */
|
||||
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
||||
@ -33,43 +33,43 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||
.highlight .m { color: #208050 } /* Literal.Number */
|
||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||
.highlight .s { color: #4070A0 } /* Literal.String */
|
||||
.highlight .na { color: #4070A0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .nc { color: #0E84B5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60ADD5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #D55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||
.highlight .nf { color: #06287e } /* Name.Function */
|
||||
.highlight .nf { color: #06287E } /* Name.Function */
|
||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||
.highlight .nv { color: #BB60D5 } /* Name.Variable */
|
||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .w { color: #BBB } /* Text.Whitespace */
|
||||
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||
.highlight .sa { color: #4070A0 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4070A0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070A0 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4070A0 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070A0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070A0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #C65D09 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||
.highlight .s1 { color: #4070A0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #06287e } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
|
||||
.highlight .fm { color: #06287E } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #BB60D5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #BB60D5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #BB60D5 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #BB60D5 } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
||||
@ -1,12 +1,5 @@
|
||||
/*
|
||||
* searchtools.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
@ -20,7 +13,7 @@ if (typeof Scorer === "undefined") {
|
||||
// and returns the new score.
|
||||
/*
|
||||
score: result => {
|
||||
const [docname, title, anchor, descr, score, filename] = result
|
||||
const [docname, title, anchor, descr, score, filename, kind] = result
|
||||
return score
|
||||
},
|
||||
*/
|
||||
@ -47,6 +40,14 @@ if (typeof Scorer === "undefined") {
|
||||
};
|
||||
}
|
||||
|
||||
// Global search result kind enum, used by themes to style search results.
|
||||
class SearchResultKind {
|
||||
static get index() { return "index"; }
|
||||
static get object() { return "object"; }
|
||||
static get text() { return "text"; }
|
||||
static get title() { return "title"; }
|
||||
}
|
||||
|
||||
const _removeChildren = (element) => {
|
||||
while (element && element.lastChild) element.removeChild(element.lastChild);
|
||||
};
|
||||
@ -57,16 +58,20 @@ const _removeChildren = (element) => {
|
||||
const _escapeRegExp = (string) =>
|
||||
string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
|
||||
|
||||
const _displayItem = (item, searchTerms) => {
|
||||
const _displayItem = (item, searchTerms, highlightTerms) => {
|
||||
const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
|
||||
const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
|
||||
const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
|
||||
const contentRoot = document.documentElement.dataset.content_root;
|
||||
|
||||
const [docName, title, anchor, descr, score, _filename] = item;
|
||||
const [docName, title, anchor, descr, score, _filename, kind] = item;
|
||||
|
||||
let listItem = document.createElement("li");
|
||||
// Add a class representing the item's type:
|
||||
// can be used by a theme's CSS selector for styling
|
||||
// See SearchResultKind for the class names.
|
||||
listItem.classList.add(`kind-${kind}`);
|
||||
let requestUrl;
|
||||
let linkUrl;
|
||||
if (docBuilder === "dirhtml") {
|
||||
@ -75,28 +80,35 @@ const _displayItem = (item, searchTerms) => {
|
||||
if (dirname.match(/\/index\/$/))
|
||||
dirname = dirname.substring(0, dirname.length - 6);
|
||||
else if (dirname === "index/") dirname = "";
|
||||
requestUrl = docUrlRoot + dirname;
|
||||
requestUrl = contentRoot + dirname;
|
||||
linkUrl = requestUrl;
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = docUrlRoot + docName + docFileSuffix;
|
||||
requestUrl = contentRoot + docName + docFileSuffix;
|
||||
linkUrl = docName + docLinkSuffix;
|
||||
}
|
||||
let linkEl = listItem.appendChild(document.createElement("a"));
|
||||
linkEl.href = linkUrl + anchor;
|
||||
linkEl.dataset.score = score;
|
||||
linkEl.innerHTML = title;
|
||||
if (descr)
|
||||
if (descr) {
|
||||
listItem.appendChild(document.createElement("span")).innerHTML =
|
||||
" (" + descr + ")";
|
||||
// highlight search terms in the description
|
||||
if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
|
||||
highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
|
||||
}
|
||||
else if (showSearchSummary)
|
||||
fetch(requestUrl)
|
||||
.then((responseData) => responseData.text())
|
||||
.then((data) => {
|
||||
if (data)
|
||||
listItem.appendChild(
|
||||
Search.makeSearchSummary(data, searchTerms)
|
||||
Search.makeSearchSummary(data, searchTerms, anchor)
|
||||
);
|
||||
// highlight search terms in the summary
|
||||
if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
|
||||
highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
|
||||
});
|
||||
Search.output.appendChild(listItem);
|
||||
};
|
||||
@ -108,27 +120,46 @@ const _finishSearch = (resultCount) => {
|
||||
"Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
|
||||
);
|
||||
else
|
||||
Search.status.innerText = _(
|
||||
`Search finished, found ${resultCount} page(s) matching the search query.`
|
||||
);
|
||||
Search.status.innerText = Documentation.ngettext(
|
||||
"Search finished, found one page matching the search query.",
|
||||
"Search finished, found ${resultCount} pages matching the search query.",
|
||||
resultCount,
|
||||
).replace('${resultCount}', resultCount);
|
||||
};
|
||||
const _displayNextItem = (
|
||||
results,
|
||||
resultCount,
|
||||
searchTerms
|
||||
searchTerms,
|
||||
highlightTerms,
|
||||
) => {
|
||||
// results left, load the summary and display it
|
||||
// this is intended to be dynamic (don't sub resultsCount)
|
||||
if (results.length) {
|
||||
_displayItem(results.pop(), searchTerms);
|
||||
_displayItem(results.pop(), searchTerms, highlightTerms);
|
||||
setTimeout(
|
||||
() => _displayNextItem(results, resultCount, searchTerms),
|
||||
() => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
|
||||
5
|
||||
);
|
||||
}
|
||||
// search finished, update title and status message
|
||||
else _finishSearch(resultCount);
|
||||
};
|
||||
// Helper function used by query() to order search results.
|
||||
// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
|
||||
// Order the results by score (in opposite order of appearance, since the
|
||||
// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
|
||||
const _orderResultsByScoreThenName = (a, b) => {
|
||||
const leftScore = a[4];
|
||||
const rightScore = b[4];
|
||||
if (leftScore === rightScore) {
|
||||
// same score: sort alphabetically
|
||||
const leftTitle = a[1].toLowerCase();
|
||||
const rightTitle = b[1].toLowerCase();
|
||||
if (leftTitle === rightTitle) return 0;
|
||||
return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
|
||||
}
|
||||
return leftScore > rightScore ? 1 : -1;
|
||||
};
|
||||
|
||||
/**
|
||||
* Default splitQuery function. Can be overridden in ``sphinx.search`` with a
|
||||
@ -152,13 +183,26 @@ const Search = {
|
||||
_queued_query: null,
|
||||
_pulse_status: -1,
|
||||
|
||||
htmlToText: (htmlString) => {
|
||||
htmlToText: (htmlString, anchor) => {
|
||||
const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
|
||||
htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
|
||||
for (const removalQuery of [".headerlink", "script", "style"]) {
|
||||
htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
|
||||
}
|
||||
if (anchor) {
|
||||
const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
|
||||
if (anchorContent) return anchorContent.textContent;
|
||||
|
||||
console.warn(
|
||||
`Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
|
||||
);
|
||||
}
|
||||
|
||||
// if anchor not specified or not found, fall back to main content
|
||||
const docContent = htmlElement.querySelector('[role="main"]');
|
||||
if (docContent !== undefined) return docContent.textContent;
|
||||
if (docContent) return docContent.textContent;
|
||||
|
||||
console.warn(
|
||||
"Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
|
||||
"Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
|
||||
);
|
||||
return "";
|
||||
},
|
||||
@ -211,6 +255,7 @@ const Search = {
|
||||
searchSummary.classList.add("search-summary");
|
||||
searchSummary.innerText = "";
|
||||
const searchList = document.createElement("ul");
|
||||
searchList.setAttribute("role", "list");
|
||||
searchList.classList.add("search");
|
||||
|
||||
const out = document.getElementById("search-results");
|
||||
@ -231,16 +276,7 @@ const Search = {
|
||||
else Search.deferQuery(query);
|
||||
},
|
||||
|
||||
/**
|
||||
* execute search (requires search index to be loaded)
|
||||
*/
|
||||
query: (query) => {
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const titles = Search._index.titles;
|
||||
const allTitles = Search._index.alltitles;
|
||||
const indexEntries = Search._index.indexentries;
|
||||
|
||||
_parseQuery: (query) => {
|
||||
// stem the search terms and add them to the correct list
|
||||
const stemmer = new Stemmer();
|
||||
const searchTerms = new Set();
|
||||
@ -276,22 +312,40 @@ const Search = {
|
||||
// console.info("required: ", [...searchTerms]);
|
||||
// console.info("excluded: ", [...excludedTerms]);
|
||||
|
||||
// array of [docname, title, anchor, descr, score, filename]
|
||||
let results = [];
|
||||
return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
|
||||
},
|
||||
|
||||
/**
|
||||
* execute search (requires search index to be loaded)
|
||||
*/
|
||||
_performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const titles = Search._index.titles;
|
||||
const allTitles = Search._index.alltitles;
|
||||
const indexEntries = Search._index.indexentries;
|
||||
|
||||
// Collect multiple result groups to be sorted separately and then ordered.
|
||||
// Each is an array of [docname, title, anchor, descr, score, filename, kind].
|
||||
const normalResults = [];
|
||||
const nonMainIndexResults = [];
|
||||
|
||||
_removeChildren(document.getElementById("search-progress"));
|
||||
|
||||
const queryLower = query.toLowerCase();
|
||||
const queryLower = query.toLowerCase().trim();
|
||||
for (const [title, foundTitles] of Object.entries(allTitles)) {
|
||||
if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
|
||||
if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
|
||||
for (const [file, id] of foundTitles) {
|
||||
let score = Math.round(100 * queryLower.length / title.length)
|
||||
results.push([
|
||||
const score = Math.round(Scorer.title * queryLower.length / title.length);
|
||||
const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
|
||||
normalResults.push([
|
||||
docNames[file],
|
||||
titles[file] !== title ? `${titles[file]} > ${title}` : title,
|
||||
id !== null ? "#" + id : "",
|
||||
null,
|
||||
score,
|
||||
score + boost,
|
||||
filenames[file],
|
||||
SearchResultKind.title,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -300,46 +354,48 @@ const Search = {
|
||||
// search for explicit entries in index directives
|
||||
for (const [entry, foundEntries] of Object.entries(indexEntries)) {
|
||||
if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
|
||||
for (const [file, id] of foundEntries) {
|
||||
let score = Math.round(100 * queryLower.length / entry.length)
|
||||
results.push([
|
||||
for (const [file, id, isMain] of foundEntries) {
|
||||
const score = Math.round(100 * queryLower.length / entry.length);
|
||||
const result = [
|
||||
docNames[file],
|
||||
titles[file],
|
||||
id ? "#" + id : "",
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
]);
|
||||
SearchResultKind.index,
|
||||
];
|
||||
if (isMain) {
|
||||
normalResults.push(result);
|
||||
} else {
|
||||
nonMainIndexResults.push(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// lookup as object
|
||||
objectTerms.forEach((term) =>
|
||||
results.push(...Search.performObjectSearch(term, objectTerms))
|
||||
normalResults.push(...Search.performObjectSearch(term, objectTerms))
|
||||
);
|
||||
|
||||
// lookup as search terms in fulltext
|
||||
results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
|
||||
normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
|
||||
|
||||
// let the scorer override scores with a custom scoring function
|
||||
if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
|
||||
if (Scorer.score) {
|
||||
normalResults.forEach((item) => (item[4] = Scorer.score(item)));
|
||||
nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
|
||||
}
|
||||
|
||||
// now sort the results by score (in opposite order of appearance, since the
|
||||
// display function below uses pop() to retrieve items) and then
|
||||
// alphabetically
|
||||
results.sort((a, b) => {
|
||||
const leftScore = a[4];
|
||||
const rightScore = b[4];
|
||||
if (leftScore === rightScore) {
|
||||
// same score: sort alphabetically
|
||||
const leftTitle = a[1].toLowerCase();
|
||||
const rightTitle = b[1].toLowerCase();
|
||||
if (leftTitle === rightTitle) return 0;
|
||||
return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
|
||||
}
|
||||
return leftScore > rightScore ? 1 : -1;
|
||||
});
|
||||
// Sort each group of results by score and then alphabetically by name.
|
||||
normalResults.sort(_orderResultsByScoreThenName);
|
||||
nonMainIndexResults.sort(_orderResultsByScoreThenName);
|
||||
|
||||
// Combine the result groups in (reverse) order.
|
||||
// Non-main index entries are typically arbitrary cross-references,
|
||||
// so display them after other results.
|
||||
let results = [...nonMainIndexResults, ...normalResults];
|
||||
|
||||
// remove duplicate search results
|
||||
// note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
|
||||
@ -353,14 +409,19 @@ const Search = {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
results = results.reverse();
|
||||
return results.reverse();
|
||||
},
|
||||
|
||||
query: (query) => {
|
||||
const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
|
||||
const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
|
||||
|
||||
// for debugging
|
||||
//Search.lastresults = results.slice(); // a copy
|
||||
// console.info("search results:", Search.lastresults);
|
||||
|
||||
// print the results
|
||||
_displayNextItem(results, results.length, searchTerms);
|
||||
_displayNextItem(results, results.length, searchTerms, highlightTerms);
|
||||
},
|
||||
|
||||
/**
|
||||
@ -424,6 +485,7 @@ const Search = {
|
||||
descr,
|
||||
score,
|
||||
filenames[match[0]],
|
||||
SearchResultKind.object,
|
||||
]);
|
||||
};
|
||||
Object.keys(objects).forEach((prefix) =>
|
||||
@ -458,14 +520,18 @@ const Search = {
|
||||
// add support for partial matches
|
||||
if (word.length > 2) {
|
||||
const escapedWord = _escapeRegExp(word);
|
||||
Object.keys(terms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !terms[word])
|
||||
arr.push({ files: terms[term], score: Scorer.partialTerm });
|
||||
});
|
||||
Object.keys(titleTerms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !titleTerms[word])
|
||||
arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
|
||||
});
|
||||
if (!terms.hasOwnProperty(word)) {
|
||||
Object.keys(terms).forEach((term) => {
|
||||
if (term.match(escapedWord))
|
||||
arr.push({ files: terms[term], score: Scorer.partialTerm });
|
||||
});
|
||||
}
|
||||
if (!titleTerms.hasOwnProperty(word)) {
|
||||
Object.keys(titleTerms).forEach((term) => {
|
||||
if (term.match(escapedWord))
|
||||
arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// no match but word was a required one
|
||||
@ -488,9 +554,8 @@ const Search = {
|
||||
|
||||
// create the mapping
|
||||
files.forEach((file) => {
|
||||
if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
|
||||
fileMap.get(file).push(word);
|
||||
else fileMap.set(file, [word]);
|
||||
if (!fileMap.has(file)) fileMap.set(file, [word]);
|
||||
else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
|
||||
});
|
||||
});
|
||||
|
||||
@ -531,6 +596,7 @@ const Search = {
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
SearchResultKind.text,
|
||||
]);
|
||||
}
|
||||
return results;
|
||||
@ -541,8 +607,8 @@ const Search = {
|
||||
* search summary for a given text. keywords is a list
|
||||
* of stemmed words.
|
||||
*/
|
||||
makeSearchSummary: (htmlText, keywords) => {
|
||||
const text = Search.htmlToText(htmlText);
|
||||
makeSearchSummary: (htmlText, keywords, anchor) => {
|
||||
const text = Search.htmlToText(htmlText, anchor);
|
||||
if (text === "") return null;
|
||||
|
||||
const textLower = text.toLowerCase();
|
||||
|
||||
@ -29,14 +29,19 @@ const _highlight = (node, addItems, text, className) => {
|
||||
}
|
||||
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
const rest = document.createTextNode(val.substr(pos + text.length));
|
||||
parent.insertBefore(
|
||||
span,
|
||||
parent.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
rest,
|
||||
node.nextSibling
|
||||
)
|
||||
);
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
/* There may be more occurrences of search term in this node. So call this
|
||||
* function recursively on the remaining fragment.
|
||||
*/
|
||||
_highlight(rest, addItems, text, className);
|
||||
|
||||
if (isInSVG) {
|
||||
const rect = document.createElementNS(
|
||||
@ -140,5 +145,10 @@ const SphinxHighlight = {
|
||||
},
|
||||
};
|
||||
|
||||
_ready(SphinxHighlight.highlightSearchWords);
|
||||
_ready(SphinxHighlight.initEscapeListener);
|
||||
_ready(() => {
|
||||
/* Do not call highlightSearchWords() when we are on the search page.
|
||||
* It will highlight words from the *previous* search query.
|
||||
*/
|
||||
if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
|
||||
SphinxHighlight.initEscapeListener();
|
||||
});
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Community — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -98,7 +95,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="community">
|
||||
<span id="id1"></span><h1>Community<a class="headerlink" href="#community" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Community<a class="headerlink" href="#community" title="Link to this heading"></a></h1>
|
||||
<p>pgPointcloud’s community interacts through <a class="reference external" href="http://lists.osgeo.org/mailman/listinfo/pgpointcloud">Mailing List</a> and <a class="reference external" href="https://github.com/pgpointcloud/pointcloud">GitHub</a>.
|
||||
The <a class="reference external" href="http://lists.osgeo.org/mailman/listinfo/pgpointcloud">Mailing List</a> communication channel is for general questions and
|
||||
feedback. The <a class="reference external" href="https://github.com/pgpointcloud/pointcloud">GitHub</a> communication channel is for development activities,
|
||||
@ -122,7 +119,7 @@ bug reports, and testing.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Binary Formats — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -115,7 +112,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="binary-formats">
|
||||
<span id="id1"></span><h1>Binary Formats<a class="headerlink" href="#binary-formats" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Binary Formats<a class="headerlink" href="#binary-formats" title="Link to this heading"></a></h1>
|
||||
<p>In order to preserve some compactness in dump files and network transmissions,
|
||||
the binary formats need to retain their native compression. All binary formats
|
||||
are hex-encoded before output.</p>
|
||||
@ -130,7 +127,7 @@ are hex-encoded before output.</p>
|
||||
<li><p>the number of points in the patch</p></li>
|
||||
</ul>
|
||||
<section id="point-binary">
|
||||
<h2>Point Binary<a class="headerlink" href="#point-binary" title="Permalink to this heading"></a></h2>
|
||||
<h2>Point Binary<a class="headerlink" href="#point-binary" title="Link to this heading"></a></h2>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">byte</span><span class="p">:</span> <span class="n">endianness</span> <span class="p">(</span><span class="mi">1</span> <span class="o">=</span> <span class="n">NDR</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">XDR</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="n">pcid</span> <span class="p">(</span><span class="n">key</span> <span class="n">to</span> <span class="n">POINTCLOUD_SCHEMAS</span><span class="p">)</span>
|
||||
<span class="n">uchar</span><span class="p">[]:</span> <span class="n">pointdata</span> <span class="p">(</span><span class="n">interpret</span> <span class="n">relative</span> <span class="n">to</span> <span class="n">pcid</span><span class="p">)</span>
|
||||
@ -138,9 +135,9 @@ are hex-encoded before output.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="patch-binary">
|
||||
<h2>Patch Binary<a class="headerlink" href="#patch-binary" title="Permalink to this heading"></a></h2>
|
||||
<h2>Patch Binary<a class="headerlink" href="#patch-binary" title="Link to this heading"></a></h2>
|
||||
<section id="uncompressed">
|
||||
<h3>Uncompressed<a class="headerlink" href="#uncompressed" title="Permalink to this heading"></a></h3>
|
||||
<h3>Uncompressed<a class="headerlink" href="#uncompressed" title="Link to this heading"></a></h3>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">byte</span><span class="p">:</span> <span class="n">endianness</span> <span class="p">(</span><span class="mi">1</span> <span class="o">=</span> <span class="n">NDR</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">XDR</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="n">pcid</span> <span class="p">(</span><span class="n">key</span> <span class="n">to</span> <span class="n">POINTCLOUD_SCHEMAS</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">no</span> <span class="n">compression</span>
|
||||
@ -150,7 +147,7 @@ are hex-encoded before output.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="dimensional">
|
||||
<h3>Dimensional<a class="headerlink" href="#dimensional" title="Permalink to this heading"></a></h3>
|
||||
<h3>Dimensional<a class="headerlink" href="#dimensional" title="Link to this heading"></a></h3>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">byte</span><span class="p">:</span> <span class="n">endianness</span> <span class="p">(</span><span class="mi">1</span> <span class="o">=</span> <span class="n">NDR</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">XDR</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="n">pcid</span> <span class="p">(</span><span class="n">key</span> <span class="n">to</span> <span class="n">POINTCLOUD_SCHEMAS</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="mi">2</span> <span class="o">=</span> <span class="n">dimensional</span> <span class="n">compression</span>
|
||||
@ -208,7 +205,7 @@ derived from the patch metadata by multiplying the dimension word size by the
|
||||
number of points in the patch.</p>
|
||||
</section>
|
||||
<section id="laz">
|
||||
<h3>LAZ<a class="headerlink" href="#laz" title="Permalink to this heading"></a></h3>
|
||||
<h3>LAZ<a class="headerlink" href="#laz" title="Link to this heading"></a></h3>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">byte</span><span class="p">:</span> <span class="n">endianness</span> <span class="p">(</span><span class="mi">1</span> <span class="o">=</span> <span class="n">NDR</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">XDR</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="n">pcid</span> <span class="p">(</span><span class="n">key</span> <span class="n">to</span> <span class="n">POINTCLOUD_SCHEMAS</span><span class="p">)</span>
|
||||
<span class="n">uint32</span><span class="p">:</span> <span class="mi">2</span> <span class="o">=</span> <span class="n">LAZ</span> <span class="n">compression</span>
|
||||
@ -239,7 +236,7 @@ number of points in the patch.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Compressions — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -109,7 +106,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="compressions">
|
||||
<span id="id1"></span><h1>Compressions<a class="headerlink" href="#compressions" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Compressions<a class="headerlink" href="#compressions" title="Link to this heading"></a></h1>
|
||||
<p>One of the issues with LIDAR data is that there is a lot of it. To deal with
|
||||
data volumes, PostgreSQL Pointcloud allows schemas to declare their preferred
|
||||
compression method in the <code class="docutils literal notranslate"><span class="pre"><pc:metadata></span></code> block of the schema document. In
|
||||
@ -132,23 +129,23 @@ use of the LAZ compression. If no compression is declared in
|
||||
<code class="docutils literal notranslate"><span class="pre"><pc:metadata></span></code>, then a compression of “none” is assumed.</p></li>
|
||||
</ul>
|
||||
<section id="dimensional-compression">
|
||||
<h2>Dimensional Compression<a class="headerlink" href="#dimensional-compression" title="Permalink to this heading"></a></h2>
|
||||
<h2>Dimensional Compression<a class="headerlink" href="#dimensional-compression" title="Link to this heading"></a></h2>
|
||||
<p>Dimensional compression first flips the patch representation from a list of N
|
||||
points containing M dimension values to a list of M dimensions each containing
|
||||
N values.</p>
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span>{"pcid":1,"pts":[
|
||||
[-126.99,45.01,1,0],[-126.98,45.02,2,0],[-126.97,45.03,3,0],
|
||||
[-126.96,45.04,4,0],[-126.95,45.05,5,0],[-126.94,45.06,6,0]
|
||||
]}
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="err">{</span><span class="ss">"pcid"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"pts"</span><span class="p">:[</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">99</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">01</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">],[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">98</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">02</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">],[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">97</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">03</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">96</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">04</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">0</span><span class="p">],[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">95</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">05</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">0</span><span class="p">],[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">94</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">06</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="w"> </span><span class="p">]</span><span class="err">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Becomes, notionally:</p>
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span>{"pcid":1,"dims":[
|
||||
[-126.99,-126.98,-126.97,-126.96,-126.95,-126.94],
|
||||
[45.01,45.02,45.03,45.04,45.05,45.06],
|
||||
[1,2,3,4,5,6],
|
||||
[0,0,0,0,0,0]
|
||||
]}
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="err">{</span><span class="ss">"pcid"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"dims"</span><span class="p">:[</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">99</span><span class="p">,</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">98</span><span class="p">,</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">97</span><span class="p">,</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">96</span><span class="p">,</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">95</span><span class="p">,</span><span class="o">-</span><span class="mi">126</span><span class="p">.</span><span class="mi">94</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="mi">45</span><span class="p">.</span><span class="mi">01</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">02</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">03</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">04</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">05</span><span class="p">,</span><span class="mi">45</span><span class="p">.</span><span class="mi">06</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="w"> </span><span class="p">]</span><span class="err">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The potential benefit for compression is that each dimension has quite
|
||||
@ -186,7 +183,7 @@ dimensional scheme compresses at between 3:1 and 5:1 efficiency.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Concepts — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -105,7 +102,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="concepts">
|
||||
<span id="id1"></span><h1>Concepts<a class="headerlink" href="#concepts" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Concepts<a class="headerlink" href="#concepts" title="Link to this heading"></a></h1>
|
||||
<p>LIDAR sensors quickly produce millions of points with large numbers of
|
||||
variables measured on each point. The challenge for a point cloud database
|
||||
extension is efficiently storing this data while allowing high fidelity access
|
||||
@ -149,7 +146,7 @@ to the many variables stored.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Point Cloud Objects — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -110,9 +107,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="point-cloud-objects">
|
||||
<span id="objects"></span><h1>Point Cloud Objects<a class="headerlink" href="#point-cloud-objects" title="Permalink to this heading"></a></h1>
|
||||
<span id="objects"></span><h1>Point Cloud Objects<a class="headerlink" href="#point-cloud-objects" title="Link to this heading"></a></h1>
|
||||
<section id="pcpoint">
|
||||
<h2>PcPoint<a class="headerlink" href="#pcpoint" title="Permalink to this heading"></a></h2>
|
||||
<h2>PcPoint<a class="headerlink" href="#pcpoint" title="Link to this heading"></a></h2>
|
||||
<p>The basic point cloud type is a <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code>. Every point has a (large?) number of
|
||||
dimensions, but at a minimum an X and Y coordinate that place it in space.</p>
|
||||
<p>Points can be rendered in a human-readable JSON form using the
|
||||
@ -121,15 +118,15 @@ dimensions, but at a minimum an X and Y coordinate that place it in space.</p>
|
||||
array of doubles is explained. The underlying storage of the data might not be
|
||||
double, but by the time it has been extracted, scaled and offset, it is
|
||||
representable as doubles.</p>
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span>{
|
||||
"pcid" : 1,
|
||||
"pt" : [0.01, 0.02, 0.03, 4]
|
||||
}
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="err">{</span>
|
||||
<span class="w"> </span><span class="ss">"pcid"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="ss">"pt"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">.</span><span class="mi">01</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">02</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">03</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span>
|
||||
<span class="err">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pcpatch">
|
||||
<h2>PcPatch<a class="headerlink" href="#pcpatch" title="Permalink to this heading"></a></h2>
|
||||
<h2>PcPatch<a class="headerlink" href="#pcpatch" title="Link to this heading"></a></h2>
|
||||
<p>The structure of database storage is such that storing billions of points as
|
||||
individual records in a table is not an efficient use of resources. Instead, we
|
||||
collect a group of <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code> into a <code class="docutils literal notranslate"><span class="pre">PcPatch</span></code>. Each patch should hopefully
|
||||
@ -140,13 +137,13 @@ of millions) of <code class="docutils literal notranslate"><span class="pre">PcP
|
||||
<p>Patches can be rendered into a human-readable JSON form using the
|
||||
<code class="docutils literal notranslate"><span class="pre">PC_AsText(pcpatch)</span></code> function. The “pcid” is the foreign key reference to the
|
||||
<code class="docutils literal notranslate"><span class="pre">pointcloud_formats</span></code> table.</p>
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span>{
|
||||
"pcid" : 1,
|
||||
"pts" : [
|
||||
[0.02, 0.03, 0.05, 6],
|
||||
[0.02, 0.03, 0.05, 8]
|
||||
]
|
||||
}
|
||||
<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="err">{</span>
|
||||
<span class="w"> </span><span class="ss">"pcid"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="ss">"pts"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">.</span><span class="mi">02</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">03</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">05</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">.</span><span class="mi">02</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">03</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">05</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">]</span>
|
||||
<span class="w"> </span><span class="p">]</span>
|
||||
<span class="err">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
@ -169,7 +166,7 @@ of millions) of <code class="docutils literal notranslate"><span class="pre">PcP
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Schemas — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -106,7 +103,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="schemas">
|
||||
<span id="id1"></span><h1>Schemas<a class="headerlink" href="#schemas" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Schemas<a class="headerlink" href="#schemas" title="Link to this heading"></a></h1>
|
||||
<p>Much of the complexity in handling LIDAR comes from the need to deal with
|
||||
multiple variables per point. The variables captured by LIDAR sensors varies by
|
||||
sensor and capture process. Some data sets might contain only X/Y/Z values.
|
||||
@ -203,7 +200,7 @@ document in the <code class="docutils literal notranslate"><span class="pre">poi
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tables — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -106,7 +103,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="tables">
|
||||
<span id="id1"></span><h1>Tables<a class="headerlink" href="#tables" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Tables<a class="headerlink" href="#tables" title="Link to this heading"></a></h1>
|
||||
<p>Usually you will only be creating tables for storing <code class="docutils literal notranslate"><span class="pre">PcPatch</span></code> objects, and
|
||||
using <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code> objects as transitional objects for filtering, but it is
|
||||
possible to create tables of both types. <code class="docutils literal notranslate"><span class="pre">PcPatch</span></code> and <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code> columns
|
||||
@ -165,7 +162,7 @@ database that contain point cloud objects</p></li>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>License — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -35,9 +35,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -97,7 +94,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="license">
|
||||
<span id="id1"></span><h1>License<a class="headerlink" href="#license" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>License<a class="headerlink" href="#license" title="Link to this heading"></a></h1>
|
||||
<p>Copyright (c) 2013 Natural Resources Canada
|
||||
All rights reserved.</p>
|
||||
<p>Redistribution and use in source and binary forms, with or without
|
||||
@ -143,7 +140,7 @@ POSSIBILITY OF SUCH DAMAGE.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
103
development.html
103
development.html
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Development — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -110,11 +107,11 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="development">
|
||||
<span id="development-index"></span><h1>Development<a class="headerlink" href="#development" title="Permalink to this heading"></a></h1>
|
||||
<span id="development-index"></span><h1>Development<a class="headerlink" href="#development" title="Link to this heading"></a></h1>
|
||||
<p>Developer documentation with dependancies, build instructions, how to build a
|
||||
Docker image, update the documentation and run unit tests.</p>
|
||||
<section id="requirements">
|
||||
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this heading"></a></h2>
|
||||
<h2>Requirements<a class="headerlink" href="#requirements" title="Link to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>PostgreSQL and PostgreSQL development packages must be installed (pg_config
|
||||
and server headers). For Red Hat and Ubuntu, the package names are usually
|
||||
@ -127,7 +124,7 @@ and server headers). For Red Hat and Ubuntu, the package names are usually
|
||||
</ul>
|
||||
</section>
|
||||
<section id="build-install">
|
||||
<h2>Build/Install<a class="headerlink" href="#build-install" title="Permalink to this heading"></a></h2>
|
||||
<h2>Build/Install<a class="headerlink" href="#build-install" title="Link to this heading"></a></h2>
|
||||
<p>After generating the configure script with <code class="docutils literal notranslate"><span class="pre">autogen.sh</span></code>, you can use
|
||||
<code class="docutils literal notranslate"><span class="pre">./configure</span> <span class="pre">--help</span></code> to get a complete listing of configuration options.</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>./autogen.sh
|
||||
@ -155,7 +152,7 @@ implementation instead thanks to the next directive:</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tests">
|
||||
<h2>Tests<a class="headerlink" href="#tests" title="Permalink to this heading"></a></h2>
|
||||
<h2>Tests<a class="headerlink" href="#tests" title="Link to this heading"></a></h2>
|
||||
<p><strong>Unit tests</strong></p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>make<span class="w"> </span>check
|
||||
</pre></div>
|
||||
@ -171,7 +168,7 @@ $<span class="w"> </span><span class="nv">PGUSER</span><span class="o">=</span>a
|
||||
the SQL scripts located in <code class="docutils literal notranslate"><span class="pre">pgsql/sql</span></code> in this database.</p>
|
||||
</section>
|
||||
<section id="write-a-loading-system">
|
||||
<h2>Write a loading system<a class="headerlink" href="#write-a-loading-system" title="Permalink to this heading"></a></h2>
|
||||
<h2>Write a loading system<a class="headerlink" href="#write-a-loading-system" title="Link to this heading"></a></h2>
|
||||
<p>If you are writing your own loading system and want to write into Pointcloud
|
||||
types, create well-known binary inputs, in uncompressed format. If your schema
|
||||
indicates that your patch storage is compressed, Pointcloud will automatically
|
||||
@ -184,7 +181,7 @@ ensuring that the endianness of the data matches the declared endianness of the
|
||||
patch.</p>
|
||||
</section>
|
||||
<section id="documentation">
|
||||
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this heading"></a></h2>
|
||||
<h2>Documentation<a class="headerlink" href="#documentation" title="Link to this heading"></a></h2>
|
||||
<p>Sphinx is used to build the documentation. For that, you have to install the
|
||||
next Python packages:</p>
|
||||
<ul class="simple">
|
||||
@ -203,7 +200,7 @@ You can use <code class="docutils literal notranslate"><span class="pre">make</s
|
||||
</div>
|
||||
</section>
|
||||
<section id="docker-image">
|
||||
<h2>Docker Image<a class="headerlink" href="#docker-image" title="Permalink to this heading"></a></h2>
|
||||
<h2>Docker Image<a class="headerlink" href="#docker-image" title="Link to this heading"></a></h2>
|
||||
<p>A <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is provided in the <code class="docutils literal notranslate"><span class="pre">docker</span></code> directory and based on the
|
||||
official PostgreSQL docker image available <a class="reference external" href="https://hub.docker.com/_/postgres">DockerHub</a>. The image generated
|
||||
is based on PostgreSQL 14, PostGIS 3 and the laz-perf support is activated.</p>
|
||||
@ -212,62 +209,34 @@ is based on PostgreSQL 14, PostGIS 3 and the laz-perf support is activated.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="continuous-integration">
|
||||
<h2>Continuous Integration<a class="headerlink" href="#continuous-integration" title="Permalink to this heading"></a></h2>
|
||||
<h2>Continuous Integration<a class="headerlink" href="#continuous-integration" title="Link to this heading"></a></h2>
|
||||
<p>pgPointcloud tests are run with <a class="reference external" href="https://github.com/pgpointcloud/pointcloud/actions">Github Actions</a> on several Ubuntu versions
|
||||
and with various PostgreSQL/PostGIS releases:</p>
|
||||
<table class="docutils align-default">
|
||||
<tbody>
|
||||
<tr class="row-odd"><td></td>
|
||||
<td><p>PostGIS 2.5</p></td>
|
||||
<td><p>PostGIS 3.3</p></td>
|
||||
<td><p>W/O PostGIS</p></td>
|
||||
<td colspan="3"><p>PostGIS 3.3 | W/O PostGIS</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>PostgreSQL 12</p></td>
|
||||
<td><p><img alt="12_25_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres12_postgis25.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+12+and+PostGIS+2.5%22" /></p></td>
|
||||
<td><p><img alt="12_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres12_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+12+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="12_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres12_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+12+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<td><p><img alt="12_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres12_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+12+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="12_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres12_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+12+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<tr class="row-even"><td><p>PostgreSQL 13</p></td>
|
||||
<td colspan="2"><p><img alt="13_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p></td>
|
||||
<td><p><img alt="13_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>PostgreSQL 13</p></td>
|
||||
<td></td>
|
||||
<td><p><img alt="13_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres13_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="13_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<td><p><img alt="13_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres13_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="13_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<tr class="row-odd"><td><p>PostgreSQL 14</p></td>
|
||||
<td colspan="2"><p><img alt="14_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres14_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p></td>
|
||||
<td><p><img alt="14_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres14_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>PostgreSQL 14</p></td>
|
||||
<td></td>
|
||||
<td><p><img alt="14_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres14_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="14_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres14_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<td><p><img alt="14_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres14_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="14_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres14_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+14+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<tr class="row-even"><td><p>PostgreSQL 15</p></td>
|
||||
<td colspan="2"><p><img alt="15_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p></td>
|
||||
<td><p><img alt="15_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>PostgreSQL 15</p></td>
|
||||
<td></td>
|
||||
<td><p><img alt="15_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres15_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="15_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
<td><p><img alt="15_33_focal" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/focal_postgres15_postgis33.yml?branch=master&label=Ubuntu%2020.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-20.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p>
|
||||
<p><img alt="15_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+15+and+PostGIS+3.3%22" /></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>PostgreSQL 16</p></td>
|
||||
<td></td>
|
||||
<td><p><img alt="16_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+16+and+PostGIS+3.3%22" /></p></td>
|
||||
<td><p><img alt="16_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+16+and+PostGIS+3.3%22" /></p></td>
|
||||
<tr class="row-odd"><td><p>PostgreSQL 16</p></td>
|
||||
<td colspan="3"><p><img alt="16_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+16+and+PostGIS+3.3%22" /> | <img alt="16_33_jammy" src="https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=github&style=plastic:target:https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+16+and+PostGIS+3.3%22" /></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="release">
|
||||
<h2>Release<a class="headerlink" href="#release" title="Permalink to this heading"></a></h2>
|
||||
<h2>Release<a class="headerlink" href="#release" title="Link to this heading"></a></h2>
|
||||
<p>Steps for releasing a new version of Pointcloud:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>Add a new section to the <code class="docutils literal notranslate"><span class="pre">NEWS</span></code> file, listing all the changes associated
|
||||
@ -287,7 +256,7 @@ GitHub:</p></li>
|
||||
</div>
|
||||
</section>
|
||||
<section id="valgrind-memcheck">
|
||||
<h2>Valgrind memcheck<a class="headerlink" href="#valgrind-memcheck" title="Permalink to this heading"></a></h2>
|
||||
<h2>Valgrind memcheck<a class="headerlink" href="#valgrind-memcheck" title="Link to this heading"></a></h2>
|
||||
<p>For checking the memory management of pgPointcloud extension, <code class="docutils literal notranslate"><span class="pre">Valgrind</span></code> can
|
||||
be used with <code class="docutils literal notranslate"><span class="pre">PostgreSQL</span></code> in single-user mode.</p>
|
||||
<p>But first, it’s necessary to compile the extension with debug symbols and
|
||||
@ -314,7 +283,7 @@ for Debian based distributions with PostgreSQL 13 and PostGIS 3:</p>
|
||||
<p>Then Valgrind’s report is available in <code class="docutils literal notranslate"><span class="pre">/tmp/valgrind.log</span></code>.</p>
|
||||
</section>
|
||||
<section id="gdb-interactive-mode">
|
||||
<h2>GDB interactive mode<a class="headerlink" href="#gdb-interactive-mode" title="Permalink to this heading"></a></h2>
|
||||
<h2>GDB interactive mode<a class="headerlink" href="#gdb-interactive-mode" title="Link to this heading"></a></h2>
|
||||
<p>GDB may be attached to a running session for debugging purpose:</p>
|
||||
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>psql<span class="w"> </span>mydatabase
|
||||
<span class="go">psql (14.5)</span>
|
||||
@ -354,7 +323,7 @@ usual (step by step, backtrace, …).</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Download — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -105,7 +102,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="download">
|
||||
<span id="id1"></span><h1>Download<a class="headerlink" href="#download" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Download<a class="headerlink" href="#download" title="Link to this heading"></a></h1>
|
||||
<nav class="contents" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -121,13 +118,13 @@
|
||||
</ul>
|
||||
</nav>
|
||||
<section id="current-release-s">
|
||||
<h2>Current Release(s)<a class="headerlink" href="#current-release-s" title="Permalink to this heading"></a></h2>
|
||||
<h2>Current Release(s)<a class="headerlink" href="#current-release-s" title="Link to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><strong>19-09-2023</strong> <a class="reference external" href="https://github.com/pgpointcloud/pointcloud/archive/v1.2.5.tar.gz">pointcloud-1.2.5.tar.gz</a> (<a class="reference external" href="https://github.com/pgpointcloud/pointcloud/blob/v1.2.5/NEWS">Release Notes</a>)</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="past-releases">
|
||||
<h2>Past Releases<a class="headerlink" href="#past-releases" title="Permalink to this heading"></a></h2>
|
||||
<h2>Past Releases<a class="headerlink" href="#past-releases" title="Link to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><strong>26-09-2022</strong> <a class="reference external" href="https://github.com/pgpointcloud/pointcloud/archive/v1.2.4.tar.gz">pointcloud-1.2.4.tar.gz</a></p></li>
|
||||
<li><p><strong>12-09-2022</strong> <a class="reference external" href="https://github.com/pgpointcloud/pointcloud/archive/v1.2.3.tar.gz">pointcloud-1.2.3.tar.gz</a></p></li>
|
||||
@ -141,7 +138,7 @@
|
||||
</ul>
|
||||
</section>
|
||||
<section id="development-source">
|
||||
<span id="source"></span><h2>Development Source<a class="headerlink" href="#development-source" title="Permalink to this heading"></a></h2>
|
||||
<span id="source"></span><h2>Development Source<a class="headerlink" href="#development-source" title="Link to this heading"></a></h2>
|
||||
<p>The source code repository for pgPointcloud is on <a class="reference external" href="https://github.com/pgpointcloud/pointcloud/">GitHub</a>. You can retrieve
|
||||
the development version with <code class="docutils literal notranslate"><span class="pre">git</span></code>:</p>
|
||||
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/pgpointcloud/pointcloud/
|
||||
@ -149,7 +146,7 @@ the development version with <code class="docutils literal notranslate"><span cl
|
||||
</div>
|
||||
</section>
|
||||
<section id="docker-hub">
|
||||
<h2>Docker Hub<a class="headerlink" href="#docker-hub" title="Permalink to this heading"></a></h2>
|
||||
<h2>Docker Hub<a class="headerlink" href="#docker-hub" title="Link to this heading"></a></h2>
|
||||
<p>An official Docker image is available on <a class="reference external" href="https://hub.docker.com/r/pgpointcloud/pointcloud">Docker Hub</a>. To retrieve the
|
||||
development version:</p>
|
||||
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>docker<span class="w"> </span>pull<span class="w"> </span>pgpointcloud/pointcloud
|
||||
@ -157,14 +154,13 @@ development version:</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="binaries">
|
||||
<h2>Binaries<a class="headerlink" href="#binaries" title="Permalink to this heading"></a></h2>
|
||||
<h2>Binaries<a class="headerlink" href="#binaries" title="Link to this heading"></a></h2>
|
||||
<p><strong>Windows</strong></p>
|
||||
<p>pgPointcloud is directly included in the <a class="reference external" href="https://postgis.net/windows_downloads/">PostGIS</a> bundle.</p>
|
||||
<p><strong>Debian</strong></p>
|
||||
<p>Debian packages are now <a class="reference external" href="https://tracker.debian.org/pkg/pgpointcloud">available</a> on:</p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
<li><p>Ubuntu 20.04</p></li>
|
||||
<li><p>Ubuntu 22.04</p></li>
|
||||
<li><p>Debian Testing</p></li>
|
||||
<li><p>Debian Unstable</p></li>
|
||||
@ -193,7 +189,7 @@ development version:</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
31
faq.html
31
faq.html
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>FAQ — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -98,7 +95,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="faq">
|
||||
<span id="id1"></span><h1>FAQ<a class="headerlink" href="#faq" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>FAQ<a class="headerlink" href="#faq" title="Link to this heading"></a></h1>
|
||||
<p><strong>What can be done with pgPointcloud?</strong></p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
@ -179,7 +176,7 @@ time) with a 5 billions points cloud.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Functions — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -104,7 +101,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="functions">
|
||||
<span id="id1"></span><h1>Functions<a class="headerlink" href="#functions" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Functions<a class="headerlink" href="#functions" title="Link to this heading"></a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="points.html">PcPoint</a><ul>
|
||||
@ -126,11 +123,9 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-union">PC_Union</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-intersects">PC_Intersects</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-explode">PC_Explode</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-patchmin">PC_PatchMin</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-patchavg">PC_PatchAvg</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-patchmax">PC_PatchMax</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-patchmin">PC_PatchMin</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#id1">PC_PatchAvg</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#id2">PC_PatchMax</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-filtergreaterthan">PC_FilterGreaterThan</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-filterlessthan">PC_FilterLessThan</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="patchs.html#pc-filterbetween">PC_FilterBetween</a></li>
|
||||
@ -180,7 +175,7 @@
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>PcPatch — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -70,11 +67,9 @@
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-union">PC_Union</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-intersects">PC_Intersects</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-explode">PC_Explode</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-patchmin">PC_PatchMin</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-patchavg">PC_PatchAvg</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-patchmax">PC_PatchMax</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-patchmin">PC_PatchMin</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">PC_PatchAvg</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">PC_PatchMax</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-filtergreaterthan">PC_FilterGreaterThan</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-filterlessthan">PC_FilterLessThan</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pc-filterbetween">PC_FilterBetween</a></li>
|
||||
@ -134,9 +129,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="pcpatch">
|
||||
<span id="patchs"></span><h1>PcPatch<a class="headerlink" href="#pcpatch" title="Permalink to this heading"></a></h1>
|
||||
<span id="patchs"></span><h1>PcPatch<a class="headerlink" href="#pcpatch" title="Link to this heading"></a></h1>
|
||||
<section id="pc-patch">
|
||||
<h2>PC_Patch<a class="headerlink" href="#pc-patch" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Patch<a class="headerlink" href="#pc-patch" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Patch(pts pcpoint[]) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -148,7 +143,7 @@
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-makepatch">
|
||||
<h2>PC_MakePatch<a class="headerlink" href="#pc-makepatch" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_MakePatch<a class="headerlink" href="#pc-makepatch" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_MakePatch(pcid integer, vals float8[]) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -165,7 +160,7 @@ dimensions.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-numpoints">
|
||||
<h2>PC_NumPoints<a class="headerlink" href="#pc-numpoints" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_NumPoints<a class="headerlink" href="#pc-numpoints" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_NumPoints(p pcpatch) returns integer<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -178,7 +173,7 @@ dimensions.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-pcid">
|
||||
<h2>PC_PCId<a class="headerlink" href="#pc-pcid" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_PCId<a class="headerlink" href="#pc-pcid" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PCId(p pcpatch) returns integer<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -191,7 +186,7 @@ dimensions.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-astext">
|
||||
<h2>PC_AsText<a class="headerlink" href="#pc-astext" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_AsText<a class="headerlink" href="#pc-astext" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_AsText(p pcpatch) returns text<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -208,7 +203,7 @@ dimensions.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-summary">
|
||||
<h2>PC_Summary<a class="headerlink" href="#pc-summary" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Summary<a class="headerlink" href="#pc-summary" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Summary(p pcpatch) returns text (from 1.1.0)<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -221,7 +216,7 @@ dimensions.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-uncompress">
|
||||
<h2>PC_Uncompress<a class="headerlink" href="#pc-uncompress" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Uncompress<a class="headerlink" href="#pc-uncompress" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Uncompress(p pcpatch) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -239,7 +234,7 @@ returning.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-union">
|
||||
<h2>PC_Union<a class="headerlink" href="#pc-union" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Union<a class="headerlink" href="#pc-union" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Union(p pcpatch[]) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -254,7 +249,7 @@ returning.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-intersects">
|
||||
<h2>PC_Intersects<a class="headerlink" href="#pc-intersects" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Intersects<a class="headerlink" href="#pc-intersects" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Intersects(p1 pcpatch, p2 pcpatch) returns boolean<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -270,7 +265,7 @@ returning.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-explode">
|
||||
<h2>PC_Explode<a class="headerlink" href="#pc-explode" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Explode<a class="headerlink" href="#pc-explode" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Explode(p pcpatch) returns SetOf[pcpoint]<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -295,38 +290,8 @@ each point in the patch.</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-patchavg">
|
||||
<h2>PC_PatchAvg<a class="headerlink" href="#pc-patchavg" title="Permalink to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchAvg(p pcpatch, dimname text) returns numeric<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
</dl>
|
||||
<p>Reads the values of the requested dimension for all points in the patch and
|
||||
returns the average of those values. Dimension name must exist in the schema.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SELECT</span> <span class="n">PC_PatchAvg</span><span class="p">(</span><span class="n">pa</span><span class="p">,</span> <span class="s1">'intensity'</span><span class="p">)</span>
|
||||
<span class="n">FROM</span> <span class="n">patches</span> <span class="n">WHERE</span> <span class="nb">id</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
|
||||
|
||||
<span class="mf">5.0000000000000000</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-patchmax">
|
||||
<h2>PC_PatchMax<a class="headerlink" href="#pc-patchmax" title="Permalink to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchMax(p pcpatch, dimname text) returns numeric<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
</dl>
|
||||
<p>Reads the values of the requested dimension for all points in the patch and
|
||||
returns the maximum of those values. Dimension name must exist in the schema.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SELECT</span> <span class="n">PC_PatchMax</span><span class="p">(</span><span class="n">pa</span><span class="p">,</span> <span class="s1">'x'</span><span class="p">)</span>
|
||||
<span class="n">FROM</span> <span class="n">patches</span> <span class="n">WHERE</span> <span class="nb">id</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
|
||||
|
||||
<span class="o">-</span><span class="mf">126.41</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-patchmin">
|
||||
<h2>PC_PatchMin<a class="headerlink" href="#pc-patchmin" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_PatchMin<a class="headerlink" href="#pc-patchmin" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchMin(p pcpatch, dimname text) returns numeric<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -351,8 +316,20 @@ returns the minimum of those values. Dimension name must exist in the schema.</p
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="id1">
|
||||
<h2>PC_PatchAvg<a class="headerlink" href="#id1" title="Permalink to this heading"></a></h2>
|
||||
<section id="pc-patchavg">
|
||||
<h2>PC_PatchAvg<a class="headerlink" href="#pc-patchavg" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchAvg(p pcpatch, dimname text) returns numeric<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
</dl>
|
||||
<p>Reads the values of the requested dimension for all points in the patch and
|
||||
returns the average of those values. Dimension name must exist in the schema.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SELECT</span> <span class="n">PC_PatchAvg</span><span class="p">(</span><span class="n">pa</span><span class="p">,</span> <span class="s1">'intensity'</span><span class="p">)</span>
|
||||
<span class="n">FROM</span> <span class="n">patches</span> <span class="n">WHERE</span> <span class="nb">id</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
|
||||
|
||||
<span class="mf">5.0000000000000000</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchAvg(p pcpatch) returns pcpoint<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -365,8 +342,20 @@ returns the minimum of those values. Dimension name must exist in the schema.</p
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="id2">
|
||||
<h2>PC_PatchMax<a class="headerlink" href="#id2" title="Permalink to this heading"></a></h2>
|
||||
<section id="pc-patchmax">
|
||||
<h2>PC_PatchMax<a class="headerlink" href="#pc-patchmax" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchMax(p pcpatch, dimname text) returns numeric<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
</dl>
|
||||
<p>Reads the values of the requested dimension for all points in the patch and
|
||||
returns the maximum of those values. Dimension name must exist in the schema.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SELECT</span> <span class="n">PC_PatchMax</span><span class="p">(</span><span class="n">pa</span><span class="p">,</span> <span class="s1">'x'</span><span class="p">)</span>
|
||||
<span class="n">FROM</span> <span class="n">patches</span> <span class="n">WHERE</span> <span class="nb">id</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
|
||||
|
||||
<span class="o">-</span><span class="mf">126.41</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PatchMax(p pcpatch) returns pcpoint<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -380,7 +369,7 @@ returns the minimum of those values. Dimension name must exist in the schema.</p
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-filtergreaterthan">
|
||||
<h2>PC_FilterGreaterThan<a class="headerlink" href="#pc-filtergreaterthan" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_FilterGreaterThan<a class="headerlink" href="#pc-filtergreaterthan" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_FilterGreaterThan(p pcpatch, dimname text, float8 value) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -395,7 +384,7 @@ value for the requested dimension.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-filterlessthan">
|
||||
<h2>PC_FilterLessThan<a class="headerlink" href="#pc-filterlessthan" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_FilterLessThan<a class="headerlink" href="#pc-filterlessthan" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_FilterLessThan(p pcpatch, dimname text, float8 value) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -404,7 +393,7 @@ value for the requested dimension.</p>
|
||||
for the requested dimension.</p>
|
||||
</section>
|
||||
<section id="pc-filterbetween">
|
||||
<h2>PC_FilterBetween<a class="headerlink" href="#pc-filterbetween" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_FilterBetween<a class="headerlink" href="#pc-filterbetween" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_FilterBetween(p pcpatch, dimname text, float8 value1, float8 value2) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -413,7 +402,7 @@ for the requested dimension.</p>
|
||||
supplied values for the requested dimension.</p>
|
||||
</section>
|
||||
<section id="pc-filterequals">
|
||||
<h2>PC_FilterEquals<a class="headerlink" href="#pc-filterequals" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_FilterEquals<a class="headerlink" href="#pc-filterequals" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_FilterEquals(p pcpatch, dimname text, float8 value) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -422,7 +411,7 @@ supplied values for the requested dimension.</p>
|
||||
values for the requested dimension.</p>
|
||||
</section>
|
||||
<section id="pc-compress">
|
||||
<h2>PC_Compress<a class="headerlink" href="#pc-compress" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Compress<a class="headerlink" href="#pc-compress" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Compress(p pcpatch,global_compression_scheme text,compression_config text) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -446,7 +435,7 @@ schemes are:</p>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="pc-pointn">
|
||||
<h2>PC_PointN<a class="headerlink" href="#pc-pointn" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_PointN<a class="headerlink" href="#pc-pointn" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PointN(p pcpatch, n int4) returns pcpoint<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -455,7 +444,7 @@ schemes are:</p>
|
||||
point from the end.</p>
|
||||
</section>
|
||||
<section id="pc-issorted">
|
||||
<h2>PC_IsSorted<a class="headerlink" href="#pc-issorted" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_IsSorted<a class="headerlink" href="#pc-issorted" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_IsSorted(p pcpatch, dimnames text[], strict boolean default true) returns boolean<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -465,7 +454,7 @@ dimensions. The <code class="docutils literal notranslate"><span class="pre">str
|
||||
(no duplicates).</p>
|
||||
</section>
|
||||
<section id="pc-sort">
|
||||
<h2>PC_Sort<a class="headerlink" href="#pc-sort" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Sort<a class="headerlink" href="#pc-sort" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Sort(p pcpatch, dimnames text[]) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -474,7 +463,7 @@ dimensions. The <code class="docutils literal notranslate"><span class="pre">str
|
||||
dimensions.</p>
|
||||
</section>
|
||||
<section id="pc-range">
|
||||
<h2>PC_Range<a class="headerlink" href="#pc-range" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Range<a class="headerlink" href="#pc-range" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Range(p pcpatch, start int4, n int4) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -483,7 +472,7 @@ dimensions.</p>
|
||||
start-th point with 1-based indexing.</p>
|
||||
</section>
|
||||
<section id="pc-setpcid">
|
||||
<h2>PC_SetPCId<a class="headerlink" href="#pc-setpcid" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_SetPCId<a class="headerlink" href="#pc-setpcid" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_SetPCId(p pcpatch, pcid int4, def float8 default 0.0) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -494,7 +483,7 @@ value <code class="docutils literal notranslate"><span class="pre">def</span></c
|
||||
its default value is <code class="docutils literal notranslate"><span class="pre">0.0</span></code>.</p>
|
||||
</section>
|
||||
<section id="pc-transform">
|
||||
<h2>PC_Transform<a class="headerlink" href="#pc-transform" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Transform<a class="headerlink" href="#pc-transform" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Transform(p pcpatch, pcid int4, def float8 default 0.0) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -509,7 +498,7 @@ data if dimension interpretations, scales or offsets are different in the new
|
||||
schema.</p>
|
||||
</section>
|
||||
<section id="pc-memsize">
|
||||
<h2>PC_MemSize<a class="headerlink" href="#pc-memsize" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_MemSize<a class="headerlink" href="#pc-memsize" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_MemSize(p pcpatch) returns int4<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -540,7 +529,7 @@ schema.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>PcPoint — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -112,9 +109,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="pcpoint">
|
||||
<span id="points"></span><h1>PcPoint<a class="headerlink" href="#pcpoint" title="Permalink to this heading"></a></h1>
|
||||
<span id="points"></span><h1>PcPoint<a class="headerlink" href="#pcpoint" title="Link to this heading"></a></h1>
|
||||
<section id="pc-makepoint">
|
||||
<h2>PC_MakePoint<a class="headerlink" href="#pc-makepoint" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_MakePoint<a class="headerlink" href="#pc-makepoint" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_MakePoint(pcid integer, vals float8[]) returns pcpoint<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -141,7 +138,7 @@ schema, construct a new pcpoint.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-astext">
|
||||
<h2>PC_AsText<a class="headerlink" href="#pc-astext" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_AsText<a class="headerlink" href="#pc-astext" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_AsText(p pcpoint) returns text<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -154,7 +151,7 @@ schema, construct a new pcpoint.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-pcid">
|
||||
<h2>PC_PCId<a class="headerlink" href="#pc-pcid" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_PCId<a class="headerlink" href="#pc-pcid" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_PCId(p pcpoint) returns integer (from 1.1.0)<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -167,7 +164,7 @@ schema, construct a new pcpoint.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-get">
|
||||
<h2>PC_Get<a class="headerlink" href="#pc-get" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Get<a class="headerlink" href="#pc-get" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Get(pt pcpoint) returns float8[]<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -191,7 +188,7 @@ in the schema.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-memsize">
|
||||
<h2>PC_MemSize<a class="headerlink" href="#pc-memsize" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_MemSize<a class="headerlink" href="#pc-memsize" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_MemSize(pt pcpoint) returns int4<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -222,7 +219,7 @@ in the schema.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>PostGIS — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -112,7 +109,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="postgis">
|
||||
<span id="points"></span><h1>PostGIS<a class="headerlink" href="#postgis" title="Permalink to this heading"></a></h1>
|
||||
<span id="points"></span><h1>PostGIS<a class="headerlink" href="#postgis" title="Link to this heading"></a></h1>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">pointcloud_postgis</span></code> extension adds functions that allow you to use
|
||||
PostgreSQL Pointcloud with PostGIS, converting <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code> and <code class="docutils literal notranslate"><span class="pre">PcPatch</span></code> to
|
||||
Geometry and doing spatial filtering on point cloud data. The
|
||||
@ -124,7 +121,7 @@ Geometry and doing spatial filtering on point cloud data. The
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="pc-intersects">
|
||||
<h2>PC_Intersects<a class="headerlink" href="#pc-intersects" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Intersects<a class="headerlink" href="#pc-intersects" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Intersects(p pcpatch, g geometry) returns boolean<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -140,7 +137,7 @@ Geometry and doing spatial filtering on point cloud data. The
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-intersection">
|
||||
<h2>PC_Intersection<a class="headerlink" href="#pc-intersection" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_Intersection<a class="headerlink" href="#pc-intersection" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_Intersection(pcpatch, geometry) returns pcpatch<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -162,7 +159,7 @@ Geometry and doing spatial filtering on point cloud data. The
|
||||
</div>
|
||||
</section>
|
||||
<section id="geometry">
|
||||
<h2>Geometry<a class="headerlink" href="#geometry" title="Permalink to this heading"></a></h2>
|
||||
<h2>Geometry<a class="headerlink" href="#geometry" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Geometry(pcpoint) returns geometry<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -178,7 +175,7 @@ Geometry and doing spatial filtering on point cloud data. The
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-envelopegeometry">
|
||||
<h2>PC_EnvelopeGeometry<a class="headerlink" href="#pc-envelopegeometry" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_EnvelopeGeometry<a class="headerlink" href="#pc-envelopegeometry" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_EnvelopeGeometry(pcpatch) returns geometry<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -196,7 +193,7 @@ performing 2D intersection tests with PostGIS geometries.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-boundingdiagonalgeometry">
|
||||
<h2>PC_BoundingDiagonalGeometry<a class="headerlink" href="#pc-boundingdiagonalgeometry" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_BoundingDiagonalGeometry<a class="headerlink" href="#pc-boundingdiagonalgeometry" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_BoundingDiagonalGeometry(pcpatch) returns geometry<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -245,7 +242,7 @@ index on a patch column.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>WKB — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -110,9 +107,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="wkb">
|
||||
<span id="points"></span><h1>WKB<a class="headerlink" href="#wkb" title="Permalink to this heading"></a></h1>
|
||||
<span id="points"></span><h1>WKB<a class="headerlink" href="#wkb" title="Link to this heading"></a></h1>
|
||||
<section id="pc-asbinary">
|
||||
<h2>PC_AsBinary<a class="headerlink" href="#pc-asbinary" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_AsBinary<a class="headerlink" href="#pc-asbinary" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_AsBinary(p pcpoint) returns bytea<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -125,7 +122,7 @@
|
||||
</div>
|
||||
</section>
|
||||
<section id="pc-envelopeasbinary">
|
||||
<h2>PC_EnvelopeAsBinary<a class="headerlink" href="#pc-envelopeasbinary" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_EnvelopeAsBinary<a class="headerlink" href="#pc-envelopeasbinary" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_EnvelopeAsBinary(p pcpatch) returns bytea<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -145,7 +142,7 @@ deprecated and will be removed in a future version (2.0) of the extension.
|
||||
<code class="docutils literal notranslate"><span class="pre">PC_EnvelopeAsBinary</span></code> is to be used instead.</p>
|
||||
</section>
|
||||
<section id="pc-boundingdiagonalasbinary">
|
||||
<h2>PC_BoundingDiagonalAsBinary<a class="headerlink" href="#pc-boundingdiagonalasbinary" title="Permalink to this heading"></a></h2>
|
||||
<h2>PC_BoundingDiagonalAsBinary<a class="headerlink" href="#pc-boundingdiagonalasbinary" title="Link to this heading"></a></h2>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">PC_BoundingDiagonalAsBinary(p pcpatch) returns bytea<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
@ -177,7 +174,7 @@ patch.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="#" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -33,9 +33,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -115,7 +112,7 @@
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
53
index.html
53
index.html
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pgPointcloud - A PostgreSQL extension for storing point cloud (LIDAR) data. — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -35,9 +35,6 @@
|
||||
<a href="#" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -97,7 +94,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="pgpointcloud-a-postgresql-extension-for-storing-point-cloud-lidar-data">
|
||||
<span id="home"></span><h1>pgPointcloud - A PostgreSQL extension for storing point cloud (LIDAR) data.<a class="headerlink" href="#pgpointcloud-a-postgresql-extension-for-storing-point-cloud-lidar-data" title="Permalink to this heading"></a></h1>
|
||||
<span id="home"></span><h1>pgPointcloud - A PostgreSQL extension for storing point cloud (LIDAR) data.<a class="headerlink" href="#pgpointcloud-a-postgresql-extension-for-storing-point-cloud-lidar-data" title="Link to this heading"></a></h1>
|
||||
<p><a class="reference external" href="http://en.wikipedia.org/wiki/LIDAR">LIDAR</a> <a class="reference external" href="http://en.wikipedia.org/wiki/Point_cloud">point cloud</a> are becoming more and more available. Devices are easy to
|
||||
get, not too expensive, and provide very accurate 3D points. pgPointCLoud is an
|
||||
open source <a class="reference external" href="https://www.postgresql.org/">PostgreSQL</a> extension for storing point cloud data and use it with
|
||||
@ -106,14 +103,14 @@ open source <a class="reference external" href="https://www.postgresql.org/">Pos
|
||||
problems and allows a good integration with other geo-spatial data
|
||||
(vector, raster) into one common framework : PostGIS.</p>
|
||||
<section id="news">
|
||||
<h2>News<a class="headerlink" href="#news" title="Permalink to this heading"></a></h2>
|
||||
<h2>News<a class="headerlink" href="#news" title="Link to this heading"></a></h2>
|
||||
<section id="id1">
|
||||
<h3><strong>19-09-2023</strong><a class="headerlink" href="#id1" title="Permalink to this heading"></a></h3>
|
||||
<h3><strong>19-09-2023</strong><a class="headerlink" href="#id1" title="Link to this heading"></a></h3>
|
||||
<p>pgPointcloud 1.2.5 has been released.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="concepts">
|
||||
<h2>Concepts<a class="headerlink" href="#concepts" title="Permalink to this heading"></a></h2>
|
||||
<h2>Concepts<a class="headerlink" href="#concepts" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="concepts/index.html">Concepts</a><ul>
|
||||
@ -128,7 +125,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="download">
|
||||
<h2>Download<a class="headerlink" href="#download" title="Permalink to this heading"></a></h2>
|
||||
<h2>Download<a class="headerlink" href="#download" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="download.html">Download</a><ul>
|
||||
@ -143,7 +140,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="getting-started">
|
||||
<h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this heading"></a></h2>
|
||||
<h2>Getting Started<a class="headerlink" href="#getting-started" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Getting Started</a><ul>
|
||||
@ -157,7 +154,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="functions">
|
||||
<h2>Functions<a class="headerlink" href="#functions" title="Permalink to this heading"></a></h2>
|
||||
<h2>Functions<a class="headerlink" href="#functions" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="functions/index.html">Functions</a><ul>
|
||||
@ -171,7 +168,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="update">
|
||||
<h2>Update<a class="headerlink" href="#update" title="Permalink to this heading"></a></h2>
|
||||
<h2>Update<a class="headerlink" href="#update" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="update.html">Update</a><ul>
|
||||
@ -182,7 +179,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="tutorials">
|
||||
<h2>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this heading"></a></h2>
|
||||
<h2>Tutorials<a class="headerlink" href="#tutorials" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="tutorials/index.html">Tutorials</a><ul>
|
||||
@ -194,7 +191,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="development">
|
||||
<h2>Development<a class="headerlink" href="#development" title="Permalink to this heading"></a></h2>
|
||||
<h2>Development<a class="headerlink" href="#development" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="development.html">Development</a><ul>
|
||||
@ -214,7 +211,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="project">
|
||||
<h2>Project<a class="headerlink" href="#project" title="Permalink to this heading"></a></h2>
|
||||
<h2>Project<a class="headerlink" href="#project" title="Link to this heading"></a></h2>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="community.html">Community</a></li>
|
||||
@ -224,7 +221,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
</div>
|
||||
</section>
|
||||
<section id="indices-and-tables">
|
||||
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading"></a></h2>
|
||||
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
|
||||
@ -248,7 +245,7 @@ problems and allows a good integration with other geo-spatial data
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Getting Started — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -104,9 +101,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="getting-started">
|
||||
<span id="quickstart"></span><h1>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this heading"></a></h1>
|
||||
<span id="quickstart"></span><h1>Getting Started<a class="headerlink" href="#getting-started" title="Link to this heading"></a></h1>
|
||||
<section id="introduction">
|
||||
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading"></a></h2>
|
||||
<h2>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h2>
|
||||
<p>Once pgPointcloud installed, the first step is to load a point cloud in
|
||||
PostgreSQL to start playing with <code class="docutils literal notranslate"><span class="pre">PcPatch</span></code> and <code class="docutils literal notranslate"><span class="pre">PcPoint</span></code>.</p>
|
||||
<p>To do that you can write your own loader, using the uncompressed WKB format, or
|
||||
@ -114,13 +111,13 @@ more simply you can load existing LIDAR files using the <a class="reference exte
|
||||
format conversion library.</p>
|
||||
</section>
|
||||
<section id="install-pdal">
|
||||
<h2>Install PDAL<a class="headerlink" href="#install-pdal" title="Permalink to this heading"></a></h2>
|
||||
<h2>Install PDAL<a class="headerlink" href="#install-pdal" title="Link to this heading"></a></h2>
|
||||
<p>To install PDAL check out the PDAL <a class="reference external" href="https://pdal.io/development/">development documentation</a>.</p>
|
||||
<p>With PDAL installed you’re ready to run a PDAL import into PostgreSQL
|
||||
PointCloud thanks to the dedicated <a class="reference external" href="https://pdal.io/stages/writers.pgpointcloud.html#writers-pgpointcloud">pgPointcloud writer</a>.</p>
|
||||
</section>
|
||||
<section id="running-a-pipeline">
|
||||
<h2>Running a pipeline<a class="headerlink" href="#running-a-pipeline" title="Permalink to this heading"></a></h2>
|
||||
<h2>Running a pipeline<a class="headerlink" href="#running-a-pipeline" title="Link to this heading"></a></h2>
|
||||
<p>PDAL includes a <a class="reference external" href="https://pdal.io/apps/index.html">command line program</a> that allows both simple format
|
||||
translations and more complex “pipelines” of transformation. The pdal translate
|
||||
does simple format transformations. In order to load data into Pointcloud we
|
||||
@ -208,7 +205,7 @@ partial extracts from a table:</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="pgpointcloud-reader-writer">
|
||||
<h2>pgpointcloud reader/writer<a class="headerlink" href="#pgpointcloud-reader-writer" title="Permalink to this heading"></a></h2>
|
||||
<h2>pgpointcloud reader/writer<a class="headerlink" href="#pgpointcloud-reader-writer" title="Link to this heading"></a></h2>
|
||||
<p>The PDAL <a class="reference external" href="https://pdal.io/stages/writers.pgpointcloud.html">writers.pgpointcloud</a> for PostgreSQL Pointcloud takes the following
|
||||
options:</p>
|
||||
<ul class="simple">
|
||||
@ -253,7 +250,7 @@ options:</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
29
search.html
29
search.html
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<script src="_static/searchtools.js"></script>
|
||||
<script src="_static/language_data.js"></script>
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="#" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -123,7 +120,7 @@
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Schema and compression — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -108,11 +105,11 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="schema-and-compression">
|
||||
<h1>Schema and compression<a class="headerlink" href="#schema-and-compression" title="Permalink to this heading"></a></h1>
|
||||
<h1>Schema and compression<a class="headerlink" href="#schema-and-compression" title="Link to this heading"></a></h1>
|
||||
<p>This tutorial is an introduction for investigating XML schemas and playing with
|
||||
compression of patches.</p>
|
||||
<section id="compression-type">
|
||||
<h2>Compression type<a class="headerlink" href="#compression-type" title="Permalink to this heading"></a></h2>
|
||||
<h2>Compression type<a class="headerlink" href="#compression-type" title="Link to this heading"></a></h2>
|
||||
<p>The compression of a patch may be retrieved through its XML schema but it’s
|
||||
also stored in the patch itself. Of course, both needs to be consistent so
|
||||
updating an existing schema is hardly discouraged and may lead to errors.</p>
|
||||
@ -147,7 +144,7 @@ JSON summary of the patch:</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="create-a-new-schema">
|
||||
<h2>Create a new schema<a class="headerlink" href="#create-a-new-schema" title="Permalink to this heading"></a></h2>
|
||||
<h2>Create a new schema<a class="headerlink" href="#create-a-new-schema" title="Link to this heading"></a></h2>
|
||||
<p>A schema is just a XML document and may be manually inserted into the
|
||||
<code class="docutils literal notranslate"><span class="pre">pointcloud_formats</span></code> table directly from a file. We can also duplicate an
|
||||
existing schema and tweak some parameters.</p>
|
||||
@ -161,7 +158,7 @@ schema <code class="docutils literal notranslate"><span class="pre">pcid=1</span
|
||||
</div>
|
||||
</section>
|
||||
<section id="transform-a-patch">
|
||||
<h2>Transform a patch<a class="headerlink" href="#transform-a-patch" title="Permalink to this heading"></a></h2>
|
||||
<h2>Transform a patch<a class="headerlink" href="#transform-a-patch" title="Link to this heading"></a></h2>
|
||||
<p>Thanks to the <code class="docutils literal notranslate"><span class="pre">pc_transform</span></code> function, we can transform the underlying data
|
||||
of a patch to match a specific schema. So if we want to remove the dimensional
|
||||
compression from an existing patch, we can use the schema with <code class="docutils literal notranslate"><span class="pre">pcid=2</span></code>
|
||||
@ -205,7 +202,7 @@ anymore:</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tutorials — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -102,7 +99,7 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="tutorials">
|
||||
<span id="id1"></span><h1>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Tutorials<a class="headerlink" href="#tutorials" title="Link to this heading"></a></h1>
|
||||
<p>This chapter provides some basic tutorials on how to deploy and use
|
||||
pgPointcloud.</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
@ -130,7 +127,7 @@ pgPointcloud.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Storing points — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="../_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -108,11 +105,11 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="storing-points">
|
||||
<h1>Storing points<a class="headerlink" href="#storing-points" title="Permalink to this heading"></a></h1>
|
||||
<h1>Storing points<a class="headerlink" href="#storing-points" title="Link to this heading"></a></h1>
|
||||
<p>This tutorial is a basic introduction to pgPointcloud to store points in a
|
||||
PostgreSQL database hosted on a Docker container.</p>
|
||||
<section id="start-docker-container">
|
||||
<h2>Start Docker container<a class="headerlink" href="#start-docker-container" title="Permalink to this heading"></a></h2>
|
||||
<h2>Start Docker container<a class="headerlink" href="#start-docker-container" title="Link to this heading"></a></h2>
|
||||
<p>First we download the latest tag of the pgPoincloud Docker image:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>docker<span class="w"> </span>pull<span class="w"> </span>pgpointcloud/pointcloud
|
||||
</pre></div>
|
||||
@ -145,7 +142,7 @@ documentation is available <a class="reference external" href="https://hub.docke
|
||||
</div>
|
||||
</section>
|
||||
<section id="run-pdal-pipeline">
|
||||
<h2>Run PDAL pipeline<a class="headerlink" href="#run-pdal-pipeline" title="Permalink to this heading"></a></h2>
|
||||
<h2>Run PDAL pipeline<a class="headerlink" href="#run-pdal-pipeline" title="Link to this heading"></a></h2>
|
||||
<p>For the need of the tutorial, we can download sample data from the <a class="reference external" href="https://github.com/PDAL">PDAL</a>
|
||||
organization:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>wget<span class="w"> </span>https://github.com/PDAL/data/raw/master/liblas/LAS12_Sample_withRGB_Quick_Terrain_Modeler_fixed.laz<span class="w"> </span>-P<span class="w"> </span>/tmp
|
||||
@ -189,7 +186,7 @@ adress on which the PostgreSQL database is running is necessary:</p>
|
||||
and an <code class="docutils literal notranslate"><span class="pre">airport</span></code> table is created.</p>
|
||||
</section>
|
||||
<section id="configure-connection-service-file">
|
||||
<h2>Configure connection service file<a class="headerlink" href="#configure-connection-service-file" title="Permalink to this heading"></a></h2>
|
||||
<h2>Configure connection service file<a class="headerlink" href="#configure-connection-service-file" title="Link to this heading"></a></h2>
|
||||
<p>To facilitate the access to the database hosted on the Docker container, we can
|
||||
configure the PostgreSQL connection service file:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">[</span>pgpointcloud<span class="o">]</span>
|
||||
@ -235,7 +232,7 @@ fully filled.</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
33
update.html
33
update.html
@ -1,22 +1,22 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<html class="writer-html5" lang="en" data-content_root="./">
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Update — pgpointcloud</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=148feb7c"></script>
|
||||
<script src="_static/doctools.js?v=888ff710"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=36f53d34"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
@ -36,9 +36,6 @@
|
||||
<a href="index.html" class="icon icon-home">
|
||||
pgPointcloud
|
||||
</a>
|
||||
<div class="version">
|
||||
1.2.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
@ -101,9 +98,9 @@
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="update">
|
||||
<span id="id1"></span><h1>Update<a class="headerlink" href="#update" title="Permalink to this heading"></a></h1>
|
||||
<span id="id1"></span><h1>Update<a class="headerlink" href="#update" title="Link to this heading"></a></h1>
|
||||
<section id="pgpointcloud-extension">
|
||||
<h2>pgPointcloud extension<a class="headerlink" href="#pgpointcloud-extension" title="Permalink to this heading"></a></h2>
|
||||
<h2>pgPointcloud extension<a class="headerlink" href="#pgpointcloud-extension" title="Link to this heading"></a></h2>
|
||||
<p>Once a new version of pgPointcloud installed, you may want to update your
|
||||
databases where the extension is already in use. The first thing to compare is
|
||||
the version currently used with versions actually available on your system:</p>
|
||||
@ -154,7 +151,7 @@ the <a class="reference external" href="/https://pgpointcloud.github.io/pointclo
|
||||
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
© 2023
|
||||
© 2025
|
||||
<a href="https://github.com/pramsey">Paul Ramsey</a>,
|
||||
<a href="http://github.com/pblottiere">Paul Blottiere</a>,
|
||||
<a href="http://github.com/mbredif">Mathieu Brédif</a>,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user