Skip to content

Commit 20a967a

Browse files
committed
Merge remote-tracking branch 'main_ssh/main-1.5' into website
2 parents 4882819 + 706664b commit 20a967a

14 files changed

Lines changed: 189 additions & 331 deletions

.github/workflows/pdf.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ jobs:
1919
run: |
2020
python3 --version
2121
sphinx-build --version
22+
DEBIAN_FRONTEND=noninteractive apt-get update -y
23+
DEBIAN_FRONTEND=noninteractive apt-get install texlive-fonts-recommended -y
2224
- name: Lint .rst files
2325
run: |
2426
if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi
@@ -43,4 +45,9 @@ jobs:
4345
name: Misspelled
4446
path: build/spelling/output.txt
4547
if-no-files-found: ignore
48+
<<<<<<<<< Temporary merge branch 1
49+
50+
51+
=========
52+
>>>>>>>>> Temporary merge branch 2
4653

source/01_intro.txt

Lines changed: 10 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,26 @@ produce points with X, Y, and Z coordinates. The purpose of LAS is to provide
1212
an open format that allows different hardware and software tools to
1313
exchange point cloud data in a common format.
1414

15-
This document reflects the fourth revision of the LAS format specification
15+
This document reflects the fifth version of the LAS file specification
1616
since its initial version 1.0 release.
1717

1818

1919
LAS 1.5 Revision History
2020
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2121

22-
Summary of LAS 1.5 revisions (GitHub Issue numbers included when applicable):
22+
Summary of LAS 1.5 revisions (topic links included when applicable):
2323

24-
* R00 - Approved Version (XXXXXXX).
24+
* R00 - Approved Version (August 2025).
2525

2626

2727
Comparison of LAS 1.5 to Previous Versions
2828
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2929

30-
The additions of LAS 1.5 include:
30+
The additions of LAS 1.5 include (topic links included when applicable):
3131

32-
* Backward compatibility with LAS 1.1 – LAS 1.4.
33-
* LAS 1.5 mode which supports:
34-
35-
* Removed support for PDRFs 0-5.
32+
* Backward compatibility with 64-bit LAS 1.4 files.
33+
* Header compatibility with LAS 1.1 - 1.4 files.
34+
* Removed support for legacy Point Data Record Formats 0-5.
3635
(`I-128 <https://github.com/ASPRSorg/LAS/issues/128>`_)
3736
* Added Max/Min GPS Time fields to header block.
3837
(`I-118 <https://github.com/ASPRSorg/LAS/issues/118>`_)
@@ -44,143 +43,8 @@ The additions of LAS 1.5 include:
4443
`I-129 <https://github.com/ASPRSorg/LAS/issues/129>`_)
4544
* Clarify requirement that the Extra Bytes VLR must be unique.
4645
(`I-150 <https://github.com/ASPRSorg/LAS/issues/150>`_)
47-
48-
LAS 1.4 Revision History
49-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50-
51-
Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable):
52-
53-
* R11 - Approved Version (Nov 2011).
54-
* R12 - Errata (June 2012) - Typographical corrections:
55-
56-
* Corrected Public Header Size in descriptive paragraph to 375 bytes.
57-
* Corrected two instances of Scan Angle Rank from "Unsigned Char" to "Char".
58-
59-
* R13 - Added Domain Profile Section (July 2013).
60-
* R14 - Multiple updates (March 2019):
61-
62-
* Aesthetic changes from migration to GitHub.
63-
* Multiple capitalization & typo corrections.
64-
* Updated ASPRS contact info.
65-
(`I-30 <https://github.com/ASPRSorg/LAS/issues/30>`_)
66-
* Additional standard classifications 19-22 for PDRFs 6-10:
67-
(`I-11 <https://github.com/ASPRSorg/LAS/issues/11>`_,
68-
`I-26 <https://github.com/ASPRSorg/LAS/issues/26>`_)
69-
70-
* Class 19 -- Overhead Structure in PDRFs 6-10.
71-
* Class 20 -- Ignored Ground.
72-
* Class 21 -- Snow.
73-
* Class 22 -- Temporal Exclusion.
74-
75-
* Added OGC endorsement.
76-
(`I-31 <https://github.com/ASPRSorg/LAS/issues/31>`_)
77-
* Added minimum PDRF sizes to attribute tables.
78-
(`I-47 <https://github.com/ASPRSorg/LAS/issues/47>`_)
79-
* Section reorganization:
80-
(`I-57 <https://github.com/ASPRSorg/LAS/issues/57>`_)
81-
82-
* Addition of Table of Contents with section numbers. (c.f.
83-
`I-27 <https://github.com/ASPRSorg/LAS/issues/27>`_,
84-
`I-49 <https://github.com/ASPRSorg/LAS/issues/49>`_)
85-
* Divided Defined Variable Length Records section into Coordinate
86-
Reference System VLRs section (s3) and Other Specification Defined
87-
VLRs (s4).
88-
* Expanded EVLR discussion in Legacy Compatibility section (s2.1) and moved
89-
Legacy Compatibility section to EVLR definition (now s2.7.1).
90-
* Swapped order of LAS 1.4 Revision History (now s1.1.1) and
91-
LAS 1.4 Additions (now s1.1.2).
92-
* Rearranged paragraphs in Extra Bytes VLR description.
93-
94-
* Deprecated "tuple" and "triple" extra byte data types.
95-
(`I-1 <https://github.com/ASPRSorg/LAS/issues/1>`_)
96-
97-
* Added explanation and example of implicit arrays from descriptor names.
98-
99-
* Clarified that ExtraByte min/max should be an untransformed value.
100-
(`I-4 <https://github.com/ASPRSorg/LAS/issues/4>`_)
101-
* Clarified that Legacy Point Counts should be set to zero if using non-legacy
102-
PDRFs. (`I-12 <https://github.com/ASPRSorg/LAS/issues/12>`_)
103-
* Clarified Full Waveform descriptions and added wiki link.
104-
(`I-9 <https://github.com/ASPRSorg/LAS/issues/9>`_)
105-
* Renamed X(t), Y(t), and Z(t) from waveform packets to Parametric dx/dy/dz.
106-
* PDRF9 now correctly requires Scanner Channel like other PDRFs.
107-
(`I-29 <https://github.com/ASPRSorg/LAS/issues/29>`_)
108-
* Clarified origin date/time for Adjusted Standard GPS Time.
109-
(`I-40 <https://github.com/ASPRSorg/LAS/issues/40>`_)
110-
* Clarified null-termination of fixed-length ``char`` arrays, especially VLR
111-
Description. (`I-46 <https://github.com/ASPRSorg/LAS/issues/46>`_)
112-
* Clarified relationship between FileSourceID and PointSourceID.
113-
(`I-59 <https://github.com/ASPRSorg/LAS/issues/59>`_)
114-
* Added language to support technologies other than conventional linear-mode
115-
lidar scanners. (`I-35 <https://github.com/ASPRSorg/LAS/issues/35>`_)
116-
117-
* Clarified and renamed Synthetic Return Numbers Global Encoding bit.
118-
* Clarified Synthetic point classification flag.
119-
* Clarified validity of zero-value PointSourceID.
120-
* Unified Return Number and Number of Returns descriptions between
121-
legacy and non-legacy PDRFs.
122-
* Clarified Scan Direction and Edge of Flight Line Flags for non-rotational systems.
123-
124-
* Added wiki link for Project ID examples.
125-
(`I-38 <https://github.com/ASPRSorg/LAS/issues/38>`_)
126-
127-
* R15 - Errata and typo corrections for R14 (July 2019):
128-
129-
* Minor editorial punctuation corrections.
130-
(`I-78 <https://github.com/ASPRSorg/LAS/issues/78>`_)
131-
* Fixed unintended reordering of Min/Max XYZ in R14 LAS header.
132-
(`I-79 <https://github.com/ASPRSorg/LAS/issues/79>`_)
133-
* Added missing Scanner Channel field in note about PDRF6-10 bit field.
134-
(`I-80 <https://github.com/ASPRSorg/LAS/issues/80>`_)
135-
136-
* R16 - DRAFT
137-
138-
* Clarified uniformity of GPS Time for all returns of a pulse.
139-
(`I-81 <https://github.com/ASPRSorg/LAS/issues/81>`_)
140-
* Added example usage of Overlap bit.
141-
(`I-5 <https://github.com/ASPRSorg/LAS/issues/5>`_)
142-
* Reworded mandatory zero Classification for Synthetic PDRF0-5.
143-
(`I-86 <https://github.com/ASPRSorg/LAS/issues/86>`_)
144-
* Added Byte Offset columns to Header, VLR, EVLR, and PDRF tables.
145-
(`I-55 <https://github.com/ASPRSorg/LAS/issues/55>`_)
146-
* Clarified how and when certain header fields should be zero-filled.
147-
(`I-101 <https://github.com/ASPRSorg/LAS/issues/101>`_)
148-
* Added Official LAS Wiki section.
149-
(`I-71 <https://github.com/ASPRSorg/LAS/issues/71>`_)
150-
* More closely aligned data types with C99 definitions.
151-
(`I-115 <https://github.com/ASPRSorg/LAS/issues/115>`_)
152-
153-
For detailed information on changes in revisions R14 and newer, review the
154-
inline differencing provided on the `GitHub page <https://github.com/ASPRSorg/LAS>`_.
155-
156-
157-
Comparison of LAS 1.4 to Previous Versions
158-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
159-
160-
The additions of LAS 1.4 include:
161-
162-
* Backward compatibility with LAS 1.1 – LAS 1.3 when payloads consist of only
163-
legacy content.
164-
* LAS 1.4 mode which supports:
165-
166-
* Extension of offsets and field sizes to support full 64 bit.
167-
* Support for up to 15 returns per outgoing pulse.
168-
* Extension of the Point Class field to support 256 classes.
169-
* Definition of several new ASPRS standard classes.
170-
* Extension of the Scan Angle field to 2 bytes to support finer angle resolution.
171-
* Addition of a Sensor Channel bit field to support mobile mapping systems.
172-
* Addition of Well Known Text (WKT) definitions for Coordinate Reference
173-
Systems.
174-
* Addition of an Overlap bit to indicate points in the overlap
175-
region while maintaining the class definition.
176-
* Addition of an (optional) :ref:`extrabytes_vlr_label` Variable Length Record to describe
177-
"extra bytes" stored with each point.
178-
179-
* Other minor changes:
180-
181-
* Added definitions for "LAS Domain Profile" and "LAS Domain Profile
182-
Description".
183-
* Added references to :ref:`Official LAS Wiki <laswiki_link>`.
46+
* Deprecated Classification Lookup VLR.
47+
(`I-82 <https://github.com/ASPRSorg/LAS/issues/82>`_)
18448

18549

18650
Conformance
@@ -204,7 +68,7 @@ this standard can be directed to ASPRS:
20468
* Online at https://github.com/ASPRSorg/LAS
20569
* By phone at 225-408-4747
20670
* By email at las@asprs.org or asprs@asprs.org
207-
* By mail at 8550 United Plaza Blvd, Suite 1001 Baton Rouge, LA 70809
71+
* By mail at 8550 United Plaza Blvd, Suite 1001, Baton Rouge, LA 70809
20872

20973
OGC
21074
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

source/02.00_definition.txt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ allows, for example, adding projection information to a LAS file without having
2222
to rewrite the entire file.
2323

2424

25-
.. table:: LAS 1.4 Format Definition
25+
.. table:: LAS 1.5 Format Definition
2626

2727
+--------------------------------------------+
2828
| :ref:`headerblock_label` |
@@ -35,19 +35,18 @@ to rewrite the entire file.
3535
+--------------------------------------------+
3636

3737

38-
A LAS file that contains point record types 4, 5, 9, or 10 could potentially
38+
A LAS file that contains point record types 9 or 10 could potentially
3939
contain one block of waveform data packets that is stored as the payload of any
4040
Extended Variable Length Record (EVLR). Unlike other EVLRs, the Waveform Data
4141
Packets (if stored internally to the file) have the offset to the storage
4242
header contained within the Public Header Block ("Start of Waveform Data Packet
4343
Record").
4444

4545
.. include:: ./02.01_legacy.sub
46-
.. include:: ./02.02_crs.sub
47-
.. include:: ./02.03_datatypes.sub
48-
.. include:: ./02.04_header.sub
49-
.. include:: ./02.05_vlr.sub
50-
.. include:: ./02.06_point.sub
51-
.. include:: ./02.07_evlr.sub
46+
.. include:: ./02.02_datatypes.sub
47+
.. include:: ./02.03_header.sub
48+
.. include:: ./02.04_vlr.sub
49+
.. include:: ./02.05_point.sub
50+
.. include:: ./02.06_evlr.sub
5251

5352

source/02.01_legacy.sub

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
11
Legacy Compatibility (LAS 1.1 - LAS 1.3)
22
................................................................................
33

4-
LAS 1.4 moves the file specification from a 32 bit file structure (maximum
5-
value of :math:`2^{32}-1 \equiv 4,294,967,295 \equiv \mbox{UINT32\_MAX}`) to a
6-
64 bit file structure (:math:`2^{64} - 1`).
7-
8-
To maintain the ability to place a LAS 1.1 through LAS 1.3 payload (point
9-
record types 0-5, GeoTIFF coordinate reference system, referred to as "Legacy"
10-
payloads) in a LAS 1.4 file structure, it is necessary to duplicate some of
11-
the fields within the LAS 1.4 file structure. These duplicate fields are named
4+
LAS 1.4 moved the file specification from a 32 bit file structure to a
5+
64 bit file structure.
6+
To maintain the ability to place a LAS 1.1 through LAS 1.3 payload
7+
in a LAS 1.4 or LAS 1.5 file header, optional support for the 32 bit field
8+
variants is retained alongside the required 64 bit fields.
9+
These duplicate 32 bit fields are named
1210
"Legacy xxx" where "xxx" denotes the meaning of the field.
1311

14-
A LAS 1.4 file writer who wishes to maintain backward compatibility must
12+
A LAS 1.5 file writer who wishes to maintain backward compatibility must
1513
maintain both the legacy fields and the equivalent non-legacy fields in
1614
synchronization. However, this is not possible if the number of points
1715
exceeds UINT32_MAX, in which case the legacy fields must be set to zero. If a
1816
file writer is not maintaining backward compatibility, the legacy fields must
1917
always be set to zero.
2018

2119
If there is a discrepancy between a non-zero legacy field and the equivalent
22-
LAS 1.4 field, the LAS 1.4 reader should use the legacy value to maintain the
23-
same behavior as a LAS 1.1 through LAS 1.3 reader. Best practice is to also
20+
LAS 1.5 field, the LAS reader should use the legacy value to maintain the
21+
same behavior as prior versions of LAS. Best practice is to also
2422
throw an informative error so that the file can be repaired.
2523

2624
LAS 1.4 introduced the option to define Variable Length Records (VLRs) as
27-
Extended Variable Length Records (EVLRs) instead. A LAS 1.4 file writer wishing
25+
Extended Variable Length Records (EVLRs) instead. A LAS file writer wishing
2826
to maintain backward compatibility must use only VLRs. See the
2927
:ref:`evlr_legacy_label` section for more information.
3028

source/02.02_crs.sub

Lines changed: 0 additions & 40 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
.. raw:: latex
2+
3+
\newpage
4+
15
Data Types
26
................................................................................
37

0 commit comments

Comments
 (0)