Skip to content

Commit 8dacc6a

Browse files
authored
Merge branch 'draft-1.5' into issue-150-clarify-multiple-extrabyte-vlr
2 parents 467380f + 7707d88 commit 8dacc6a

File tree

4 files changed

+263
-670
lines changed

4 files changed

+263
-670
lines changed

source/01_intro.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ The additions of LAS 1.5 include:
3434

3535
* Added Max/Min GPS Time fields to header block.
3636
(`I-118 <https://github.com/ASPRSorg/LAS/issues/118>`_)
37+
* Added Offset GPS Time definition.
38+
(`I-6 <https://github.com/ASPRSorg/LAS/issues/6>`_)
3739
* Clarify requirement that the Extra Bytes VLR must be unique.
3840
(`I-150 <https://github.com/ASPRSorg/LAS/issues/150>`_)
3941

source/02.04_header.sub

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ Public Header Block
9191
+----------------------------------+-------------------------+-----------------+-----------+--------------+
9292
| Min GPS Time | double | 383 | 8 bytes | |
9393
+----------------------------------+-------------------------+-----------------+-----------+--------------+
94-
| *LAS 1.5 Header Size* | *391 bytes* |
94+
| Time Offset | uint16_t | 391 | 2 bytes | yes |
95+
+----------------------------------+-------------------------+-----------------+-----------+--------------+
96+
| *LAS 1.5 Header Size* | *393 bytes* |
9597
+------------------------------------------------------------+--------------------------------------------+
9698

9799
.. note::
@@ -136,11 +138,17 @@ a value of 1). This bit field is defined as:
136138
+-------+-----------------------+------------------------------------------+
137139
| Bits | Field Name | Description |
138140
+=======+=======================+==========================================+
139-
| 0 | GPS Time Type | The meaning of GPS Time in the point |
140-
| | | records. If this bit is not set, the GPS |
141-
| | | time in the point record fields is GPS |
141+
| 0 | GPS Time Type | Used in combination with Time Offset |
142+
| | | Flag to indicate the meaning of |
143+
| | | :ref:`GPS Time <gpstime_link>` in the |
144+
| | | point records. |
145+
| | | |
146+
| | | If neither bit is set, the GPS |
147+
| | | Time in the point record fields is GPS |
142148
| | | Week Time (the same as versions 1.0 |
143-
| | | through 1.2 of LAS). Otherwise, if this |
149+
| | | through 1.2 of LAS). |
150+
| | | |
151+
| | | Otherwise, if this |
144152
| | | bit is set, the GPS Time is standard GPS |
145153
| | | Time (satellite GPS Time) minus |
146154
| | | 1 x :math:`10^9` (Adjusted Standard GPS |
@@ -180,7 +188,30 @@ a value of 1). This bit field is defined as:
180188
| | | compatibility (which means the CRS must |
181189
| | | be GeoTIFF). |
182190
+-------+-----------------------+------------------------------------------+
183-
| 5:15 | Reserved | Must be set to zero (0). |
191+
| 5 | Reserved | Must be set to zero (0). |
192+
+-------+-----------------------+------------------------------------------+
193+
| 6 | Time Offset Flag | Used in combination with GPS Time Type |
194+
| | | to indicate the meaning of |
195+
| | | :ref:`GPS Time <gpstime_link>` in the |
196+
| | | point records. |
197+
| | | |
198+
| | | If both bits are set, the GPS Time |
199+
| | | is defined as Offset GPS Time. The |
200+
| | | Offset GPS Time is standard GPS Time |
201+
| | | (satellite GPS Time) minus |
202+
| | | 1 x :math:`10^6` x Time Offset. The Time |
203+
| | | :ref:`Time Offset <timeoffset_link>` |
204+
| | | is specified in the LAS header. |
205+
| | | The offset moves time to near zero to |
206+
| | | improve floating-point resolution for a |
207+
| | | given time period. |
208+
| | | The origin of standard GPS |
209+
| | | Time is defined as midnight of the |
210+
| | | morning of January 6, 1980. |
211+
| | | The GPS Time Type flag must be set if |
212+
| | | the Time Offset Flag is set. |
213+
+-------+-----------------------+------------------------------------------+
214+
| 7:15 | Reserved | Must be set to zero (0). |
184215
+-------+-----------------------+------------------------------------------+
185216

186217

@@ -264,7 +295,7 @@ The year, expressed as a four digit number, in which the file was created.
264295
**Header Size**
265296

266297
The size, in bytes, of the Public Header Block itself. For LAS 1.5 this size is
267-
391 bytes. In the event that the header is extended by a new revision of the
298+
393 bytes. In the event that the header is extended by a new revision of the
268299
LAS specification through the addition of data at the end of the header, the
269300
Header Size field will be updated with the new header size. The Public Header
270301
Block may not be extended by users.
@@ -406,3 +437,23 @@ These values must be set to zero if there are no point records in the file,
406437
if the file utilizes a point record format not supporting GPS Time, or if
407438
all point records within the file have GPS Time values set to zero,
408439
such as for certain :ref:`Aggregate Model Systems <aggregate_link>`.
440+
441+
.. _timeoffset_link:
442+
443+
**Time Offset**
444+
445+
The Time Offset field can be used to optimize :ref:`GPS Time <gpstime_link>` precision for a desired time period.
446+
Offset GPS Time for a point record is equal to standard GPS Time, minus :math:`10^6` * Time Offset.
447+
448+
For example, Adjusted Standard GPS Time uses a total offset of 1 billion (:math:`10^9`) seconds, which would be specified by a Time Offset of 1000.
449+
This achieves 100 nanosecond precision for the years 2007-2015. The LAS wiki provides
450+
`recommended values <https://github.com/ASPRSorg/LAS/wiki/Suggested-LAS-1.5-Time-Offset-Values>`_
451+
and year ranges that users are encouraged to use to maximize compatibility between datasets.
452+
453+
This value must be set to zero if there are no point records in the file,
454+
if the file is derived from a source not utilizing GPS Time
455+
(such as for certain :ref:`Aggregate Model Systems <aggregate_link>`),
456+
if the file utilizes a point record format not supporting GPS Time, or if
457+
the Time Offset Flag is unset.
458+
459+
It is invalid for the GPS Time Type bit to be unset if the Offset Time Flag bit is set.

0 commit comments

Comments
 (0)