'\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH lasinfo 1 "16 February 2019" "" "" .SH NAME lasinfo \- display LAS file details .SH SYNOPSIS 'nh .fi .ad l \fBlasinfo\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [\fB-h\fR | \fB-i\fR \fIarg\fR [\fB-v\fR] [\fB--no-vlrs\fR] [\fB--no-schema\fR] [\fB--no-check\fR] [\fB--xml\fR] [\fB-p\fR \fIarg\fR] [\fIFiltering options\fR] ] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION \fBlasinfo\fR displays LAS file details with optional output filters. While \fBlasinfo\fR can do a few simple operations like updating header information, more drastic changes, like removing points or altering values, will require \fBlas2las\fR(1). .SH OPTIONS lasinfo options: .TP \*(T<\fB\-h\fR\*(T>, \*(T<\fB\-\-help\fR\*(T> produce help message .TP \*(T<\fB\-i\fR\*(T> \fIarg\fR, \*(T<\fB\-\-input\fR\*(T> \fIarg\fR input LAS file .TP \*(T<\fB\-v\fR\*(T>, \*(T<\fB\-\-verbose\fR\*(T> Verbose message output .TP \*(T<\fB\-\-no\-vlrs\fR\*(T> Don't show VLRs .TP \*(T<\fB\-\-no\-schema\fR\*(T> Don't show schema .TP \*(T<\fB\-\-no\-check\fR\*(T> Don't scan points .TP \*(T<\fB\-\-xml\fR\*(T> Output as XML .TP \*(T<\fB\-p\fR\*(T> \fIarg\fR, \*(T<\fB\-\-point\fR\*(T> \fIarg\fR Display a point with a given id. \*(T<\fB\-\-point 44\fR\*(T> .PP Filtering options: .TP \*(T<\fB\-e\fR\*(T> \fIarg\fR, \*(T<\fB\-\-extent\fR\*(T> \fIarg\fR Extent window that points must fall within to keep. Use a comma-separated or quoted, space-separated list, for example, \*(T<\fB\-e minx, miny, maxx, maxy\fR\*(T> or \*(T<\fB\-e minx, miny, minz, maxx, maxy, maxz\fR\*(T> \*(T<\fB\-e "minx miny minz maxx maxy maxz"\fR\*(T> .TP \*(T<\fB\-\-minx\fR\*(T> \fIarg\fR Extent must be greater than or equal to minx to be kept. \*(T<\fB\-\-minx 1234.0\fR\*(T> .TP \*(T<\fB\-\-miny\fR\*(T> \fIarg\fR Extent must be greater than or equal to miny to be kept. \*(T<\fB\-\-miny 5678.0\fR\*(T> .TP \*(T<\fB\-\-minz\fR\*(T> \fIarg\fR Extent must be greater than or equal to minz to be kept. If maxx and maxy are set but not minz *and maxz, all z values are kept. \*(T<\fB\-\-minz 0.0\fR\*(T> .TP \*(T<\fB\-\-maxx\fR\*(T> \fIarg\fR Extent must be less than or equal to maxx to be kept. \*(T<\fB\-\-maxx 1234.0\fR\*(T> .TP \*(T<\fB\-\-maxy\fR\*(T> \fIarg\fR Extent must be less than or equal to maxy to be kept. \*(T<\fB\-\-maxy 5678.0\fR\*(T> .TP \*(T<\fB\-\-maxz\fR\*(T> \fIarg\fR Extent must be less than or equal to maxz to be kept. If maxx and maxy are set but not maxz *and minz, all z values are kept. \*(T<\fB\-\-maxz 10.0\fR\*(T> .TP \*(T<\fB\-t\fR\*(T> \fIarg\fR, \*(T<\fB\-\-thin\fR\*(T> \fIarg\fR (=0) Simple decimation-style thinning. Thin the file by removing every t'th point from the file. .TP \*(T<\fB\-\-last_return_only\fR\*(T> Keep last returns (cannot be used with \*(T<\fB\-\-first_return_only\fR\*(T>) .TP \*(T<\fB\-\-first_return_only\fR\*(T> Keep first returns (cannot be used with \*(T<\fB\-\-last_return_only\fR\*(T>) .TP \*(T<\fB\-\-keep\-returns\fR\*(T> \fIarg\fR A list of return numbers to keep in the output file: \*(T<\fB\-\-keep\-returns 1 2 3\fR\*(T> .TP \*(T<\fB\-\-drop\-returns\fR\*(T> \fIarg\fR Return numbers to drop. For example, \*(T<\fB\-\-drop\-returns 2 3 4 5\fR\*(T> .TP \*(T<\fB\-\-valid_only\fR\*(T> Keep only valid points .TP \*(T<\fB\-\-keep\-classes\fR\*(T> \fIarg\fR A list of classifications to keep: \*(T<\fB\-\-keep\-classes 2 4 12\fR\*(T> \*(T<\fB\-\-keep\-classes 2\fR\*(T> .TP \*(T<\fB\-\-drop\-classes\fR\*(T> \fIarg\fR A comma-separated list of classifications to drop: \*(T<\fB\-\-drop\-classes 1,7,8\fR\*(T> \*(T<\fB\-\-drop\-classes 2\fR\*(T> .TP \*(T<\fB\-\-keep\-intensity\fR\*(T> \fIarg\fR Range in which to keep intensity. The following expression types are supported: \*(T<\fB\-\-keep\-intensity 0\-100\fR\*(T> \*(T<\fB\-\-keep\-intensity <200\fR\*(T> \*(T<\fB\-\-keep\-intensity >400\fR\*(T> \*(T<\fB\-\-keep\-intensity >=200\fR\*(T> .TP \*(T<\fB\-\-drop\-intensity\fR\*(T> \fIarg\fR Range in which to drop intensity. The following expression types are supported: \*(T<\fB\-\-drop\-intensity <200\fR\*(T> \*(T<\fB\-\-drop\-intensity >400\fR\*(T> \*(T<\fB\-\-drop\-intensity >=200\fR\*(T> .TP \*(T<\fB\-\-keep\-time\fR\*(T> \fIarg\fR Range in which to keep time. The following expression types are supported: \*(T<\fB\-\-keep\-time 413665.2336\-414092.8462\fR\*(T> \*(T<\fB\-\-keep\-time <414094.8462\fR\*(T> \*(T<\fB\-\-keep\-time >413665.2336\fR\*(T> \*(T<\fB\-\-keep\-time >=413665.2336\fR\*(T> .TP \*(T<\fB\-\-drop\-time\fR\*(T> \fIarg\fR Range in which to drop time. The following expression types are supported: \*(T<\fB\-\-drop\-time <413666.2336\fR\*(T> \*(T<\fB\-\-drop\-time >413665.2336\fR\*(T> \*(T<\fB\-\-drop\-time >=413665.2336\fR\*(T> .TP \*(T<\fB\-\-keep\-scan\-angle\fR\*(T> \fIarg\fR Range in which to keep scan angle. The following expression types are supported: \*(T<\fB\-\-keep\-scan\-angle 0\-100\fR\*(T> \*(T<\fB\-\-keep\-scan\-angle <100\fR\*(T> \*(T<\fB\-\-keep\-scan\-angle <=100\fR\*(T> .TP \*(T<\fB\-\-drop\-scan\-angle\fR\*(T> \fIarg\fR Range in which to drop scan angle. The following expression types are supported: \*(T<\fB\-\-drop\-scan\-angle <30\fR\*(T> \*(T<\fB\-\-drop\-scan\-angle >100\fR\*(T> \*(T<\fB\-\-drop\-scan\-angle >=100\fR\*(T> .TP \*(T<\fB\-\-keep\-color\fR\*(T> \fIarg\fR Range in which to keep colors. Define colors as two 3-tuples (R,G,B-R,G,B): \*(T<\fB\-\-keep\-color '0,0,0\-125,125,125'\fR\*(T> .TP \*(T<\fB\-\-drop\-color\fR\*(T> \fIarg\fR Range in which to drop colors. Define colors as two 3-tuples (R,G,B-R,G,B): \*(T<\fB\-\-drop\-color '255,255,255\-65536,65536,65536'\fR\*(T> .SH EXAMPLE \fBExample data\fR Visit the libLAS sample library for LiDAR data in LAS format: \(lahttp://liblas.org/samples/\(ra