Comment on page
tf_load_point_cloud
Loads one or more
las
or laz
point cloud/LiDAR files from a local file or directory source, optionally tranforming the output SRID to out_srs
(if not specified, output points are automatically transformed to EPSG:4326 lon/lat pairs).If
use_cache
is set to true
, an internal point cloud-specific cache will be used to hold the results per input file, and if queried again will significantly speed up the query time, allowing for interactive querying of a point cloud source. If the results of tf_load_point_cloud
will only be consumed once (for example, as part of a CREATE TABLE
statement), it is highly recommended that use_cache
is set to false
or left unspecified (as it is defaulted to false
) to avoid the performance and memory overhead incurred by used of the cache. The bounds of the data retrieved can be optionally specified with the
x_min
, x_max
, y_min
, y_max
arguments. These arguments can be useful when the user desires to retrieve a small geographic area from a large point-cloud file set, as files containing data outside the bounds of the specified bounding box will be quickly skipped by tf_load_point_cloud
, only requiring a quick read of the spatial metadata for the file.SELECT * FROM TABLE(
tf_load_point_cloud(
path => <path>,
[out_srs => <out_srs>,
use_cache => <use_cache>,
x_min => <x_min>,
x_max => <x_max>,
y_min => <y_min>,
y_max => <y_max>]
)
)
Input Arguments
Parameter | Description | Data Types |
---|---|---|
path | The path of the file or directory containing the las/laz file or files. Can contain globs. Path must be in allowed-import-paths . | TEXT ENCODING NONE |
out_srs (optional) | EPSG code of the output SRID. If not specified, output points are automatically converted to lon/lat (EPSG 4326). | TEXT ENCODING NONE |
use_cache (optional) | If true, use internal point cloud cache. Useful for inline querying of the output of tf_load_point_cloud . Should turn off for one-shot queries or when creating a table from the output, as adding data to the cache incurs performance and memory usage overhead. If not specified, is defaulted to false /off. | BOOLEAN |
x_min (optional) | Min x-coordinate value (in degrees) for the output data. | DOUBLE |
x_max (optional) | Max x-coordinate value (in degrees) for the output data. | DOUBLE |
y_min (optional) | Min y-coordinate value (in degrees) for the output data. | DOUBLE |
y_max (optional) | Max y-coordinate value (in degrees) for the output data. | DOUBLE |
Output Columns
Name | Description | Data Types |
---|---|---|
x | Point x-coordinate | Column<DOUBLE> |
y | Point y-coordinate | Column<DOUBLE> |
z | Point z-coordinate | Column<DOUBLE> |
intensity | Point intensity | Column<INT> |
return_num | The ordered number of the return for a given LiDAR pulse. The first returns (lowest return numbers) are generally associated with the highest-elevation points for a LiDAR pulse, i.e. the forest canopy will generally have a lower return_num than the ground beneath it. | Column<TINYINT> |
num_returns | The total number of returns for a LiDAR pulse. Multiple returns occur when there are multiple objects between the LiDAR source and the lowest ground or water elevation for a location. | Column<TINYINT> |
scan_direction_flag | From the ASPRS LiDAR Data Exchange Format Standard: "The scan direction flag denotes the direction at which the scanner mirror was traveling at the time of the output pulse. A bit value of 1 is a positive scan direction, and a bit value of 0 is a negative scan direction." | Column<TINYINT> |
edge_of_flight_line_flag | From the ASPRS LiDAR Data Exchange Format Standard: "The edge of flight line data bit has a value of 1 only when the point is at the end of a scan. It is the last point on a given scan line before it changes direction." | Column<TINYINT> |
classification | From the ASPRS LiDAR Data Exchange Format Standard: "The classification field is a number to signify a given classification during filter processing. The ASPRS standard has a public list of classifications which shall be used when mixing vendor specific user software." | Column<SMALLINT> |
scan_angle_rank | From the ASPRS LiDAR Data Exchange Format Standard: "The angle at which the laser point was output from the laser system, including the roll of the aircraft... The scan angle is an angle based on 0 degrees being NADIR, and –90 degrees to the left side of the aircraft in the direction of flight." | Column<TINYINT> |
Example A
CREATE TABLE wake_co_lidar_test AS
SELECT
*
FROM
TABLE(
tf_load_point_cloud(
path => '/path/to/20150118_LA_37_20066601.laz'
)
);
Example B
SELECT
x, y, z, classification
FROM
TABLE(
tf_load_point_cloud(
path => '/path/to/las_files/*.las',
out_srs => 'EPSG:4326',
use_cache => true,
y_min => 37.0,
y_max => 38.0,
x_min => -123.0,
x_max => -122.0
)
)

LiDAR data from downtown Tallahassee, FL, colored by Z-value
Last modified 9mo ago