From af757f230fa644bf353a4ce548c554d5b212038c Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 17 Jun 2019 11:46:15 -0700 Subject: [PATCH 01/71] Clarified uniformity of GPS Time for all returns of a pulse. (#81) --- source/01_intro.txt | 4 +++- source/02.06_point.sub | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 7257d91..e2b7b4a 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -94,7 +94,7 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): * Added wiki link for Project ID examples. (`I-38 `_) -* R15 - Errata and typo corrections for R14 (May 2019): +* R15 - Errata and typo corrections for R14 (July 2019): * Minor editorial punctuation corrections. (`I-78 `_) @@ -102,6 +102,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-79 `_) * Added missing Scanner Channel field in note about PDRF6-10 bit field. (`I-80 `_) + * Clarified uniformity of GPS Time for all returns of a pulse. + (`I-81 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. diff --git a/source/02.06_point.sub b/source/02.06_point.sub index e946018..ec85640 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -353,6 +353,11 @@ The GPS Time is the double floating point time tag value at which the point was observed. It is GPS Week Time if the :ref:`Global Encoding ` low bit is clear and Adjusted Standard GPS Time if the bit is set. +It is intended that each return of a given pulse would have an identical GPS +Time. In the example of pulsed LiDAR systems, the GPS Time would be the time at +which the originating pulse was emitted, not the time at which each return was +recorded. + For :ref:`Aggregate Model Systems `, the GPS Time should be set to zero unless assigned from a component measurement. From 2161a1738376515b806e676a184931ab1b813c43 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 15 Jul 2019 10:27:51 -0700 Subject: [PATCH 02/71] Advanced to R16 DRAFT. --- source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index 5426292..bcdb05e 100644 --- a/source/conf.py +++ b/source/conf.py @@ -56,7 +56,7 @@ # The short X.Y version. #version = u'1.4' # Custom non-keyword version tag for header -myversion = u'1.4 - R15' +myversion = u'1.4 - R16 DRAFT' # The full version, including alpha/beta/rc tags. release = u'VERSION ' + myversion releasename = release From aba974ddba07fff011a7705c5c8a954e2dc6e86b Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 15 Jul 2019 10:30:50 -0700 Subject: [PATCH 03/71] Added R16 to revision history --- source/01_intro.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/01_intro.txt b/source/01_intro.txt index bb59941..1e2236a 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -103,6 +103,9 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-79 `_) * Added missing Scanner Channel field in note about PDRF6-10 bit field. (`I-80 `_) + +* R16 - DRAFT + * Clarified uniformity of GPS Time for all returns of a pulse. (`I-81 `_) From a0338aed4d9a96fd24e1b5ca99259fbc8f9e7367 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 19 Nov 2019 16:34:32 -0800 Subject: [PATCH 04/71] Moved wiki images to the wiki repo at https://github.com/ASPRSorg/LAS.wiki.git --- wiki/LAS_FWF_illustration_constant.png | Bin 201185 -> 0 bytes wiki/LAS_FWF_illustration_refracted.png | Bin 162953 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 wiki/LAS_FWF_illustration_constant.png delete mode 100644 wiki/LAS_FWF_illustration_refracted.png diff --git a/wiki/LAS_FWF_illustration_constant.png b/wiki/LAS_FWF_illustration_constant.png deleted file mode 100644 index 951cf1c122c70d0686368cec5b2594d16cc06515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201185 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�}jSiWK< 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 z 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䥬NM>h>XI(|#Ly`8+4>Dbw}8`KY1m#9P0RDCar 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 z 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

9Lz41LtSgZ+!-*8hy-)PsLYrC>(Vds)U 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 From b706cf0a417c6a656c71fc8cb2e94e8ebe03ab21 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 14 Jul 2020 16:57:20 -0700 Subject: [PATCH 05/71] Added explanatory example to Overlap Bit description. (#5) --- source/01_intro.txt | 2 ++ source/02.06_point.sub | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 1e2236a..5b9e8f3 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -108,6 +108,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): * Clarified uniformity of GPS Time for all returns of a pulse. (`I-81 `_) + * Added example usage of Overlap bit. + (`I-5 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 7d394c9..54dc67e 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -807,7 +807,10 @@ with the point. The bit definitions are: | | | (unless required by a specification | | | | other than this document) but | | | | allows Classification of overlap points | - | | | to be preserved. | + | | | to be preserved. For example, this may | + | | | be useful for designating Ground points | + | | | that are valid but are not needed to | + | | | meet coverage or density requirements. | +-------+-------------------------+------------------------------------------+ .. note:: From c253382d657454018fc6b9ff3f8c7586d4181b41 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:09:53 -0500 Subject: [PATCH 06/71] implement github actions builder for PDF --- .github/workflows/pdf.yml | 49 +++++++++++++++++++++++++++++++++++++++ .travis.yml | 18 -------------- scripts/before_install.sh | 4 ---- scripts/build_docs.sh | 6 ----- scripts/docker.sh | 8 ------- scripts/docker/Dockerfile | 30 ------------------------ scripts/stage.sh | 19 --------------- source/conf.py | 4 ++-- 8 files changed, 51 insertions(+), 87 deletions(-) create mode 100644 .github/workflows/pdf.yml delete mode 100644 .travis.yml delete mode 100755 scripts/before_install.sh delete mode 100755 scripts/build_docs.sh delete mode 100755 scripts/docker.sh delete mode 100644 scripts/docker/Dockerfile delete mode 100755 scripts/stage.sh diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml new file mode 100644 index 0000000..ca7b6ee --- /dev/null +++ b/.github/workflows/pdf.yml @@ -0,0 +1,49 @@ +name: Docs + +on: + push: + branches: '*' + +jobs: + docs: + name: Docs + + runs-on: ubuntu-latest + strategy: + fail-fast: true + container: osgeo/proj-docs + + steps: + - uses: actions/checkout@v2 + - name: Print versions + shell: bash -l {0} + run: | + python3 --version + sphinx-build --version + - name: Lint .rst files + shell: bash -l {0} + run: | + if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi + - name: PDF + shell: bash -l {0} + run: | + make latexpdf + - name: Spelling + shell: bash -l {0} + run: | + make spell + - uses: actions/upload-artifact@v2 + with: + name: PDF + path: build/latex/LAS.pdf + - uses: actions/upload-artifact@v2 + with: + name: HTML + path: build/html/* + - uses: actions/upload-artifact@v2 + with: + name: Misspelled + path: build/spelling/output.txt + + + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4ee1dec..0000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: c -services: docker -sudo: required -os: -- linux -before_install: "./scripts/before_install.sh" -script: -- echo "no compile needed. We just build the docs in after_success" -after_success: -- echo "$TRAVIS_SECURE_ENV_VARS" -- sh -c "./scripts/build_docs.sh" -- sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true"; then echo "publish "; ./scripts/stage.sh; fi' -- echo "PDF at https://s3.amazonaws.com/asprs-las/LAS-specification-$TRAVIS_COMMIT.pdf" - -env: - global: - - secure: wJwGbbWxTl/mKS+qtgzlSOPydZNC2uJ/lAh35W3Tw5pufrLflFondwuxTMu8vnYR1kk2c5uxu5TFf6bjNDhEv5M/L4wYvt5rISYuqeU7C7iisl02VfbdXzZGBqLFRsB6z2Oho6nYB+nszFEMerd5m9r3qPSPILDlYuxmyjE0oZeptBOGLF9URhL4DrCRw00e7qjuOR09D9s5roZgK81FmOAtohQEfx0T8u5bqMFHcViWQGHsIGrowmObQd+4vnogV6WdydR87ezMtJn+L1Nc7EfXnmDme7NiGQRiBoVNQGxdDE07YAM4ev7sKgt+VeZSWidfHVKbUGyCxs1rhZfjsMF1f2efeSbfnN4nCI3+qrr7WNVU+da93U3PSVzk005/bMDz7KGXNZbh7yQyOmTitCxT557KWxz6twO87DxyoWDi+eZceC+ArrpycA1qR7QwMzjECHwVqITuSzXtMFfS3dps7kxUTcO8CyTXd01DeGt+5AUaoFWBLBFtq6BFgnFG/2rjuzK5DCz590hdDZV7jb4SVcWmOz9+Ig172CfwfIatLboyfm5RlFSXI5bXFPED7z83ZEqf5LWrWZaGr5l5mcIL/4OJaqsagvEPiY9rrvBRJ2LnoumMK1Glk6Iror4m4ovDcFA16CVnHZe3f45UJ4EJ+sCE+0vZYkkr6PvHEoE= - - secure: DZ1aTWsXRQMapAogRcReYHhOxAvxBksm8X9C8VeE1WNJ3vxrfMSjz7ESih3GC/gN2bCEhVIYDr2LF3rd2Y5KJOLg/heWxzvyLFEBMlYnQaIMA7lxKevPid5yOgX79M63Czh4k3paooJ6K4lJvNzLKJG2Fme1yWwr/y9RSZ0VKPVm/d0APJcQWwGT0bFYe7fYLSHVf3baZZm9WaS/XAr4pEGwamW3mua7RbdWkT72KBynuX2VPO8b0M6z+G44tSV9KM7uQVGZ/lAEnD3iU33JGGNW52LxVE67Sv2Flvv0nnNg23/y4iFMSNoGR0wigBgoIOWIA5ypUSNs1mJm1kk3Sxz3EDqt6cvDVjp5rn5gF3yR6XXuJQSssi/ZdL18v2ISqTkVMj1yKvrCIB74yzWI8kfiuW+QydK0Cb+7Ci0bkDjM9N9rgZcZNQZf6MCoaqIH9M+XamROUYWbqrTUuysiE+1VPZ0ihpY1a68f4Zw0xpK803o2xLtaZJdJpSD4Xxjf3/OHWW+LsIq8Kn/m7Zyh6Hu9DX40rVJnRj5cpeFgInrsyARVdOWEOu8q64C9s9Av+dlJ9qdNB0Hj/yW4p1Iz1v4PFudMkismjeDrJTvQeyKskdHMIhBYeuUJxLJsZZ90HgvjWU0VH+zfWCmuhZh0mGeUS0Eu4HoZ7J/6Y9VCx3s= diff --git a/scripts/before_install.sh b/scripts/before_install.sh deleted file mode 100755 index 5d44a57..0000000 --- a/scripts/before_install.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -./scripts/docker.sh - diff --git a/scripts/build_docs.sh b/scripts/build_docs.sh deleted file mode 100755 index 2a886b9..0000000 --- a/scripts/build_docs.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -echo "building docs for $TRAVIS_BUILD_DIR" -docker run -v $TRAVIS_BUILD_DIR:/data -w /data asprsorg/las make latexpdf - - diff --git a/scripts/docker.sh b/scripts/docker.sh deleted file mode 100755 index 5d9d70f..0000000 --- a/scripts/docker.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# asprsorg/las image has all of the Sphinx -# dependencies need to build the LAS specification - -docker pull asprsorg/las - - diff --git a/scripts/docker/Dockerfile b/scripts/docker/Dockerfile deleted file mode 100644 index 34cee88..0000000 --- a/scripts/docker/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -## -# ASPRSorg/LAS - -FROM ubuntu:xenial - -MAINTAINER Howard Butler - -RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 16126D3A3E5C1192 \ - && apt-get update \ - && apt-get install -y --fix-missing --no-install-recommends \ - software-properties-common build-essential ca-certificates \ - git make cmake wget unzip libtool automake python-pip \ - libpython-dev libjpeg-dev zlib1g-dev \ - python-dev python-pip g++ doxygen dvipng \ - cmake libjpeg8-dev zlib1g-dev texlive-latex-base \ - texlive-latex-extra git texlive-fonts-recommended texlive-latex-recommended \ - graphviz python-matplotlib \ - python-setuptools imagemagick latexmk \ - && apt-get remove --purge -y $BUILD_PACKAGES && rm -rf /var/lib/apt/lists/* - - - -RUN pip install breathe \ - sphinx_bootstrap_theme awscli sphinxcontrib-bibtex \ - sphinx_rtd_theme gitpython - -RUN git clone https://github.com/sphinx-doc/sphinx.git && cd sphinx \ - && git checkout stable \ - && python setup.py install - diff --git a/scripts/stage.sh b/scripts/stage.sh deleted file mode 100755 index 49592a2..0000000 --- a/scripts/stage.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -sha=$(git rev-parse HEAD) - -basetex="LAS-specification-$sha.tex" -basepdf="LAS-specification-$sha.pdf" - -filename="build/latex/$basepdf" - - - -docker run -e "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" -e "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" -v $TRAVIS_BUILD_DIR:/data -w /data asprsorg/las aws s3 cp /data/build/latex/LAS.tex s3://asprs-las/$basetex --acl public-read --region us-east-1 - -echo "Raw TEX uploaded to https://s3.amazonaws.com/asprs-las/$basetex" - -docker run -e "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" -e "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" -v $TRAVIS_BUILD_DIR:/data -w /data asprsorg/las aws s3 cp /data/build/latex/LAS.pdf s3://asprs-las/$basepdf --acl public-read --region us-east-1 - -echo "Compiled PDF uploaded to https://s3.amazonaws.com/asprs-las/$basepdf" - diff --git a/source/conf.py b/source/conf.py index 5426292..b93d16c 100644 --- a/source/conf.py +++ b/source/conf.py @@ -144,7 +144,7 @@ def get_git_revision_short_hash(): % Override Sphinx defaults for table heading (bold instead of sans serif) % note: won't work in newer versions of Sphinx 1.7+ -\protected\def\sphinxstylethead{\textbf} +\protected\def\sphinxstyletheadfamily{\textbf} \makeatother @@ -162,7 +162,7 @@ def get_git_revision_short_hash(): args['releasedate'] = releasedate args['releasename'] = releasename args['approvaldate'] = approvaldate -args['gitsha'] = gitsha +args['gitsha'] = gitsha.decode('utf-8') import datetime now = datetime.datetime.now() args['thisyear'] = now.year From ccbc917dd8dfede5f06f7bedfd7035c066e0860c Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:15:29 -0500 Subject: [PATCH 07/71] default shell invocations --- .github/workflows/pdf.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index ca7b6ee..38653bb 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -16,20 +16,16 @@ jobs: steps: - uses: actions/checkout@v2 - name: Print versions - shell: bash -l {0} run: | python3 --version sphinx-build --version - name: Lint .rst files - shell: bash -l {0} run: | if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi - name: PDF - shell: bash -l {0} run: | make latexpdf - name: Spelling - shell: bash -l {0} run: | make spell - uses: actions/upload-artifact@v2 From 2b57bddef01b6c417db6174c2ffb61f1bb211c86 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:19:10 -0500 Subject: [PATCH 08/71] return GITHUB_SHA --- source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index b93d16c..478e3c1 100644 --- a/source/conf.py +++ b/source/conf.py @@ -70,7 +70,7 @@ import subprocess def get_git_revision_short_hash(): - return subprocess.check_output(['git', 'rev-parse', 'HEAD']) + return os.environ['GITHUB_SHA'] gitsha = get_git_revision_short_hash() # The language for content autogenerated by Sphinx. Refer to documentation From 37e1186504e71b828c5112575cf93f6aaea93bde Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:21:14 -0500 Subject: [PATCH 09/71] import os --- source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/source/conf.py b/source/conf.py index 478e3c1..80c0279 100644 --- a/source/conf.py +++ b/source/conf.py @@ -70,6 +70,7 @@ import subprocess def get_git_revision_short_hash(): + import os return os.environ['GITHUB_SHA'] gitsha = get_git_revision_short_hash() From 7e9064a33f99812d888f7308427f198280484349 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:23:09 -0500 Subject: [PATCH 10/71] gitsha no longer bytes --- source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index 80c0279..5a4e841 100644 --- a/source/conf.py +++ b/source/conf.py @@ -163,7 +163,7 @@ def get_git_revision_short_hash(): args['releasedate'] = releasedate args['releasename'] = releasename args['approvaldate'] = approvaldate -args['gitsha'] = gitsha.decode('utf-8') +args['gitsha'] = gitsha import datetime now = datetime.datetime.now() args['thisyear'] = now.year From 1d669f8038bf3b11f5a5ffcc2fa0ff0bc935bd25 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:26:28 -0500 Subject: [PATCH 11/71] add speling target --- Makefile | 6 +++++- spelling_wordlist.txt | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 spelling_wordlist.txt diff --git a/Makefile b/Makefile index 18d5339..0400881 100644 --- a/Makefile +++ b/Makefile @@ -17,4 +17,8 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +spell: + $(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) -d $(BUILDDIR)/doctrees build/spelling + diff --git a/spelling_wordlist.txt b/spelling_wordlist.txt new file mode 100644 index 0000000..4749628 --- /dev/null +++ b/spelling_wordlist.txt @@ -0,0 +1,4 @@ +LAS +LiDAR +lidar + From 960518e626b0fa9c36ec952cf88c281f1a79844e Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 09:38:08 -0500 Subject: [PATCH 12/71] spell checking fixups --- .github/workflows/pdf.yml | 2 +- Makefile | 2 -- source/conf.py | 2 +- source/spelling_wordlist.txt | 41 ++++++++++++++++++++++++++++++++++++ spelling_wordlist.txt | 4 ---- 5 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 source/spelling_wordlist.txt delete mode 100644 spelling_wordlist.txt diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index 38653bb..8ab9a91 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -27,7 +27,7 @@ jobs: make latexpdf - name: Spelling run: | - make spell + make spelling - uses: actions/upload-artifact@v2 with: name: PDF diff --git a/Makefile b/Makefile index 0400881..e1f68b7 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,4 @@ help: %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -spell: - $(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) -d $(BUILDDIR)/doctrees build/spelling diff --git a/source/conf.py b/source/conf.py index 5a4e841..320c583 100644 --- a/source/conf.py +++ b/source/conf.py @@ -30,7 +30,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinx.ext.mathjax'] +extensions = ['sphinx.ext.mathjax', 'sphinxcontrib.spelling'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/source/spelling_wordlist.txt b/source/spelling_wordlist.txt new file mode 100644 index 0000000..dda5ec4 --- /dev/null +++ b/source/spelling_wordlist.txt @@ -0,0 +1,41 @@ +LAS +LiDAR +lidar +upcast +structs +georeferencing +Georeferencing +ushort +dataset +Digitizer +digitizer +picoseconds +wTIFFTagLocation +Programmatically +dx +dy +dz +photogrammetric +Endian +endian +Reprojection +rescaling +unscaled +wdp +breakline +WKT +wkt +untransformed +differencing +conformant +Photogrammetry +bathymetric +powerline +LMS +implementers +reflectivity +photogrammetrically +Geospatial + + + diff --git a/spelling_wordlist.txt b/spelling_wordlist.txt deleted file mode 100644 index 4749628..0000000 --- a/spelling_wordlist.txt +++ /dev/null @@ -1,4 +0,0 @@ -LAS -LiDAR -lidar - From 1ef01f2f8d5f911cec493f9bf8b3a755c3921dae Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 20 Sep 2020 10:06:17 -0500 Subject: [PATCH 13/71] don't try to upload html artifacts --- .github/workflows/pdf.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index 8ab9a91..24f1333 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -32,10 +32,6 @@ jobs: with: name: PDF path: build/latex/LAS.pdf - - uses: actions/upload-artifact@v2 - with: - name: HTML - path: build/html/* - uses: actions/upload-artifact@v2 with: name: Misspelled From dc985711bb3eace20bff5f5759bbb2d71666ae66 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 14 Dec 2020 15:27:57 -0800 Subject: [PATCH 14/71] SpellCheck: Added TerraScan and OpenGIS --- source/spelling_wordlist.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/spelling_wordlist.txt b/source/spelling_wordlist.txt index dda5ec4..c775cf5 100644 --- a/source/spelling_wordlist.txt +++ b/source/spelling_wordlist.txt @@ -36,6 +36,5 @@ implementers reflectivity photogrammetrically Geospatial - - - +TerraScan +OpenGIS From c073bdb91c606af8ba3603c554a0ae4e42de06d0 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 14 Dec 2020 15:46:46 -0800 Subject: [PATCH 15/71] Freeze Action OS to ubuntu-20.04 --- .github/workflows/pdf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index 24f1333..05a460d 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -8,7 +8,7 @@ jobs: docs: name: Docs - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: true container: osgeo/proj-docs From be7e88d2401ebb09654d8b4080759a18670bc62e Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 5 Jan 2021 09:37:47 -0800 Subject: [PATCH 16/71] Fixed typo in PDRF6 standard class table (Table 17) from GitHub port. --- source/02.06_point.sub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 54dc67e..3e57bf7 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -861,7 +861,7 @@ Classification must adhere to the following standard: .. table:: ASPRS Standard Point Classes (Point Data Record Formats 6-10) +------------------+-----------------------------+--------------------------------+ - | Value (Bits 0:4) | Meaning | Notes | + | Value | Meaning | Notes | +==================+=============================+================================+ | 0 | Created, Never Classified | See note [4]_ | +------------------+-----------------------------+ + From e02afc469749555a9bbe71696ac5be37dced8e18 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 5 Jan 2021 09:47:59 -0800 Subject: [PATCH 17/71] Reworded mandatory zero Classification for Synthetic PDRF0-5. (#86) --- source/01_intro.txt | 2 ++ source/02.06_point.sub | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 5b9e8f3..4fc754d 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -110,6 +110,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-81 `_) * Added example usage of Overlap bit. (`I-5 `_) + * Reworded mandatory zero Classification for Synthetic PDRF0-5. + (`I-86 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 3e57bf7..e594f5b 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -161,11 +161,11 @@ these cases, the Edge of Flight Line Flag should be set to zero. **Classification** -This field represents the "class" attributes of a point. If a point has never -been classified, this byte must be set to zero. The format for classification +This field represents the "class" attributes of a point. The format for classification is a bit encoded field with the lower five bits used for the class and the three high bits used for flags. The bit definitions are listed in Table 8 and -the classification values in Table 9. +the classification values in Table 9. If a point has never +been classified, the lowest five bits must be set to zero. .. tabularcolumns:: |p{2.0cm}|p{3.0cm}|p{8.5cm}| From 2a2c01ed844c4f615af839ba1ffa3211f71a9e79 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 5 Jan 2021 15:39:17 -0800 Subject: [PATCH 18/71] Excluded spelling_wordlist.txt from Sphinx build to prevent warning. --- source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index 2b7b958..49c320d 100644 --- a/source/conf.py +++ b/source/conf.py @@ -84,7 +84,7 @@ def get_git_revision_short_hash(): # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path -exclude_patterns = [] +exclude_patterns = ['spelling_wordlist.txt'] # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' From 400d959d94c9d5f91f464c00b06425c03c3059cf Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 5 Jan 2021 16:19:36 -0800 Subject: [PATCH 19/71] Added missing escape characters to two usages of *.wdp. --- source/02.06_point.sub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index e594f5b..69c80a7 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -550,7 +550,7 @@ waveform data associated with this Point Record. **Byte Offset to Waveform Data** The waveform packet data are stored in the LAS file in an Extended Variable -Length Record or in an auxiliary *.wdp file. The Byte Offset represents the +Length Record or in an auxiliary \*.wdp file. The Byte Offset represents the location of the start of this Point Record’s waveform packet within the waveform data variable length record (or external file) relative to the beginning of the :ref:`fwf_packets_label` header. The absolute location of the beginning of this @@ -562,7 +562,7 @@ waveform packet relative to the beginning of the file is given by: **Byte Offset to Waveform Data** - for data stored in an auxiliary *.wdp file. + for data stored in an auxiliary \*.wdp file. **Waveform Packet Size in Bytes** From 45d396ce1f465fd175a1e8f1cc25a0799d1089ca Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 08:53:52 -0800 Subject: [PATCH 20/71] Added byte offset column to header block (#55) --- source/02.04_header.sub | 162 ++++++++++++++++++++-------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 8de5105..c1758b9 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -3,90 +3,90 @@ Public Header Block ................................................................................ -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{2.0cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.5cm}|p{2.0cm}|p{1.5cm}| .. table:: Public Header Block - +----------------------------------+-------------------------+-----------+--------------+ - | **Item** | **Format** | **Size** | **Required** | - +----------------------------------+-------------------------+-----------+--------------+ - | File Signature ("LASF") | char[4] | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | File Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Global Encoding | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 1 | unsigned long | 4 bytes | | - +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 2 | unsigned short | 2 bytes | | - +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 3 | unsigned short | 2 bytes | | - +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 4 | unsigned char[8] | 8 bytes | | - +----------------------------------+-------------------------+-----------+--------------+ - | Version Major | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Version Minor | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | System Identifier | char[32] | 32 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Generating Software | char[32] | 32 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | File Creation Day of Year | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | File Creation Year | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Header Size | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Offset to Point Data | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Number of Variable Length Records| unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Point Data Record Format | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Point Data Record Length | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Legacy Number of Point Records | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Legacy Number of Point by Return | unsigned long[5] | 20 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | X Scale Factor | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Y Scale Factor | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Z Scale Factor | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | X Offset | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Y Offset | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Z Offset | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Max X | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Min X | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Max Y | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Min Y | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Max Z | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Min Z | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Start of Waveform Data Packet | unsigned long long | 8 bytes | yes | - | Record | | | | - +----------------------------------+-------------------------+-----------+--------------+ - | Start of First Extended Variable | unsigned long long | 8 bytes | yes | - | Length Record | | | | - +----------------------------------+-------------------------+-----------+--------------+ - | Number of Extended Variable | unsigned long | 4 bytes | yes | - | Length Records | | | | - +----------------------------------+-------------------------+-----------+--------------+ - | Number of Point Records | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ - | Number of Points by Return | unsigned long long[15] | 120 bytes | yes | - +----------------------------------+-------------------------+-----------+--------------+ + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | **Item** | **Format** | **Byte Offset** | **Size** | **Required** | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | File Signature ("LASF") | char[4] | 0 | 4 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | File Source ID | unsigned short | 4 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Global Encoding | unsigned short | 6 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Project ID - GUID Data 1 | unsigned long | 8 | 4 bytes | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Project ID - GUID Data 2 | unsigned short | 12 | 2 bytes | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Project ID - GUID Data 3 | unsigned short | 14 | 2 bytes | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Project ID - GUID Data 4 | unsigned char[8] | 16 | 8 bytes | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Version Major | unsigned char | 24 | 1 byte | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Version Minor | unsigned char | 25 | 1 byte | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | System Identifier | char[32] | 26 | 32 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Generating Software | char[32] | 58 | 32 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | File Creation Day of Year | unsigned short | 90 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | File Creation Year | unsigned short | 92 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Header Size | unsigned short | 94 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Offset to Point Data | unsigned long | 96 | 4 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Number of Variable Length Records| unsigned long | 100 | 4 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Point Data Record Format | unsigned char | 104 | 1 byte | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Point Data Record Length | unsigned short | 105 | 2 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Legacy Number of Point Records | unsigned long | 107 | 4 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Legacy Number of Point by Return | unsigned long[5] | 111 | 20 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | X Scale Factor | double | 131 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Y Scale Factor | double | 139 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Z Scale Factor | double | 147 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | X Offset | double | 155 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Y Offset | double | 163 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Z Offset | double | 171 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Max X | double | 179 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Min X | double | 187 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Max Y | double | 195 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Min Y | double | 203 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Max Z | double | 211 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Min Z | double | 219 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Start of Waveform Data Packet | unsigned long long | 227 | 8 bytes | yes | + | Record | | | | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Start of First Extended Variable | unsigned long long | 235 | 8 bytes | yes | + | Length Record | | | | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Number of Extended Variable | unsigned long | 243 | 4 bytes | yes | + | Length Records | | | | | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Number of Point Records | unsigned long long | 247 | 8 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ + | Number of Points by Return | unsigned long long[15] | 255 | 120 bytes | yes | + +----------------------------------+------------------------+-----------------+-----------+--------------+ .. note:: From 8506a3c571481065e8561dbcfc6e519ee71de18c Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 08:57:55 -0800 Subject: [PATCH 21/71] Tighten column widths in header table. --- source/02.04_header.sub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index c1758b9..2d0d304 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -3,7 +3,7 @@ Public Header Block ................................................................................ -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.5cm}|p{2.0cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.3cm}|p{1.8cm}|p{1.5cm}| .. table:: Public Header Block From 55368ae5a5e3b199e109cb0468b7fee68bd44897 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 11:02:45 -0800 Subject: [PATCH 22/71] Added byte offset column to VLR definition. --- source/02.05_vlr.sub | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index c007a09..22baa27 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -13,23 +13,23 @@ record is contained in the Variable Length Record Header. Each Variable Length Record Header is 54 bytes in length. -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{2.0cm}|p{1.5cm}| +.. tabularcolumns:: |p{5.0cm}|p{3.0cm}|p{2.0cm}|p{1.6cm}|p{1.5cm}| .. table:: Variable Length Record Header - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | Reserved | unsigned short | 2 bytes | | - +----------------------------------+-------------------------+-----------+----------+ - | User ID | char[16] | 16 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Record ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Record Length After Header | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Description | char[32] | 32 bytes | | - +----------------------------------+-------------------------+-----------+----------+ + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Item | Format | **Byte Offset** | Size | Required | + +==================================+=========================+=================+===========+==========+ + | Reserved | unsigned short | 0 | 2 bytes | | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | User ID | char[16] | 2 | 16 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Record ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Record Length After Header | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Description | char[32] | 22 | 32 bytes | | + +----------------------------------+-------------------------+-----------------+-----------+----------+ **Reserved** From 482aea026be1e9bf96429ddb8b621e60f10d4604 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 16:17:44 -0800 Subject: [PATCH 23/71] Added byte offsets to EVLR table. --- source/02.07_evlr.sub | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/02.07_evlr.sub b/source/02.07_evlr.sub index baebd96..4e79996 100644 --- a/source/02.07_evlr.sub +++ b/source/02.07_evlr.sub @@ -19,23 +19,23 @@ be accessed sequentially since the size of each variable length record is contained in the Extended Variable Length Record Header. Each Extended Variable Length Record Header is 60 bytes in length. -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{2.0cm}|p{1.5cm}| +.. tabularcolumns:: |p{5.0cm}|p{3.2cm}|p{2.0cm}|p{1.6cm}|p{1.5cm}| .. table:: Extended Variable Length Record Header - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | Reserved | unsigned short | 2 bytes | | - +----------------------------------+-------------------------+-----------+----------+ - | User ID | char[16] | 16 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Record ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Record Length After Header | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Description | char[32] | 32 bytes | | - +----------------------------------+-------------------------+-----------+----------+ + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Item | Format | **Byte Offset** | Size | Required | + +==================================+=========================+=================+===========+==========+ + | Reserved | unsigned short | 0 | 2 bytes | | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | User ID | char[16] | 2 | 16 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Record ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Record Length After Header | unsigned long long | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-----------------+-----------+----------+ + | Description | char[32] | 28 | 32 bytes | | + +----------------------------------+-------------------------+-----------------+-----------+----------+ .. note:: From 6002b50f68561fae6659c1cf30eab637ed480748 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 16:36:24 -0800 Subject: [PATCH 24/71] Removed redundant bold in VLR/EVLR table header --- source/02.05_vlr.sub | 26 +++++++++++++------------- source/02.07_evlr.sub | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index 22baa27..62002e1 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -17,19 +17,19 @@ Record Header is 54 bytes in length. .. table:: Variable Length Record Header - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Item | Format | **Byte Offset** | Size | Required | - +==================================+=========================+=================+===========+==========+ - | Reserved | unsigned short | 0 | 2 bytes | | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | User ID | char[16] | 2 | 16 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Record ID | unsigned short | 18 | 2 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Record Length After Header | unsigned short | 20 | 2 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Description | char[32] | 22 | 32 bytes | | - +----------------------------------+-------------------------+-----------------+-----------+----------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | Reserved | unsigned short | 0 | 2 bytes | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User ID | char[16] | 2 | 16 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Record ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Record Length After Header | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Description | char[32] | 22 | 32 bytes | | + +----------------------------------+-------------------------+-------------+-----------+----------+ **Reserved** diff --git a/source/02.07_evlr.sub b/source/02.07_evlr.sub index 4e79996..4b8a21a 100644 --- a/source/02.07_evlr.sub +++ b/source/02.07_evlr.sub @@ -23,19 +23,19 @@ Length Record Header is 60 bytes in length. .. table:: Extended Variable Length Record Header - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Item | Format | **Byte Offset** | Size | Required | - +==================================+=========================+=================+===========+==========+ - | Reserved | unsigned short | 0 | 2 bytes | | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | User ID | char[16] | 2 | 16 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Record ID | unsigned short | 18 | 2 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Record Length After Header | unsigned long long | 20 | 8 bytes | yes | - +----------------------------------+-------------------------+-----------------+-----------+----------+ - | Description | char[32] | 28 | 32 bytes | | - +----------------------------------+-------------------------+-----------------+-----------+----------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | Reserved | unsigned short | 0 | 2 bytes | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User ID | char[16] | 2 | 16 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Record ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Record Length After Header | unsigned long long | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Description | char[32] | 28 | 32 bytes | | + +----------------------------------+-------------------------+-------------+-----------+----------+ .. note:: From 05fbf1ee4fb9548201b9bd74841465f4c4e7cf6b Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 16:39:24 -0800 Subject: [PATCH 25/71] Added byte offset column to PDRF0 --- source/02.06_point.sub | 62 +++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 69c80a7..6123969 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -47,40 +47,40 @@ Point Data Record Format 0 Point Data Record Format 0 contains the core 20 bytes that are shared by Point Data Record Formats 0 to 5. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 0 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* [1]_ | *20 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* [1]_ | *20 bytes* | + +------------------------------------------------------------+------------------------------------+ .. [1] Recall that the Point Data Record Size can be greater than the minimum required for a PDRF. These "extra bytes" follow the standard Point Record From cefa1b0200510a1837e1e5529b4bed9cafbf4724 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 17:05:30 -0800 Subject: [PATCH 26/71] Added byte offset column to PDRFs 1-10. --- source/02.06_point.sub | 878 ++++++++++++++++++++--------------------- 1 file changed, 439 insertions(+), 439 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 6123969..0df0f16 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -310,42 +310,42 @@ Point Data Record Format 1 is the same as Point Data Record Format 0 with the addition of GPS Time. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 1 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *28 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *28 bytes* | + +------------------------------------------------------------+------------------------------------+ **GPS Time** @@ -373,46 +373,46 @@ Point Data Record Format 2 is the same as Point Data Record Format 0 with the addition of three color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 2 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *26 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 22 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 24 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *26 bytes* | + +------------------------------------------------------------+------------------------------------+ **Red, Green, and Blue** @@ -436,48 +436,48 @@ Point Data Record Format 3 Point Data Record Format 3 is the same as Point Data Record Format 2 with the addition of GPS Time. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 3 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *34 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 28 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 30 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 32 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *34 bytes* | + +------------------------------------------------------------+------------------------------------+ .. raw:: latex @@ -488,56 +488,56 @@ Point Data Record Format 4 Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 4 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Return Point Waveform Location | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dx | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dy | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dz | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *57 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Wave Packet Descriptor Index | unsigned char | 28 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Byte Offset to Waveform Data | unsigned long long | 29 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Waveform Packet Size in Bytes | unsigned long | 37 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Point Waveform Location | float | 41 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dx | float | 45 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dy | float | 49 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dz | float | 53 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *57 bytes* | + +------------------------------------------------------------+------------------------------------+ **Wave Packet Descriptor Index** @@ -632,62 +632,62 @@ Point Data Record Format 5 Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. -.. tabularcolumns:: |p{7.0cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 5 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 3 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | - | Left Side | | | | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Return Point Waveform Location | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dx | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dy | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dz | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *63 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 15 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle Rank (-90 to +90) -- | signed char | 16 | 1 byte | yes | + | Left Side | | | | | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 20 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 28 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 30 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 32 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Wave Packet Descriptor Index | unsigned char | 34 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Byte Offset to Waveform Data | unsigned long long | 35 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Waveform Packet Size in Bytes | unsigned long | 43 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Point Waveform Location | float | 47 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dx | float | 51 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dy | float | 55 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dz | float | 59 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *63 bytes* | + +------------------------------------------------------------+------------------------------------+ .. raw:: latex @@ -703,45 +703,45 @@ to support up to 15 returns, there are more bits for point classifications to support up to 256 classes, there is a higher precision scan angle (16 bits instead of 8), and the GPS time is mandatory. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 6 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 4 bits | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | 2 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *30 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 16 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle | short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 22 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *30 bytes* | + +------------------------------------------------------------+------------------------------------+ .. note:: @@ -954,51 +954,51 @@ Point Data Record Format 7 is the same as Point Data Record Format 6 with the addition of three RGB color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 7 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 4 bits | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | 2 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *36 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 16 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle | short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 22 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 30 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 32 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 34 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *36 bytes* | + +------------------------------------------------------------+------------------------------------+ .. raw:: latex @@ -1010,53 +1010,53 @@ Point Data Record Format 8 Point Data Record Format 8 is the same as Point Data Record Format 7 with the addition of a NIR (near infrared) channel. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 8 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 4 bits | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | 2 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | NIR | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *38 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 16 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle | short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 22 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 30 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 32 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 34 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | NIR | unsigned short | 36 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *38 bytes* | + +------------------------------------------------------------+------------------------------------+ **NIR** @@ -1079,59 +1079,59 @@ Point Data Record Format 9 Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 9 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 4 bits | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | 2 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Return Point Waveform Location | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dx | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dy | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dz | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *59 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 16 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle | short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 22 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Wave Packet Descriptor Index | unsigned char | 30 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Byte Offset to Waveform Data | unsigned long long | 31 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Waveform Packet Size in Bytes | unsigned long | 39 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Point Waveform Location | float | 43 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dx | float | 47 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dy | float | 51 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dz | float | 55 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *59 bytes* | + +------------------------------------------------------------+------------------------------------+ .. raw:: latex @@ -1142,67 +1142,67 @@ Point Data Record Format 10 Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB and NIR values. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 10 - +----------------------------------+-------------------------+-----------+----------+ - | Item | Format | Size | Required | - +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | - +----------------------------------+-------------------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 4 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 4 bits | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | 2 bits | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | - +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | GPS Time | double | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | NIR | unsigned short | 2 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Return Point Waveform Location | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dx | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dy | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | Parametric dz | float | 4 bytes | yes | - +----------------------------------+-------------------------+-----------+----------+ - | *Minimum PDRF Size* | *67 bytes* | - +------------------------------------------------------------+----------------------+ + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=============+===========+==========+ + | X | long | 0 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Y | long | 4 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Z | long | 8 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Intensity | unsigned short | 12 | 2 bytes | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | + +----------------------------------+-------------------------+ +-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification | unsigned char | 16 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | User Data | unsigned char | 17 | 1 byte | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Angle | short | 18 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Point Source ID | unsigned short | 20 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | GPS Time | double | 22 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Red | unsigned short | 30 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Green | unsigned short | 32 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Blue | unsigned short | 34 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | NIR | unsigned short | 36 | 2 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Wave Packet Descriptor Index | unsigned char | 38 | 1 byte | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Byte Offset to Waveform Data | unsigned long long | 39 | 8 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Waveform Packet Size in Bytes | unsigned long | 47 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Return Point Waveform Location | float | 51 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dx | float | 55 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dy | float | 59 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Parametric dz | float | 63 | 4 bytes | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | *Minimum PDRF Size* | *67 bytes* | + +------------------------------------------------------------+------------------------------------+ .. raw:: latex From e2e9a75efee102b75d13a11d7bb86d3e1698f16d Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 18 Jan 2021 17:08:47 -0800 Subject: [PATCH 27/71] Adjusted width of PDRF tables. --- source/02.06_point.sub | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 0df0f16..4ea0472 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -47,7 +47,7 @@ Point Data Record Format 0 Point Data Record Format 0 contains the core 20 bytes that are shared by Point Data Record Formats 0 to 5. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 0 @@ -310,7 +310,7 @@ Point Data Record Format 1 is the same as Point Data Record Format 0 with the addition of GPS Time. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 1 @@ -373,7 +373,7 @@ Point Data Record Format 2 is the same as Point Data Record Format 0 with the addition of three color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 2 @@ -436,7 +436,7 @@ Point Data Record Format 3 Point Data Record Format 3 is the same as Point Data Record Format 2 with the addition of GPS Time. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 3 @@ -488,7 +488,7 @@ Point Data Record Format 4 Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 4 @@ -632,7 +632,7 @@ Point Data Record Format 5 Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. -.. tabularcolumns:: |p{7.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 5 @@ -703,7 +703,7 @@ to support up to 15 returns, there are more bits for point classifications to support up to 256 classes, there is a higher precision scan angle (16 bits instead of 8), and the GPS time is mandatory. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 6 @@ -954,7 +954,7 @@ Point Data Record Format 7 is the same as Point Data Record Format 6 with the addition of three RGB color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 7 @@ -1010,7 +1010,7 @@ Point Data Record Format 8 Point Data Record Format 8 is the same as Point Data Record Format 7 with the addition of a NIR (near infrared) channel. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 8 @@ -1079,7 +1079,7 @@ Point Data Record Format 9 Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 9 @@ -1142,7 +1142,7 @@ Point Data Record Format 10 Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB and NIR values. -.. tabularcolumns:: |p{7.5cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 10 From 4291eb06085839af659459dba06752b7462caa45 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 19 Jan 2021 11:22:19 -0800 Subject: [PATCH 28/71] Fixed table header line bolding for newer Sphinx version. (#15) Updated notes in conf.py. --- source/conf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/conf.py b/source/conf.py index 49c320d..df13b97 100644 --- a/source/conf.py +++ b/source/conf.py @@ -144,9 +144,10 @@ def get_git_revision_short_hash(): } % Override Sphinx defaults for table heading (bold instead of sans serif) -% note: won't work in newer versions of Sphinx 1.7+ -\protected\def\sphinxstyletheadfamily{\textbf} +% https://stackoverflow.com/a/42988749/1666676 +\protected\def\sphinxstyletheadfamily{\bfseries} +% leave this here... https://tex.stackexchange.com/a/8353/143333 \makeatother % Override Sphinx defaults for list item spacing and bolding. More info: From b39b7b489a1d0073561a4f868538809987d2b258 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 19 Jan 2021 11:48:18 -0800 Subject: [PATCH 29/71] Fixed column widths for header, VLR, and EVLR tables. --- source/02.04_header.sub | 2 +- source/02.05_vlr.sub | 2 +- source/02.07_evlr.sub | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 2d0d304..fe38cb8 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -3,7 +3,7 @@ Public Header Block ................................................................................ -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.3cm}|p{1.8cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.2cm}|p{1.8cm}|p{1.5cm}| .. table:: Public Header Block diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index 62002e1..a744a8c 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -13,7 +13,7 @@ record is contained in the Variable Length Record Header. Each Variable Length Record Header is 54 bytes in length. -.. tabularcolumns:: |p{5.0cm}|p{3.0cm}|p{2.0cm}|p{1.6cm}|p{1.5cm}| +.. tabularcolumns:: |p{5.0cm}|p{3.0cm}|p{2.2cm}|p{1.6cm}|p{1.5cm}| .. table:: Variable Length Record Header diff --git a/source/02.07_evlr.sub b/source/02.07_evlr.sub index 4b8a21a..975c4cc 100644 --- a/source/02.07_evlr.sub +++ b/source/02.07_evlr.sub @@ -19,7 +19,7 @@ be accessed sequentially since the size of each variable length record is contained in the Extended Variable Length Record Header. Each Extended Variable Length Record Header is 60 bytes in length. -.. tabularcolumns:: |p{5.0cm}|p{3.2cm}|p{2.0cm}|p{1.6cm}|p{1.5cm}| +.. tabularcolumns:: |p{5.0cm}|p{3.2cm}|p{2.2cm}|p{1.6cm}|p{1.5cm}| .. table:: Extended Variable Length Record Header From 3ffb0d346be251da700b687e972b4c31a03eb1fe Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 19 Jan 2021 11:54:10 -0800 Subject: [PATCH 30/71] Fixed table column widths for PDRF tables. --- source/02.06_point.sub | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 4ea0472..778bcc6 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -47,7 +47,7 @@ Point Data Record Format 0 Point Data Record Format 0 contains the core 20 bytes that are shared by Point Data Record Formats 0 to 5. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 0 @@ -310,7 +310,7 @@ Point Data Record Format 1 is the same as Point Data Record Format 0 with the addition of GPS Time. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 1 @@ -373,7 +373,7 @@ Point Data Record Format 2 is the same as Point Data Record Format 0 with the addition of three color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 2 @@ -436,7 +436,7 @@ Point Data Record Format 3 Point Data Record Format 3 is the same as Point Data Record Format 2 with the addition of GPS Time. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 3 @@ -488,7 +488,7 @@ Point Data Record Format 4 Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 4 @@ -632,7 +632,7 @@ Point Data Record Format 5 Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 5 @@ -703,7 +703,7 @@ to support up to 15 returns, there are more bits for point classifications to support up to 256 classes, there is a higher precision scan angle (16 bits instead of 8), and the GPS time is mandatory. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 6 @@ -954,7 +954,7 @@ Point Data Record Format 7 is the same as Point Data Record Format 6 with the addition of three RGB color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 7 @@ -1010,7 +1010,7 @@ Point Data Record Format 8 Point Data Record Format 8 is the same as Point Data Record Format 7 with the addition of a NIR (near infrared) channel. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 8 @@ -1079,7 +1079,7 @@ Point Data Record Format 9 Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 9 @@ -1142,7 +1142,7 @@ Point Data Record Format 10 Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB and NIR values. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{2.0cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| .. table:: Point Data Record Format 10 From d2d763c4a6da95cb3eba61051ffab666be0a1cdf Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 19 Jan 2021 12:03:14 -0800 Subject: [PATCH 31/71] Finished adding byte offset columns (#55). --- source/01_intro.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/01_intro.txt b/source/01_intro.txt index 4fc754d..846ce63 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -112,6 +112,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-5 `_) * Reworded mandatory zero Classification for Synthetic PDRF0-5. (`I-86 `_) + * Added Byte Offset columns to Header, VLR, EVLR, and PDRF tables. + (`I-55 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. From 4411fa50ba1ac1a83ab20452ef49bdd7c6f9f5d5 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 8 Mar 2021 09:42:42 -0800 Subject: [PATCH 32/71] Clarified how and when certain header fields should be zero-filled. (#101) --- source/01_intro.txt | 2 ++ source/02.04_header.sub | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 4fc754d..d7aa888 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -112,6 +112,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-5 `_) * Reworded mandatory zero Classification for Synthetic PDRF0-5. (`I-86 `_) + * Clarified how and when certain header fields should be zero-filled. + (`I-101 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 8de5105..0c7cae0 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -234,6 +234,8 @@ files. Thus, System ID becomes: | | identifying the operation | +-----------------------------+---------------------------------------------+ +If the character data is less than 32 characters, the remaining +data must be null. **Generating Software** @@ -273,6 +275,8 @@ This field contains the current number of VLRs that are stored in the file preceding the Point Data Records. If the number of VLRs changes, then this number must be updated. +This field is unrelated to the number of EVLRs appended to the file. + **Point Data Record Format** The point data record indicates the type of point data records contained in the @@ -337,7 +341,8 @@ record X is multiplied by the X scale factor and then added to the X offset. **Max and Min X, Y, and Z** The max and min data fields are the actual unscaled extents of the LAS point -file data, specified in the coordinate system of the LAS data. +file data, specified in the coordinate system of the LAS data. If there are no +point records in the file, these values must be set to zero. **Start of Waveform Data Packet Record** @@ -354,6 +359,8 @@ This value provides the offset, in bytes, from the beginning of the LAS file to the first byte of the first EVLR. If any software adds/removes data to/from the Variable Length Records or Point Records, then this offset value must be updated. +If there are no EVLRs, this value must be zero. + **Number of Extended Variable Length Records** This field contains the current number of EVLRs (including, if present, the @@ -361,6 +368,8 @@ Waveform Data Packet Record) that are stored in the file after the Point Data Records. If the number of EVLRs changes, then this number must be updated. If there are no EVLRs this value is zero. +If there are no EVLRs, this value must be zero. + **Number of Point Records** This field contains the total number of point records in the file. Note that From 080096471f2f2255cb15291cc3d5dfae97ba20b5 Mon Sep 17 00:00:00 2001 From: Kenta Kubo <601636+kkk669@users.noreply.github.com> Date: Thu, 13 May 2021 13:05:48 +0900 Subject: [PATCH 33/71] Fix typo in Public Header Block --- source/02.04_header.sub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index fe38cb8..b036005 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -48,7 +48,7 @@ Public Header Block +----------------------------------+------------------------+-----------------+-----------+--------------+ | Legacy Number of Point Records | unsigned long | 107 | 4 bytes | yes | +----------------------------------+------------------------+-----------------+-----------+--------------+ - | Legacy Number of Point by Return | unsigned long[5] | 111 | 20 bytes | yes | + | Legacy Number of Points by Return| unsigned long[5] | 111 | 20 bytes | yes | +----------------------------------+------------------------+-----------------+-----------+--------------+ | X Scale Factor | double | 131 | 8 bytes | yes | +----------------------------------+------------------------+-----------------+-----------+--------------+ From 929a1cc274f6a803834a9512a52da3e0993cd34b Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 21 Feb 2022 11:17:07 -0800 Subject: [PATCH 34/71] Updated ASPRS office address --- source/01_intro.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index c71a246..6218c8a 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -171,7 +171,7 @@ this standard can be directed to ASPRS: * Online at https://github.com/ASPRSorg/LAS * By phone at 301-493-0290 * By email at las@asprs.org or asprs@asprs.org -* By mail at 425 Barlow Place, Suite 210, Bethesda, Maryland 20814-2160 +* By mail at 8550 United Plaza Blvd, Suite 1001 Baton Rouge, LA 70809 OGC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 683fb38e84d513c9aa57f06e8d56a6a8f29cdf43 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 13:22:44 +0100 Subject: [PATCH 35/71] Replace (unsigned) short with uint16_t/int16_t --- source/02.03_datatypes.sub | 7 +-- source/02.04_header.sub | 18 +++---- source/02.05_vlr.sub | 6 +-- source/02.06_point.sub | 96 ++++++++++++++++++------------------- source/02.07_evlr.sub | 4 +- source/03_required_vlrs.txt | 24 +++++----- source/04_optional_vlrs.txt | 10 ++-- 7 files changed, 83 insertions(+), 82 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index 2d63e8c..28666f1 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -3,12 +3,13 @@ Data Types The following data types are used in the LAS format definition. Note that these data types are conformant to the 1999 ANSI C Language Specification -(ANSI/ISO/IEC 9899:1999 ("C99")). +(ANSI/ISO/IEC 9899:1999 ("C99")), as defined in the standard header +````. * char (1 byte) * unsigned char (1 byte) -* short (2 bytes) -* unsigned short (2 bytes) +* int16_t (2 bytes) +* uint16_t (2 bytes) * long (4 bytes) * unsigned long (4 bytes) * long long (8 bytes) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 8de5105..488f484 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -12,15 +12,15 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | File Signature ("LASF") | char[4] | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | File Source ID | unsigned short | 2 bytes | yes | + | File Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Global Encoding | unsigned short | 2 bytes | yes | + | Global Encoding | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ | Project ID - GUID Data 1 | unsigned long | 4 bytes | | +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 2 | unsigned short | 2 bytes | | + | Project ID - GUID Data 2 | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 3 | unsigned short | 2 bytes | | + | Project ID - GUID Data 3 | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+--------------+ | Project ID - GUID Data 4 | unsigned char[8] | 8 bytes | | +----------------------------------+-------------------------+-----------+--------------+ @@ -32,11 +32,11 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Generating Software | char[32] | 32 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | File Creation Day of Year | unsigned short | 2 bytes | yes | + | File Creation Day of Year | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | File Creation Year | unsigned short | 2 bytes | yes | + | File Creation Year | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Header Size | unsigned short | 2 bytes | yes | + | Header Size | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ | Offset to Point Data | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ @@ -44,7 +44,7 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Point Data Record Format | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Point Data Record Length | unsigned short | 2 bytes | yes | + | Point Data Record Length | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ | Legacy Number of Point Records | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ @@ -246,7 +246,7 @@ data must be null. **File Creation Day of Year** -Day, expressed as an unsigned short, on which this file was created. Day is +Day, expressed as an uint16_t, on which this file was created. Day is computed as the Greenwich Mean Time (GMT) day. January 1 is considered day 1. **File Creation Year** diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index c007a09..821b671 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -20,13 +20,13 @@ Record Header is 54 bytes in length. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | Reserved | unsigned short | 2 bytes | | + | Reserved | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+----------+ | User ID | char[16] | 16 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Record ID | unsigned short | 2 bytes | yes | + | Record ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Record Length After Header | unsigned short | 2 bytes | yes | + | Record Length After Header | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Description | char[32] | 32 bytes | | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 9827219..87f3e6e 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -60,7 +60,7 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -77,7 +77,7 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | *Minimum PDRF Size* [1]_ | *20 bytes* | +------------------------------------------------------------+----------------------+ @@ -323,7 +323,7 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -340,7 +340,7 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -381,7 +381,7 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -398,13 +398,13 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | *Minimum PDRF Size* | *26 bytes* | +------------------------------------------------------------+----------------------+ @@ -444,7 +444,7 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -461,15 +461,15 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | *Minimum PDRF Size* | *34 bytes* | +------------------------------------------------------------+----------------------+ @@ -496,7 +496,7 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -513,7 +513,7 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -640,7 +640,7 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 3 bits (bits 0-2) | 3 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -657,15 +657,15 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -711,7 +711,7 @@ instead of 8), and the GPS time is mandatory. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 4 bits (bits 0-3) | 4 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -729,9 +729,9 @@ instead of 8), and the GPS time is mandatory. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | + | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -922,7 +922,7 @@ Classification must adhere to the following standard: **Scan Angle** -The Scan Angle is a signed short that represents the rotational position of the +The Scan Angle is an int16_t that represents the rotational position of the emitted laser pulse with respect to the vertical dimension of the coordinate system of the data. Down in the data coordinate system is the 0.0 position. Each increment represents 0.006 degrees. Counter-clockwise rotation, as viewed from @@ -959,7 +959,7 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 4 bits (bits 0-3) | 4 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -977,17 +977,17 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | + | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | *Minimum PDRF Size* | *36 bytes* | +------------------------------------------------------------+----------------------+ @@ -1015,7 +1015,7 @@ addition of a NIR (near infrared) channel. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 4 bits (bits 0-3) | 4 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1033,19 +1033,19 @@ addition of a NIR (near infrared) channel. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | + | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | NIR | unsigned short | 2 bytes | yes | + | NIR | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | *Minimum PDRF Size* | *38 bytes* | +------------------------------------------------------------+----------------------+ @@ -1084,7 +1084,7 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 4 bits (bits 0-3) | 4 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1102,9 +1102,9 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | + | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1147,7 +1147,7 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | Z | long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Intensity | unsigned short | 2 bytes | no | + | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ | Return Number | 4 bits (bits 0-3) | 4 bits | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1165,19 +1165,19 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | User Data | unsigned char | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle | short | 2 bytes | yes | + | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Point Source ID | unsigned short | 2 bytes | yes | + | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Red | unsigned short | 2 bytes | yes | + | Red | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Green | unsigned short | 2 bytes | yes | + | Green | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Blue | unsigned short | 2 bytes | yes | + | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | NIR | unsigned short | 2 bytes | yes | + | NIR | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/02.07_evlr.sub b/source/02.07_evlr.sub index baebd96..d8f79af 100644 --- a/source/02.07_evlr.sub +++ b/source/02.07_evlr.sub @@ -26,11 +26,11 @@ Length Record Header is 60 bytes in length. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | Reserved | unsigned short | 2 bytes | | + | Reserved | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+----------+ | User ID | char[16] | 16 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Record ID | unsigned short | 2 bytes | yes | + | Record ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Record Length After Header | unsigned long long | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/03_required_vlrs.txt b/source/03_required_vlrs.txt index c1241e4..417dc82 100644 --- a/source/03_required_vlrs.txt +++ b/source/03_required_vlrs.txt @@ -106,22 +106,22 @@ complete description can be found in the GeoTIFF format specification. Here is a summary from a programmatic point of view for someone interested in implementation. -The GeoKeyDirectoryTag is defined as an array of unsigned short values. +The GeoKeyDirectoryTag is defined as an array of uint16_t values. Programmatically, the data can be structured as follows: :: struct sGeoKeys { - unsigned short wKeyDirectoryVersion; - unsigned short wKeyRevision; - unsigned short wMinorRevision; - unsigned short wNumberOfKeys; + uint16_t wKeyDirectoryVersion; + uint16_t wKeyRevision; + uint16_t wMinorRevision; + uint16_t wNumberOfKeys; struct sKeyEntry { - unsigned short wKeyID; - unsigned short wTIFFTagLocation; - unsigned short wCount; - unsigned short wValue_Offset; + uint16_t wKeyID; + uint16_t wTIFFTagLocation; + uint16_t wCount; + uint16_t wValue_Offset; } pKey[1]; }; @@ -132,11 +132,11 @@ Programmatically, the data can be structured as follows: wKeyDirectoryVersion = 1; // Always wKeyRevision = 1; // Always wMinorRevision = 0; // Always - wNumberOfKeys // Number of sets of 4 unsigned shorts to follow + wNumberOfKeys // Number of sets of 4 uint16_ts to follow .. tabularcolumns:: |p{4.5cm}|p{12.0cm}| -.. table:: GeoKey Four Unsigned Shorts +.. table:: GeoKey Four uint16_ts +---------------------------------+----------------------------------------------------------+ | Name | Definition | @@ -147,7 +147,7 @@ Programmatically, the data can be structured as follows: | ``wTIFFTagLocation`` | Indicates where the data for this key is located: | | | | | | * 0 means data is in the ``wValue_Offset`` field as an | - | | unsigned short. | + | | uint16_t. | | | * 34736 means the data is located at index | | | ``wValue_Offset`` of the GeoDoubleParamsTag record. | | | * 34737 means the data is located at index | diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 0a23a1f..2181d82 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -96,7 +96,7 @@ each point record: #) "pulse width" - data_type = 3 (ushort) In this example, an array of three individual floats collectively specify a -"laser pulse direction" for that point, and one unsigned short integer specifies +"laser pulse direction" for that point, and one uint16_t integer specifies a "pulse width" for that point. The "extra bytes" are made accessible via a unique name. The "name" field @@ -131,9 +131,9 @@ Any unused characters in the "name" or "description" fields must be set to zero. +------------+-------------------------------+-------------------+ | 2 | char | 1 byte | +------------+-------------------------------+-------------------+ - | 3 | unsigned short | 2 bytes | + | 3 | uint16_t | 2 bytes | +------------+-------------------------------+-------------------+ - | 4 | short | 2 bytes | + | 4 | int16_t | 2 bytes | +------------+-------------------------------+-------------------+ | 5 | unsigned long | 4 bytes | +------------+-------------------------------+-------------------+ @@ -186,8 +186,8 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be -upcast to a double, for any unsigned char, unsigned short, or unsigned long -they would be upcast to an unsigned long long and for any char, short, or long, +upcast to a double, for any unsigned char, uint16_t, or unsigned long +they would be upcast to an unsigned long long and for any char, int16_t, or long, they would be upcast to a long long. If used, the min and max fields reflect the actual minimum and maximum values From 6f0e05c5d5511f899053a8021025cf877ac94a7a Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 13:38:42 +0100 Subject: [PATCH 36/71] Replace (unsigned) long long with uint64_t/int64_t --- source/02.03_datatypes.sub | 4 ++-- source/02.04_header.sub | 8 ++++---- source/02.06_point.sub | 8 ++++---- source/02.07_evlr.sub | 2 +- source/04_optional_vlrs.txt | 8 ++++---- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index 28666f1..4cd5dba 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -12,8 +12,8 @@ data types are conformant to the 1999 ANSI C Language Specification * uint16_t (2 bytes) * long (4 bytes) * unsigned long (4 bytes) -* long long (8 bytes) -* unsigned long long (8 bytes) +* int64_t (8 bytes) +* uint64_t (8 bytes) * float (4 byte IEEE floating point format) * double (8 byte IEEE floating point format) * string (a variable series of 1 byte characters, ASCII encoded, null-terminated) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 488f484..54cd92d 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -74,18 +74,18 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Min Z | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Start of Waveform Data Packet | unsigned long long | 8 bytes | yes | + | Start of Waveform Data Packet | uint64_t | 8 bytes | yes | | Record | | | | +----------------------------------+-------------------------+-----------+--------------+ - | Start of First Extended Variable | unsigned long long | 8 bytes | yes | + | Start of First Extended Variable | uint64_t | 8 bytes | yes | | Length Record | | | | +----------------------------------+-------------------------+-----------+--------------+ | Number of Extended Variable | unsigned long | 4 bytes | yes | | Length Records | | | | +----------------------------------+-------------------------+-----------+--------------+ - | Number of Point Records | unsigned long long | 8 bytes | yes | + | Number of Point Records | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Number of Points by Return | unsigned long long[15] | 120 bytes | yes | + | Number of Points by Return | uint64_t[15] | 120 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ .. note:: diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 87f3e6e..9338769 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -519,7 +519,7 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | + | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -669,7 +669,7 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | + | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1110,7 +1110,7 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | + | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1181,7 +1181,7 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Byte Offset to Waveform Data | unsigned long long | 8 bytes | yes | + | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/02.07_evlr.sub b/source/02.07_evlr.sub index d8f79af..888a07f 100644 --- a/source/02.07_evlr.sub +++ b/source/02.07_evlr.sub @@ -32,7 +32,7 @@ Length Record Header is 60 bytes in length. +----------------------------------+-------------------------+-----------+----------+ | Record ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Record Length After Header | unsigned long long | 8 bytes | yes | + | Record Length After Header | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Description | char[32] | 32 bytes | | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 2181d82..1400d3f 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -139,9 +139,9 @@ Any unused characters in the "name" or "description" fields must be set to zero. +------------+-------------------------------+-------------------+ | 6 | long | 4 bytes | +------------+-------------------------------+-------------------+ - | 7 | unsigned long long | 8 bytes | + | 7 | uint64_t | 8 bytes | +------------+-------------------------------+-------------------+ - | 8 | long long | 8 bytes | + | 8 | int64_t | 8 bytes | +------------+-------------------------------+-------------------+ | 9 | float | 4 bytes | +------------+-------------------------------+-------------------+ @@ -187,8 +187,8 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be upcast to a double, for any unsigned char, uint16_t, or unsigned long -they would be upcast to an unsigned long long and for any char, int16_t, or long, -they would be upcast to a long long. +they would be upcast to an uint64_t and for any char, int16_t, or long, +they would be upcast to a int64_t. If used, the min and max fields reflect the actual minimum and maximum values of the attribute in the LAS file, in its raw form, without any scale From 778436e29fbe9aaf35132e1e3c61253a753af732 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 13:57:32 +0100 Subject: [PATCH 37/71] Replace (unsigned) long with uint32_t/int32_t --- source/02.03_datatypes.sub | 4 +- source/02.04_header.sub | 14 +++---- source/02.05_vlr.sub | 2 +- source/02.06_point.sub | 76 ++++++++++++++++++------------------- source/04_optional_vlrs.txt | 12 +++--- 5 files changed, 54 insertions(+), 54 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index 4cd5dba..a3d834b 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -10,8 +10,8 @@ data types are conformant to the 1999 ANSI C Language Specification * unsigned char (1 byte) * int16_t (2 bytes) * uint16_t (2 bytes) -* long (4 bytes) -* unsigned long (4 bytes) +* int32_t (4 bytes) +* uint32_t (4 bytes) * int64_t (8 bytes) * uint64_t (8 bytes) * float (4 byte IEEE floating point format) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 54cd92d..28ea362 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -16,7 +16,7 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Global Encoding | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 1 | unsigned long | 4 bytes | | + | Project ID - GUID Data 1 | uint32_t | 4 bytes | | +----------------------------------+-------------------------+-----------+--------------+ | Project ID - GUID Data 2 | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+--------------+ @@ -38,17 +38,17 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Header Size | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Offset to Point Data | unsigned long | 4 bytes | yes | + | Offset to Point Data | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Number of Variable Length Records| unsigned long | 4 bytes | yes | + | Number of Variable Length Records| uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ | Point Data Record Format | unsigned char | 1 byte | yes | +----------------------------------+-------------------------+-----------+--------------+ | Point Data Record Length | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Legacy Number of Point Records | unsigned long | 4 bytes | yes | + | Legacy Number of Point Records | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Legacy Number of Point by Return | unsigned long[5] | 20 bytes | yes | + | Legacy Number of Point by Return | uint32_t[5] | 20 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ | X Scale Factor | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ @@ -80,7 +80,7 @@ Public Header Block | Start of First Extended Variable | uint64_t | 8 bytes | yes | | Length Record | | | | +----------------------------------+-------------------------+-----------+--------------+ - | Number of Extended Variable | unsigned long | 4 bytes | yes | + | Number of Extended Variable | uint32_t | 4 bytes | yes | | Length Records | | | | +----------------------------------+-------------------------+-----------+--------------+ | Number of Point Records | uint64_t | 8 bytes | yes | @@ -309,7 +309,7 @@ five returns. **X, Y, and Z Scale Factors** The scale factor fields contain a double floating-point value that is used to -scale the corresponding X, Y, and Z long values within the point records. The +scale the corresponding X, Y, and Z int32_t values within the point records. The corresponding X, Y, and Z scale factor must be multiplied by the X, Y, or Z point record value to get the actual X, Y, or Z coordinate. For example, if the X, Y, and Z coordinates are intended to have two decimal digits, then each diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index 821b671..a2535ba 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -5,7 +5,7 @@ Variable Length Records (VLRs) The Public Header Block can be followed by any number of Variable Length Records (VLRs) so long as the total size does not make the start of the Point -Record data inaccessible by an unsigned long ("Offset to Point Data" in the +Record data inaccessible by an uint32_t ("Offset to Point Data" in the Public Header Block). The number of VLRs is specified in the "Number of Variable Length Records" field in the Public Header Block. The Variable Length Records must be accessed sequentially since the size of each variable length diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 9338769..a86eb49 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -54,11 +54,11 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -88,7 +88,7 @@ Data Record Formats 0 to 5. **X, Y, and Z** -The X, Y, and Z values are stored as long integers. The X, Y, and Z values are +The X, Y, and Z values are stored as int32_t integers. The X, Y, and Z values are used in conjunction with the scale values and the offset values to determine the coordinate for each point as described in the :ref:`headerblock_label` section. @@ -317,11 +317,11 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -375,11 +375,11 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -438,11 +438,11 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -490,11 +490,11 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -521,7 +521,7 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | + | Waveform Packet Size in Bytes | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Return Point Waveform Location | float | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -634,11 +634,11 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -671,7 +671,7 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | + | Waveform Packet Size in Bytes | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Return Point Waveform Location | float | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -705,11 +705,11 @@ instead of 8), and the GPS time is mandatory. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -953,11 +953,11 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -1009,11 +1009,11 @@ addition of a NIR (near infrared) channel. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -1078,11 +1078,11 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -1112,7 +1112,7 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | + | Waveform Packet Size in Bytes | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Return Point Waveform Location | float | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1141,11 +1141,11 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | Item | Format | Size | Required | +==================================+=========================+===========+==========+ - | X | long | 4 bytes | yes | + | X | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Y | long | 4 bytes | yes | + | Y | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Z | long | 4 bytes | yes | + | Z | int32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Intensity | uint16_t | 2 bytes | no | +----------------------------------+-------------------------+-----------+----------+ @@ -1183,7 +1183,7 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Waveform Packet Size in Bytes | unsigned long | 4 bytes | yes | + | Waveform Packet Size in Bytes | uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | Return Point Waveform Location | float | 4 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 1400d3f..5d53954 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -135,9 +135,9 @@ Any unused characters in the "name" or "description" fields must be set to zero. +------------+-------------------------------+-------------------+ | 4 | int16_t | 2 bytes | +------------+-------------------------------+-------------------+ - | 5 | unsigned long | 4 bytes | + | 5 | uint32_t | 4 bytes | +------------+-------------------------------+-------------------+ - | 6 | long | 4 bytes | + | 6 | int32_t | 4 bytes | +------------+-------------------------------+-------------------+ | 7 | uint64_t | 8 bytes | +------------+-------------------------------+-------------------+ @@ -186,8 +186,8 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be -upcast to a double, for any unsigned char, uint16_t, or unsigned long -they would be upcast to an uint64_t and for any char, int16_t, or long, +upcast to a double, for any unsigned char, uint16_t, or uint32_t +they would be upcast to an uint64_t and for any char, int16_t, or int32_t, they would be upcast to a int64_t. If used, the min and max fields reflect the actual minimum and maximum values @@ -257,9 +257,9 @@ dataset, the LAS file supports up to 255 Waveform Packet Descriptors. +------------------------------+-------------------------+-----------+--------------+ | Waveform Compression Type | unsigned char | 1 byte | yes | +------------------------------+-------------------------+-----------+--------------+ - | Number of Samples | unsigned long | 4 bytes | yes | + | Number of Samples | uint32_t | 4 bytes | yes | +------------------------------+-------------------------+-----------+--------------+ - | Temporal Sample Spacing | unsigned long | 4 bytes | yes | + | Temporal Sample Spacing | uint32_t | 4 bytes | yes | +------------------------------+-------------------------+-----------+--------------+ | Digitizer Gain | double | 8 bytes | yes | +------------------------------+-------------------------+-----------+--------------+ From cb542dc58eecf18ffcdcf0e3501a7b6da83be871 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:27:01 +0100 Subject: [PATCH 38/71] Replace unsigned char with uint8_t --- source/02.03_datatypes.sub | 2 +- source/02.04_header.sub | 8 +++--- source/02.06_point.sub | 52 ++++++++++++++++++------------------- source/04_optional_vlrs.txt | 28 ++++++++++---------- 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index a3d834b..f493bda 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -7,7 +7,7 @@ data types are conformant to the 1999 ANSI C Language Specification ````. * char (1 byte) -* unsigned char (1 byte) +* uint8_t (1 byte) * int16_t (2 bytes) * uint16_t (2 bytes) * int32_t (4 bytes) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 28ea362..917cec9 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -22,11 +22,11 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Project ID - GUID Data 3 | uint16_t | 2 bytes | | +----------------------------------+-------------------------+-----------+--------------+ - | Project ID - GUID Data 4 | unsigned char[8] | 8 bytes | | + | Project ID - GUID Data 4 | uint8_t[8] | 8 bytes | | +----------------------------------+-------------------------+-----------+--------------+ - | Version Major | unsigned char | 1 byte | yes | + | Version Major | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Version Minor | unsigned char | 1 byte | yes | + | Version Minor | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+--------------+ | System Identifier | char[32] | 32 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ @@ -42,7 +42,7 @@ Public Header Block +----------------------------------+-------------------------+-----------+--------------+ | Number of Variable Length Records| uint32_t | 4 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ - | Point Data Record Format | unsigned char | 1 byte | yes | + | Point Data Record Format | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+--------------+ | Point Data Record Length | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+--------------+ diff --git a/source/02.06_point.sub b/source/02.06_point.sub index a86eb49..1eed09e 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -70,12 +70,12 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -333,12 +333,12 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -391,12 +391,12 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -454,12 +454,12 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -506,18 +506,18 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | + | Wave Packet Descriptor Index | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -650,12 +650,12 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Point Source ID | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -667,7 +667,7 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Blue | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | + | Wave Packet Descriptor Index | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -725,9 +725,9 @@ instead of 8), and the GPS time is mandatory. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -973,9 +973,9 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1029,9 +1029,9 @@ addition of a NIR (near infrared) channel. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1098,9 +1098,9 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1108,7 +1108,7 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-----------+----------+ | GPS Time | double | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | + | Wave Packet Descriptor Index | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1161,9 +1161,9 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | Edge of Flight Line | 1 bit (bit 7) | 1 bit | yes | +----------------------------------+-------------------------+-----------+----------+ - | Classification | unsigned char | 1 byte | yes | + | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | User Data | unsigned char | 1 byte | no | + | User Data | uint8_t | 1 byte | no | +----------------------------------+-------------------------+-----------+----------+ | Scan Angle | int16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ @@ -1179,7 +1179,7 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-----------+----------+ | NIR | uint16_t | 2 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ - | Wave Packet Descriptor Index | unsigned char | 1 byte | yes | + | Wave Packet Descriptor Index | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ | Byte Offset to Waveform Data | uint64_t | 8 bytes | yes | +----------------------------------+-------------------------+-----------+----------+ diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 5d53954..3d63502 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -19,7 +19,7 @@ Classification Lookup :: struct CLASSIFICATION { - unsigned char ClassNumber; + uint8_t ClassNumber; char Description[15]; }; //total of 16 bytes @@ -66,21 +66,21 @@ across applications. The extra bytes descriptor is defined as follows: :: struct EXTRA_BYTES { - unsigned char reserved[2]; // 2 bytes - unsigned char data_type; // 1 byte - unsigned char options; // 1 byte + uint8_t reserved[2]; // 2 bytes + uint8_t data_type; // 1 byte + uint8_t options; // 1 byte char name[32]; // 32 bytes - unsigned char unused[4]; // 4 bytes + uint8_t unused[4]; // 4 bytes anytype no_data; // 8 bytes - unsigned char deprecated1[16]; // 16 bytes + uint8_t deprecated1[16]; // 16 bytes anytype min; // 8 bytes - unsigned char deprecated2[16]; // 16 bytes + uint8_t deprecated2[16]; // 16 bytes anytype max; // 8 bytes - unsigned char deprecated3[16]; // 16 bytes + uint8_t deprecated3[16]; // 16 bytes double scale; // 8 bytes - unsigned char deprecated4[16]; // 16 bytes + uint8_t deprecated4[16]; // 16 bytes double offset; // 8 bytes - unsigned char deprecated5[16]; // 16 bytes + uint8_t deprecated5[16]; // 16 bytes char description[32]; // 32 bytes }; // total of 192 bytes @@ -127,7 +127,7 @@ Any unused characters in the "name" or "description" fields must be set to zero. | 0 | undocumented extra bytes | specify value in | | | | ``options`` field | +------------+-------------------------------+-------------------+ - | 1 | unsigned char | 1 byte | + | 1 | uint8_t | 1 byte | +------------+-------------------------------+-------------------+ | 2 | char | 1 byte | +------------+-------------------------------+-------------------+ @@ -186,7 +186,7 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be -upcast to a double, for any unsigned char, uint16_t, or uint32_t +upcast to a double, for any uint8_t, uint16_t, or uint32_t they would be upcast to an uint64_t and for any char, int16_t, or int32_t, they would be upcast to a int64_t. @@ -253,9 +253,9 @@ dataset, the LAS file supports up to 255 Waveform Packet Descriptors. +------------------------------+-------------------------+-----------+--------------+ | Item | Format | Size | Required | +==============================+=========================+===========+==============+ - | Bits per Sample | unsigned char | 1 byte | yes | + | Bits per Sample | uint8_t | 1 byte | yes | +------------------------------+-------------------------+-----------+--------------+ - | Waveform Compression Type | unsigned char | 1 byte | yes | + | Waveform Compression Type | uint8_t | 1 byte | yes | +------------------------------+-------------------------+-----------+--------------+ | Number of Samples | uint32_t | 4 bytes | yes | +------------------------------+-------------------------+-----------+--------------+ From 700f8e8450c6b35d1db43c0114fbc08371ef9986 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:35:42 +0100 Subject: [PATCH 39/71] Replace non-array occurrences of char with int8_t --- source/02.03_datatypes.sub | 2 +- source/02.06_point.sub | 12 ++++++------ source/04_optional_vlrs.txt | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index f493bda..c5e44fb 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -6,7 +6,7 @@ data types are conformant to the 1999 ANSI C Language Specification (ANSI/ISO/IEC 9899:1999 ("C99")), as defined in the standard header ````. -* char (1 byte) +* int8_t (1 byte) * uint8_t (1 byte) * int16_t (2 bytes) * uint16_t (2 bytes) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 1eed09e..75dbe4b 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -72,7 +72,7 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | @@ -335,7 +335,7 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | @@ -393,7 +393,7 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | @@ -456,7 +456,7 @@ addition of GPS Time. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | @@ -508,7 +508,7 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | @@ -652,7 +652,7 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-----------+----------+ | Classification | uint8_t | 1 byte | yes | +----------------------------------+-------------------------+-----------+----------+ - | Scan Angle Rank (-90 to +90) -- | signed char | 1 byte | yes | + | Scan Angle Rank (-90 to +90) -- | int8_t | 1 byte | yes | | Left Side | | | | +----------------------------------+-------------------------+-----------+----------+ | User Data | uint8_t | 1 byte | no | diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 3d63502..e6e81ff 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -129,7 +129,7 @@ Any unused characters in the "name" or "description" fields must be set to zero. +------------+-------------------------------+-------------------+ | 1 | uint8_t | 1 byte | +------------+-------------------------------+-------------------+ - | 2 | char | 1 byte | + | 2 | int8_t | 1 byte | +------------+-------------------------------+-------------------+ | 3 | uint16_t | 2 bytes | +------------+-------------------------------+-------------------+ @@ -187,7 +187,7 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be upcast to a double, for any uint8_t, uint16_t, or uint32_t -they would be upcast to an uint64_t and for any char, int16_t, or int32_t, +they would be upcast to an uint64_t and for any int8_t, int16_t, or int32_t, they would be upcast to a int64_t. If used, the min and max fields reflect the actual minimum and maximum values From d65c57b1430e5029ce5591afb37f67f559791910 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:37:37 +0100 Subject: [PATCH 40/71] Trim whitespace --- source/04_optional_vlrs.txt | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index e6e81ff..46eb398 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -66,22 +66,22 @@ across applications. The extra bytes descriptor is defined as follows: :: struct EXTRA_BYTES { - uint8_t reserved[2]; // 2 bytes - uint8_t data_type; // 1 byte - uint8_t options; // 1 byte - char name[32]; // 32 bytes - uint8_t unused[4]; // 4 bytes - anytype no_data; // 8 bytes - uint8_t deprecated1[16]; // 16 bytes - anytype min; // 8 bytes - uint8_t deprecated2[16]; // 16 bytes - anytype max; // 8 bytes - uint8_t deprecated3[16]; // 16 bytes - double scale; // 8 bytes - uint8_t deprecated4[16]; // 16 bytes - double offset; // 8 bytes - uint8_t deprecated5[16]; // 16 bytes - char description[32]; // 32 bytes + uint8_t reserved[2]; // 2 bytes + uint8_t data_type; // 1 byte + uint8_t options; // 1 byte + char name[32]; // 32 bytes + uint8_t unused[4]; // 4 bytes + anytype no_data; // 8 bytes + uint8_t deprecated1[16]; // 16 bytes + anytype min; // 8 bytes + uint8_t deprecated2[16]; // 16 bytes + anytype max; // 8 bytes + uint8_t deprecated3[16]; // 16 bytes + double scale; // 8 bytes + uint8_t deprecated4[16]; // 16 bytes + double offset; // 8 bytes + uint8_t deprecated5[16]; // 16 bytes + char description[32]; // 32 bytes }; // total of 192 bytes The 4 "extra bytes" could, for example, be of data_type 9 - a 4-byte floating From 34385a9733b4b82f5144058f8c7060122c115b67 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:40:56 +0100 Subject: [PATCH 41/71] Grammar --- source/02.04_header.sub | 2 +- source/02.05_vlr.sub | 2 +- source/04_optional_vlrs.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 917cec9..8937a60 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -246,7 +246,7 @@ data must be null. **File Creation Day of Year** -Day, expressed as an uint16_t, on which this file was created. Day is +Day, expressed as a uint16_t, on which this file was created. Day is computed as the Greenwich Mean Time (GMT) day. January 1 is considered day 1. **File Creation Year** diff --git a/source/02.05_vlr.sub b/source/02.05_vlr.sub index a2535ba..9895fc5 100644 --- a/source/02.05_vlr.sub +++ b/source/02.05_vlr.sub @@ -5,7 +5,7 @@ Variable Length Records (VLRs) The Public Header Block can be followed by any number of Variable Length Records (VLRs) so long as the total size does not make the start of the Point -Record data inaccessible by an uint32_t ("Offset to Point Data" in the +Record data inaccessible by a uint32_t ("Offset to Point Data" in the Public Header Block). The number of VLRs is specified in the "Number of Variable Length Records" field in the Public Header Block. The Variable Length Records must be accessed sequentially since the size of each variable length diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 46eb398..7ed8af0 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -187,7 +187,7 @@ values in the corresponding fields are to be disregarded. Any unused If the selected data_type is less than 8 bytes, the no_data, min, and max fields should be upcast into 8-byte storage. For any float these 8 bytes would be upcast to a double, for any uint8_t, uint16_t, or uint32_t -they would be upcast to an uint64_t and for any int8_t, int16_t, or int32_t, +they would be upcast to a uint64_t and for any int8_t, int16_t, or int32_t, they would be upcast to a int64_t. If used, the min and max fields reflect the actual minimum and maximum values From 35e0f6a1bde9ebf7b78ea7906dda7bea1d7ef306 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:46:51 +0100 Subject: [PATCH 42/71] Clarify string definition --- source/02.03_datatypes.sub | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index c5e44fb..430b9f1 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -16,7 +16,8 @@ data types are conformant to the 1999 ANSI C Language Specification * uint64_t (8 bytes) * float (4 byte IEEE floating point format) * double (8 byte IEEE floating point format) -* string (a variable series of 1 byte characters, ASCII encoded, null-terminated) +* string (a variable-length array of 1-byte characters, ASCII-encoded, + null-terminated, contained in a fixed-length ``char`` array) .. warning:: From 7f07d14f711d6fd558854519507bab0879d25284 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Fri, 4 Mar 2022 14:51:22 +0100 Subject: [PATCH 43/71] More precise IEEE float type description --- source/02.03_datatypes.sub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index 430b9f1..8bb468e 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -14,8 +14,8 @@ data types are conformant to the 1999 ANSI C Language Specification * uint32_t (4 bytes) * int64_t (8 bytes) * uint64_t (8 bytes) -* float (4 byte IEEE floating point format) -* double (8 byte IEEE floating point format) +* float (4-byte ``binary32`` IEEE floating point format) +* double (8-byte ``binary64`` IEEE floating point format) * string (a variable-length array of 1-byte characters, ASCII-encoded, null-terminated, contained in a fixed-length ``char`` array) From 0c9c40747da69b517f682bc3c3ec64e216b39654 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 4 Mar 2022 10:13:56 -0800 Subject: [PATCH 44/71] Clarified XYZ min/max scaling for #89 --- source/02.04_header.sub | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 0364bea..cc639b9 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -340,9 +340,10 @@ record X is multiplied by the X scale factor and then added to the X offset. **Max and Min X, Y, and Z** -The max and min data fields are the actual unscaled extents of the LAS point -file data, specified in the coordinate system of the LAS data. If there are no -point records in the file, these values must be set to zero. +The max and min data fields are the spatial extents of the LAS point +file data, specified in the coordinate system of the LAS data, for the +X\ :sub:`coordinate`\ , Y\ :sub:`coordinate`\ , and Z\ :sub:`coordinate` values. +If there are no point records in the file, these values must be set to zero. **Start of Waveform Data Packet Record** From d74e7d6fa8df71eacb93aa703fb6be08828ea895 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 4 Mar 2022 10:53:09 -0800 Subject: [PATCH 45/71] More readable clarification of XYZ max/min source #89 --- source/02.04_header.sub | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index cc639b9..2bb8058 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -341,8 +341,9 @@ record X is multiplied by the X scale factor and then added to the X offset. **Max and Min X, Y, and Z** The max and min data fields are the spatial extents of the LAS point -file data, specified in the coordinate system of the LAS data, for the -X\ :sub:`coordinate`\ , Y\ :sub:`coordinate`\ , and Z\ :sub:`coordinate` values. +file data, specified in the coordinate system of the LAS data. +It should be noted that the max and min should be computed based on the true +X, Y, and Z coordinates and not based on the integer values stored in the point records. If there are no point records in the file, these values must be set to zero. **Start of Waveform Data Packet Record** From 5cd0de3d5bf76e4666621601ad4532880b1980c2 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 4 Mar 2022 14:25:04 -0800 Subject: [PATCH 46/71] Clarified ExtraByte min/max source. --- source/04_optional_vlrs.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 0a23a1f..83187d7 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -190,9 +190,9 @@ upcast to a double, for any unsigned char, unsigned short, or unsigned long they would be upcast to an unsigned long long and for any char, short, or long, they would be upcast to a long long. -If used, the min and max fields reflect the actual minimum and maximum values -of the attribute in the LAS file, in its raw form, without any scale -or offset values applied. +If used, the min and max fields reflect the minimum and maximum values +of the attribute in the LAS file as computed from the raw value stored in the LAS +point record, without any scale or offset values applied. The "reserved" field, the "unused" field, and the "deprecated" fields must be set to zero and may be used in a future revision. From 13c9653eda7e716f8c166259856904fe882347b2 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 4 Mar 2022 14:25:11 -0800 Subject: [PATCH 47/71] Added #89 to the revision history. --- source/01_intro.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/01_intro.txt b/source/01_intro.txt index 6218c8a..faaf15f 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -116,6 +116,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-55 `_) * Clarified how and when certain header fields should be zero-filled. (`I-101 `_) + * Clarified source of min/max XYZ and ExtraByte values. + (`I-89 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. From aee9e9eb6b0f311b22ddd6288642fbf6f9a9d767 Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Wed, 9 Mar 2022 18:12:15 +0100 Subject: [PATCH 48/71] Fix comment/heading after search-and-replace --- source/03_required_vlrs.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/03_required_vlrs.txt b/source/03_required_vlrs.txt index 417dc82..e3ae65c 100644 --- a/source/03_required_vlrs.txt +++ b/source/03_required_vlrs.txt @@ -132,11 +132,11 @@ Programmatically, the data can be structured as follows: wKeyDirectoryVersion = 1; // Always wKeyRevision = 1; // Always wMinorRevision = 0; // Always - wNumberOfKeys // Number of sets of 4 uint16_ts to follow + wNumberOfKeys // Number of sets of 4 uint16_t integers to follow .. tabularcolumns:: |p{4.5cm}|p{12.0cm}| -.. table:: GeoKey Four uint16_ts +.. table:: GeoKey Four uint16_t Integers +---------------------------------+----------------------------------------------------------+ | Name | Definition | From b677ddfc721fb0f869a45fa06adc09f6c4967c9c Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Wed, 9 Mar 2022 18:34:58 +0100 Subject: [PATCH 49/71] Clarify string data type requirements --- source/02.03_datatypes.sub | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/02.03_datatypes.sub b/source/02.03_datatypes.sub index 8bb468e..0cd6bc9 100644 --- a/source/02.03_datatypes.sub +++ b/source/02.03_datatypes.sub @@ -17,7 +17,8 @@ data types are conformant to the 1999 ANSI C Language Specification * float (4-byte ``binary32`` IEEE floating point format) * double (8-byte ``binary64`` IEEE floating point format) * string (a variable-length array of 1-byte characters, ASCII-encoded, - null-terminated, contained in a fixed-length ``char`` array) + null-terminated, contained in a fixed-length ``char`` array, where ``char`` + must be equivalent to either ``int8_t`` or ``uint8_t``) .. warning:: From 156fc713beacdce5f9b9fd4a0f585367c61d209e Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 18 Mar 2022 16:23:49 -0700 Subject: [PATCH 50/71] Added #115 to change log --- source/01_intro.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/01_intro.txt b/source/01_intro.txt index 6218c8a..61cf941 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -116,6 +116,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-55 `_) * Clarified how and when certain header fields should be zero-filled. (`I-101 `_) + * More closely aligned data types with C99 definitions. + (`I-115 `_) For detailed information on changes in revisions R14 and newer, review the inline differencing provided on the `GitHub page `_. From e977005647878aaf94bb225c9e07fc2f3ed06170 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 18 Mar 2022 16:34:30 -0700 Subject: [PATCH 51/71] Corrected one instance of ushort #115 --- source/04_optional_vlrs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 7ed8af0..2e8c7b4 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -93,7 +93,7 @@ each point record: #) "laser pulse direction [0]" - data_type = 9 (float) #) "laser pulse direction [1]" - data_type = 9 (float) #) "laser pulse direction [2]" - data_type = 9 (float) -#) "pulse width" - data_type = 3 (ushort) +#) "pulse width" - data_type = 3 (uint16_t) In this example, an array of three individual floats collectively specify a "laser pulse direction" for that point, and one uint16_t integer specifies From 8b517af06cfadb12959785c5b6e3d7b391c92d6c Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 18 Mar 2022 16:35:19 -0700 Subject: [PATCH 52/71] Missing parenthesis --- source/01_intro.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 61cf941..be0f8fb 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -156,7 +156,7 @@ Conformance ................................................................................ The data types used in the LAS format definition are conformant to the 1999 -ANSI C Language Specification (ANSI/ISO/IEC 9899:1999 ("C99"). +ANSI C Language Specification (ANSI/ISO/IEC 9899:1999 ("C99")). Authority From 29a5b5628099314021cab44173710a637b6c1f88 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Fri, 18 Mar 2022 16:46:46 -0700 Subject: [PATCH 53/71] Adjusted header and PDRF0-5 column widths. --- source/02.04_header.sub | 2 +- source/02.06_point.sub | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/02.04_header.sub b/source/02.04_header.sub index b131e85..8328566 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -3,7 +3,7 @@ Public Header Block ................................................................................ -.. tabularcolumns:: |p{6.5cm}|p{4.0cm}|p{1.2cm}|p{1.8cm}|p{1.5cm}| +.. tabularcolumns:: |p{6.5cm}|p{2.0cm}|p{1.2cm}|p{1.8cm}|p{1.8cm}| .. table:: Public Header Block diff --git a/source/02.06_point.sub b/source/02.06_point.sub index 369fcd8..b16d94e 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -47,7 +47,7 @@ Point Data Record Format 0 Point Data Record Format 0 contains the core 20 bytes that are shared by Point Data Record Formats 0 to 5. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 0 @@ -310,7 +310,7 @@ Point Data Record Format 1 is the same as Point Data Record Format 0 with the addition of GPS Time. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 1 @@ -373,7 +373,7 @@ Point Data Record Format 2 is the same as Point Data Record Format 0 with the addition of three color channels. These fields are used when "colorizing" a point using ancillary data, typically from a camera. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 2 @@ -436,7 +436,7 @@ Point Data Record Format 3 Point Data Record Format 3 is the same as Point Data Record Format 2 with the addition of GPS Time. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 3 @@ -488,7 +488,7 @@ Point Data Record Format 4 Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 4 @@ -632,7 +632,7 @@ Point Data Record Format 5 Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. -.. tabularcolumns:: |p{6.0cm}|p{3.5cm}|p{1.2cm}|p{1.5cm}|p{1.5cm}| +.. tabularcolumns:: |p{7.0cm}|p{2.5cm}|p{1.2cm}|p{1.5cm}|p{1.8cm}| .. table:: Point Data Record Format 5 From bb4c0ca990fe866234fe70b36ecb7a3e05122992 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Wed, 29 Jun 2022 10:59:46 -0700 Subject: [PATCH 54/71] dummy commit to trigger build --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94c8f85..9650d11 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,4 @@ New to LAS? New to GitHub? Want to help? No problem! Learn how to sign up and contribute [here](https://github.com/ASPRSorg/LAS/wiki/Get-Involved). [![Build Status](https://api.travis-ci.org/ASPRSorg/LAS.svg?branch=master)](https://travis-ci.org/ASPRSorg/LAS) + From ada3634a65fd379c7ee742b7af939e6b80a29a5f Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 20 Feb 2025 09:46:37 -0800 Subject: [PATCH 55/71] Moved page break to start of 2.0 for consistency --- source/01_intro.txt | 4 ---- source/02.00_definition.txt | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index fcac595..3401fc7 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -190,7 +190,3 @@ followed at http://www.opengeospatial.org/standards/community. .. _`OGC`: http://www.opengeospatial.org -.. raw:: latex - - \newpage - diff --git a/source/02.00_definition.txt b/source/02.00_definition.txt index 6e80c14..3c41061 100644 --- a/source/02.00_definition.txt +++ b/source/02.00_definition.txt @@ -1,3 +1,7 @@ +.. raw:: latex + + \newpage + LAS Format Definition -------------------------------------------------------------------------------- From a5bc025504c57b9ce0909a818b91a4b734e22488 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 20 Feb 2025 09:53:32 -0800 Subject: [PATCH 56/71] Update OGC links --- source/01_intro.txt | 8 ++++---- source/03_required_vlrs.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 3401fc7..b1edbc0 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -180,13 +180,13 @@ this standard can be directed to ASPRS: OGC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -LAS has been recognized by the Open Geospatial Consortium (`OGC`_) in 2018 as an +LAS has been recognized by the Open Geospatial Consortium (`OGC`_) since 2018 as an OGC Community Standard. The OGC version of the document with forward material about standards that LAS references and its status within the standard body can -be found at https://portal.opengeospatial.org/files/17-030r1. +be found at https://www.ogc.org/publications/standard/las/. Future recognition and activity on OGC referencing activities of LAS can be -followed at http://www.opengeospatial.org/standards/community. +followed at https://www.ogc.org/publications/. -.. _`OGC`: http://www.opengeospatial.org +.. _`OGC`: https://www.ogc.org diff --git a/source/03_required_vlrs.txt b/source/03_required_vlrs.txt index e3ae65c..94b7f80 100644 --- a/source/03_required_vlrs.txt +++ b/source/03_required_vlrs.txt @@ -26,7 +26,7 @@ Georeferencing Information Using WKT For definition of WKT, we refer to Open Geospatial Consortium (OGC) specification "OpenGIS coordinate transformation service implementation specification" revision 1.00 released 12 January 2001, section 7 (`"Coordinate -Transformation Service Spec" `_). +Transformation Service Spec" `_). As there are a few dialects of WKT, please note that LAS is not using the "ESRI WKT" dialect, which does not include TOWGS84 and Authority nodes. From 24f13c37dd149cec9f0c5055c89a32f33bd1e86e Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 20 Feb 2025 10:01:09 -0800 Subject: [PATCH 57/71] Add vscode to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 567609b..f785746 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build/ +.vscode From 5a1b4ae56ad67b1fde200204680676485fa01fd2 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 20 Feb 2025 10:11:56 -0800 Subject: [PATCH 58/71] Added section 1.4 on the Official LAS Wiki. (#71) Converted external wiki links to internal references. --- source/01_intro.txt | 13 ++++++++++++- source/02.04_header.sub | 2 +- source/02.06_point.sub | 2 +- source/04_optional_vlrs.txt | 4 +--- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index b1edbc0..00f27ed 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -116,6 +116,8 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): (`I-55 `_) * Clarified how and when certain header fields should be zero-filled. (`I-101 `_) + * Added Official LAS Wiki section. + (`I-71 `_) * Clarified source of min/max XYZ and ExtraByte values. (`I-89 `_) * More closely aligned data types with C99 definitions. @@ -151,7 +153,7 @@ The additions of LAS 1.4 include: * Added definitions for "LAS Domain Profile" and "LAS Domain Profile Description". - * Added links to official LAS wiki: https://github.com/ASPRSorg/LAS/wiki + * Added references to :ref:`Official LAS Wiki `. Conformance @@ -190,3 +192,12 @@ followed at https://www.ogc.org/publications/. .. _`OGC`: https://www.ogc.org + +.. _laswiki_link: + +Official LAS Wiki +................................................................................ + +The official LAS wiki hosts supplementa guidance pages, links to external +resources, public registries, and more LAS-related resources. +The wiki can be found at https://github.com/ASPRSorg/LAS/wiki. diff --git a/source/02.04_header.sub b/source/02.04_header.sub index b8deaf8..a9fa09f 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -191,7 +191,7 @@ file can be uniquely identified, globally. .. note:: Example implementations of representing the Project ID fields as a GUID can - be found on the official LAS wiki: https://github.com/ASPRSorg/LAS/wiki + be found on the :ref:`Official LAS Wiki `. **Version Number** diff --git a/source/02.06_point.sub b/source/02.06_point.sub index b16d94e..efcf8e2 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -620,7 +620,7 @@ and the vertical units are meters. .. note:: Users seeking further clarity regarding LAS waveform encoding are encouraged - to learn more on the official LAS wiki: https://github.com/ASPRSorg/LAS/wiki + to learn more on the :ref:`Official LAS Wiki `. .. raw:: latex diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index c1f2108..3afc001 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -300,6 +300,4 @@ absolute digitizer voltage using the formula: .. note:: Users seeking further clarity regarding LAS waveform encoding are encouraged - to learn more on the official LAS wiki: https://github.com/ASPRSorg/LAS/wiki - - + to learn more on the :ref:`Official LAS Wiki `. From 75233baf5b1dc5ca1ea0ee7e4b634d2764702978 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 20 Feb 2025 11:24:06 -0800 Subject: [PATCH 59/71] Typo fix --- source/01_intro.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 00f27ed..94ca6fe 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -198,6 +198,6 @@ followed at https://www.ogc.org/publications/. Official LAS Wiki ................................................................................ -The official LAS wiki hosts supplementa guidance pages, links to external +The official LAS wiki hosts supplemental guidance pages, links to external resources, public registries, and more LAS-related resources. The wiki can be found at https://github.com/ASPRSorg/LAS/wiki. From 292921612b13a5e8deae76b0c66dce8e26cef094 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 11 Mar 2025 10:47:16 -0700 Subject: [PATCH 60/71] Update upload-artifact to v4 --- .github/workflows/pdf.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index 05a460d..ee9193b 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -28,14 +28,16 @@ jobs: - name: Spelling run: | make spelling - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: PDF path: build/latex/LAS.pdf - - uses: actions/upload-artifact@v2 + if-no-files-found: error + - uses: actions/upload-artifact@v4 with: name: Misspelled path: build/spelling/output.txt + if-no-files-found: ignore From 37e4fbd46366e0bdd3edd2913b70d21a97f5a34f Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 7 Apr 2025 09:04:19 -0700 Subject: [PATCH 61/71] Table formatting corrections --- .github/workflows/pdf.yml | 5 +++++ source/02.04_header.sub | 4 ++-- source/03_required_vlrs.txt | 2 +- source/conf.py | 20 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index ee9193b..0d4039e 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -33,6 +33,11 @@ jobs: name: PDF path: build/latex/LAS.pdf if-no-files-found: error + - uses: actions/upload-artifact@v4 + with: + name: TEX + path: build/latex/LAS.tex + if-no-files-found: error - uses: actions/upload-artifact@v4 with: name: Misspelled diff --git a/source/02.04_header.sub b/source/02.04_header.sub index a9fa09f..66a067d 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -8,8 +8,8 @@ Public Header Block .. table:: Public Header Block +----------------------------------+-------------------------+-----------------+-----------+--------------+ - | **Item** | **Format** | **Byte Offset** | **Size** | **Required** | - +----------------------------------+-------------------------+-----------------+-----------+--------------+ + | Item | Format | Byte Offset | Size | Required | + +==================================+=========================+=================+===========+==============+ | File Signature ("LASF") | char[4] | 0 | 4 bytes | yes | +----------------------------------+-------------------------+-----------------+-----------+--------------+ | File Source ID | uint16_t | 4 | 2 bytes | yes | diff --git a/source/03_required_vlrs.txt b/source/03_required_vlrs.txt index 94b7f80..04c40d0 100644 --- a/source/03_required_vlrs.txt +++ b/source/03_required_vlrs.txt @@ -147,7 +147,7 @@ Programmatically, the data can be structured as follows: | ``wTIFFTagLocation`` | Indicates where the data for this key is located: | | | | | | * 0 means data is in the ``wValue_Offset`` field as an | - | | uint16_t. | + | | uint16_t. | | | * 34736 means the data is located at index | | | ``wValue_Offset`` of the GeoDoubleParamsTag record. | | | * 34737 means the data is located at index | diff --git a/source/conf.py b/source/conf.py index df13b97..13162a4 100644 --- a/source/conf.py +++ b/source/conf.py @@ -104,6 +104,11 @@ def get_git_revision_short_hash(): # further. For a list of options available for each theme, see the # documentation. # +# HTML theme options in Alabaster here: +# https://alabaster.readthedocs.io/en/latest/customization.html +# Alabaster default CSS is here: +# https://github.com/sphinx-doc/alabaster/blob/master/alabaster/static/alabaster.css_t + # html_theme_options = {} # Add any paths that contain custom static files (such as style sheets) here, @@ -145,6 +150,7 @@ def get_git_revision_short_hash(): % Override Sphinx defaults for table heading (bold instead of sans serif) % https://stackoverflow.com/a/42988749/1666676 +% https://github.com/sphinx-doc/sphinx/blob/a6d7ae16739bf92a032a7c4df0297db7cf120ec9/sphinx/texinputs/sphinxlatexstyletext.sty#L46 \protected\def\sphinxstyletheadfamily{\bfseries} % leave this here... https://tex.stackexchange.com/a/8353/143333 @@ -260,8 +266,22 @@ def get_git_revision_short_hash(): # Don't use atendofbody. Use fancyhdr calls in preamble instead (above). # 'atendofbody': """American Society for Photogrammetry \& Remote Sensing \\ LAS SPECIFICATION \\""" + releasename + + # Customize sphinx setup parameters + # https://www.sphinx-doc.org/en/master/latex.html#latexsphinxsetup + # 'sphinxsetup': "TableRowColorOdd={rgb}{0,0,255},TableRowColorEven={rgb}{0,255,0}", + # 'sphinxsetup': "TableRowColorHeader={rgb}{235,235,235}", } +# Customize latex table styles: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-latex_table_style +# Defaults are latex_table_style = ['booktabs', 'colorrows'] +# You can override for specific tables using rst-class directive +# https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#rstclass + +# Override default table styles back to plain tables because of aliasing issues with booktabs +# latex_table_style = ['booktabs', 'colorrows'] +latex_table_style = ['standard'] + latex_toplevel_sectioning='section' latex_show_urls='footnote' latex_logo = './_static/asprslogo45.png' From e8222ef316820b88cc5d5ab258184abab48b68eb Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 7 Apr 2025 09:21:57 -0700 Subject: [PATCH 62/71] Spellcheck updates --- .github/workflows/pdf.yml | 2 -- source/spelling_wordlist.txt | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index 0d4039e..f188d66 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -44,5 +44,3 @@ jobs: path: build/spelling/output.txt if-no-files-found: ignore - - diff --git a/source/spelling_wordlist.txt b/source/spelling_wordlist.txt index c775cf5..d98547c 100644 --- a/source/spelling_wordlist.txt +++ b/source/spelling_wordlist.txt @@ -38,3 +38,4 @@ photogrammetrically Geospatial TerraScan OpenGIS +uint From b397828fd780602332897c347227a56f1da95923 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Tue, 11 Mar 2025 12:32:06 -0700 Subject: [PATCH 63/71] Update ASPRS logo on title page (#131) --- source/_static/ASPRS_Logo_Blue.png | Bin 0 -> 54977 bytes source/_static/asprslogo45.png | Bin 20512 -> 0 bytes source/conf.py | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 source/_static/ASPRS_Logo_Blue.png delete mode 100644 source/_static/asprslogo45.png diff --git a/source/_static/ASPRS_Logo_Blue.png b/source/_static/ASPRS_Logo_Blue.png new file mode 100644 index 0000000000000000000000000000000000000000..d392414c7c1d2475ba654b7480627b4bcb21aec2 GIT binary patch literal 54977 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 YA!2UQ{(uxc3+-X3DrzZI%2|c|4}j_@XaE2J literal 0 HcmV?d00001 diff --git a/source/_static/asprslogo45.png b/source/_static/asprslogo45.png deleted file mode 100644 index 79fff8df5b786bfeb2a4917f152279859716b7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20512 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 CYv$kp diff --git a/source/conf.py b/source/conf.py index df13b97..9a0ae00 100644 --- a/source/conf.py +++ b/source/conf.py @@ -264,7 +264,7 @@ def get_git_revision_short_hash(): latex_toplevel_sectioning='section' latex_show_urls='footnote' -latex_logo = './_static/asprslogo45.png' +latex_logo = './_static/ASPRS_Logo_Blue.png' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, From 27f56efad7b0fb95e1e9c7b65135cf4bc31af5c1 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 7 Apr 2025 09:35:18 -0700 Subject: [PATCH 64/71] Set default language to english --- source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index 13162a4..c13031d 100644 --- a/source/conf.py +++ b/source/conf.py @@ -79,7 +79,7 @@ def get_git_revision_short_hash(): # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. From e8ed475e7fa6990267b6297a413b5057bab172e9 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Wed, 23 Apr 2025 11:06:43 -0700 Subject: [PATCH 65/71] Unmerge all vertical table cells --- source/02.06_point.sub | 190 ++++++++++++++++++++--------------------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/source/02.06_point.sub b/source/02.06_point.sub index efcf8e2..93dcbe9 100644 --- a/source/02.06_point.sub +++ b/source/02.06_point.sub @@ -62,13 +62,13 @@ Data Record Formats 0 to 5. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -325,13 +325,13 @@ addition of GPS Time. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -388,13 +388,13 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -451,13 +451,13 @@ addition of GPS Time. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -503,13 +503,13 @@ Point Data Record Format 4 adds Wave Packets to Point Data Record Format 1. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -647,13 +647,13 @@ Point Data Record Format 5 adds Wave Packets to Point Data Record Format 3. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 3 bits (bits 0-2) | 14 | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | | 3 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 3 bits (bits 0-2) | 14:0 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 3 bits (bits 3-5) | 14:3 | 3 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 14:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 14:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 15 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -718,17 +718,17 @@ instead of 8), and the GPS time is mandatory. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + | Return Number | 4 bits (bits 0-3) | 14:0 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 14:4 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15:0 | 4 bits | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Scanner Channel | 2 bits (bits 4-5) | 15:4 | 2 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 15:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 15:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 16 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -864,8 +864,8 @@ Classification must adhere to the following standard: | Value | Meaning | Notes | +==================+=============================+================================+ | 0 | Created, Never Classified | See note [4]_ | - +------------------+-----------------------------+ + - | 1 | Unclassified | | + +------------------+-----------------------------+--------------------------------+ + | 1 | Unclassified | See note [4]_ | +------------------+-----------------------------+--------------------------------+ | 2 | Ground | | +------------------+-----------------------------+--------------------------------+ @@ -969,17 +969,17 @@ point using ancillary data, typically from a camera. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + | Return Number | 4 bits (bits 0-3) | 14:0 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 14:4 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15:0 | 4 bits | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Scanner Channel | 2 bits (bits 4-5) | 15:4 | 2 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 15:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 15:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 16 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -1025,17 +1025,17 @@ addition of a NIR (near infrared) channel. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + | Return Number | 4 bits (bits 0-3) | 14:0 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 14:4 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15:0 | 4 bits | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | 15:4 | 2 bits | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Scan Direction Flag | 1 bit (bit 6) | 15:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 15:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 16 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -1094,17 +1094,17 @@ Point Data Record Format 9 adds Wave Packets to Point Data Record Format 6. +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | + | Return Number | 4 bits (bits 0-3) | 14:0 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 14:4 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15:0 | 4 bits | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | 15:4 | 2 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 15:6 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Edge of Flight Line | 1 bit (bit 7) | 15:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 16 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ @@ -1157,17 +1157,17 @@ Point Data Record Format 10 is the same as Point Data Record Format 9 with RGB a +----------------------------------+-------------------------+-------------+-----------+----------+ | Intensity | uint16_t | 12 | 2 bytes | no | +----------------------------------+-------------------------+-------------+-----------+----------+ - | Return Number | 4 bits (bits 0-3) | 14 | 4 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | | 4 bits | yes | - +----------------------------------+-------------------------+-------------+-----------+----------+ - | Classification Flags | 4 bits (bits 0-3) | 15 | 4 bits | no | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scanner Channel | 2 bits (bits 4-5) | | 2 bits | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Scan Direction Flag | 1 bit (bit 6) | | 1 bit | yes | - +----------------------------------+-------------------------+ +-----------+----------+ - | Edge of Flight Line | 1 bit (bit 7) | | 1 bit | yes | + | Return Number | 4 bits (bits 0-3) | 14:0 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Number of Returns (Given Pulse) | 4 bits (bits 4-7) | 14:4 | 4 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Classification Flags | 4 bits (bits 0-3) | 15:0 | 4 bits | no | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scanner Channel | 2 bits (bits 4-5) | 15:4 | 2 bits | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Scan Direction Flag | 1 bit (bit 6) | 15:6 | 1 bit | yes | + +----------------------------------+-------------------------+-------------+-----------+----------+ + | Edge of Flight Line | 1 bit (bit 7) | 15:7 | 1 bit | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ | Classification | uint8_t | 16 | 1 byte | yes | +----------------------------------+-------------------------+-------------+-----------+----------+ From af175a730a7312c2bff91d8286b3f300ea3049c3 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Wed, 23 Apr 2025 11:33:53 -0700 Subject: [PATCH 66/71] Refactor ExtraBytes internal links to use longform syntax --- source/01_intro.txt | 2 +- source/02.04_header.sub | 2 +- source/06_profiles.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index 94ca6fe..a13a964 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -146,7 +146,7 @@ The additions of LAS 1.4 include: Systems. * Addition of an Overlap bit to indicate points in the overlap region while maintaining the class definition. - * Addition of an (optional) :ref:`extrabytes_vlr_label` Variable Length Record to describe + * Addition of an (optional) :ref:`Extra Bytes Variable Length Record ` to describe "extra bytes" stored with each point. * Other minor changes: diff --git a/source/02.04_header.sub b/source/02.04_header.sub index 66a067d..3cad9fd 100644 --- a/source/02.04_header.sub +++ b/source/02.04_header.sub @@ -290,7 +290,7 @@ single LAS file must be the same type and hence the same length. If the specified size is larger than implied by the point format type (e.g., 32 bytes instead of 28 bytes for type 1) the remaining bytes are user-specific "extra bytes". The format and meaning of such "extra bytes" can (optionally) be -described with an :ref:`extrabytes_vlr_label` VLR. +described with an :ref:`Extra Bytes VLR `. **Legacy Number of Point Records** diff --git a/source/06_profiles.txt b/source/06_profiles.txt index 0d06159..e1b9862 100644 --- a/source/06_profiles.txt +++ b/source/06_profiles.txt @@ -11,7 +11,7 @@ needs of a particular subset of the broad point cloud community (e.g., the coastal/bathymetric lidar community, or the powerline mapping community). So as to not alter the LAS base specification, new classes can only be added to Point Data Record Formats 6-10, and classification values cannot start below 39. New -attributes must be incorporated using :ref:`extrabytes_vlr_label` VLRs. It is strongly +attributes must be incorporated using :ref:`Extra Bytes VLRs `. It is strongly recommended that the development of Domain Profiles be coordinated to avoid unnecessary overlap or conflicts (e.g., conflicting class numbers) between profiles. From c09cacf8111a2cd8760e5618ba5d43506b0fb8ad Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Wed, 23 Apr 2025 11:50:29 -0700 Subject: [PATCH 67/71] PDF build workflow updates to match LAS 1.5 * use ubuntu-latest * use v3 of checkout * use ghcr.io/osgeo/proj-docs as the container --- .github/workflows/pdf.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index f188d66..bc52adc 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -8,13 +8,13 @@ jobs: docs: name: Docs - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest strategy: fail-fast: true - container: osgeo/proj-docs + container: ghcr.io/osgeo/proj-docs steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Print versions run: | python3 --version From 6fe4e3c192263fb8f9e39bd74d8c0e6510c578a1 Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 15 May 2025 11:19:44 -0700 Subject: [PATCH 68/71] Added reserved ExtraByte options bits to table. (#159) --- source/04_optional_vlrs.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/04_optional_vlrs.txt b/source/04_optional_vlrs.txt index 3afc001..ea6a2af 100644 --- a/source/04_optional_vlrs.txt +++ b/source/04_optional_vlrs.txt @@ -174,6 +174,8 @@ Any unused characters in the "name" or "description" fields must be set to zero. | | | by the corresponding offset value (after | | | | applying the scaling). | +-----------+------------------+-------------------------------------------+ + | 5-7 | *Reserved* | *Reserved for ASPRS definition* | + +-----------+------------------+-------------------------------------------+ The bit mask in the "options" field specifies whether the min and max range of From bd76ca30cd5106d3100e8358de9b2297dd4ea98a Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 15 May 2025 11:38:58 -0700 Subject: [PATCH 69/71] Remove all draft notation and prep for publication (#162) --- source/01_intro.txt | 2 +- source/conf.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index a13a964..d72850a 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -104,7 +104,7 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): * Added missing Scanner Channel field in note about PDRF6-10 bit field. (`I-80 `_) -* R16 - DRAFT +* R16 - Readability improvements and clarifications (June 2025): * Clarified uniformity of GPS Time for all returns of a pulse. (`I-81 `_) diff --git a/source/conf.py b/source/conf.py index cdd5ba3..fe2331b 100644 --- a/source/conf.py +++ b/source/conf.py @@ -46,7 +46,7 @@ # General information about the project. project = u'LAS' -copyright = u'2019, ASPRS' +copyright = u'2025, ASPRS' author = u'ASPRS' # The version info for the project you're documenting, acts as replacement for @@ -56,15 +56,15 @@ # The short X.Y version. #version = u'1.4' # Custom non-keyword version tag for header -myversion = u'1.4 - R16 DRAFT' +myversion = u'1.4 - R16' # The full version, including alpha/beta/rc tags. release = u'VERSION ' + myversion releasename = release version='' # Publication info (approval date, release date, and GitHub SHA) -today='09 July 2019' -releasedate='09 July 2019' +today='XX XXXX 2025' +releasedate='XX XXXX 2025' approvaldate = 'November 2011' import subprocess From d2e60b83d15ba86039dd91424c70a148b0b63eac Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Thu, 15 May 2025 16:16:26 -0700 Subject: [PATCH 70/71] Times font now explicit Add missing Courier font Reduce font size from 12pt to 11pt --- .github/workflows/pdf.yml | 2 ++ source/conf.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pdf.yml b/.github/workflows/pdf.yml index bc52adc..d549634 100644 --- a/.github/workflows/pdf.yml +++ b/.github/workflows/pdf.yml @@ -19,6 +19,8 @@ jobs: run: | python3 --version sphinx-build --version + DEBIAN_FRONTEND=noninteractive apt-get update -y + DEBIAN_FRONTEND=noninteractive apt-get install texlive-fonts-recommended -y - name: Lint .rst files run: | if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi diff --git a/source/conf.py b/source/conf.py index fe2331b..89e69c4 100644 --- a/source/conf.py +++ b/source/conf.py @@ -136,6 +136,8 @@ def get_git_revision_short_hash(): \usepackage{titling} \usepackage{fancyhdr} +\usepackage{times} +\usepackage{courier} \makeatletter \fancypagestyle{normal}{ \fancyhf{} @@ -249,7 +251,7 @@ def get_git_revision_short_hash(): # The font size ('10pt', '11pt' or '12pt'). # - 'pointsize': '12pt', + 'pointsize': '11pt', # Other document class options - ensure uniform header/footer 'classoptions': ',oneside,openany', From a51749076f74ff9ecc9f346236ce9009741350ab Mon Sep 17 00:00:00 2001 From: Evon Silvia Date: Mon, 25 Aug 2025 12:56:17 -0700 Subject: [PATCH 71/71] Finalize publication date of 1.4 Revision 16. Update every instance of ASPRS address and phone number. --- source/01_intro.txt | 6 +++--- source/conf.py | 9 ++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/source/01_intro.txt b/source/01_intro.txt index d72850a..0b0ce23 100644 --- a/source/01_intro.txt +++ b/source/01_intro.txt @@ -104,7 +104,7 @@ Summary of LAS 1.4 revisions (GitHub Issue numbers included when applicable): * Added missing Scanner Channel field in note about PDRF6-10 bit field. (`I-80 `_) -* R16 - Readability improvements and clarifications (June 2025): +* R16 - Readability improvements and clarifications (August 2025): * Clarified uniformity of GPS Time for all returns of a pulse. (`I-81 `_) @@ -175,9 +175,9 @@ organization as directed by the ASPRS Board of Directors. Questions related to this standard can be directed to ASPRS: * Online at https://github.com/ASPRSorg/LAS -* By phone at 301-493-0290 +* By phone at 225-408-4747 * By email at las@asprs.org or asprs@asprs.org -* By mail at 8550 United Plaza Blvd, Suite 1001 Baton Rouge, LA 70809 +* By mail at 8550 United Plaza Blvd, Suite 1001, Baton Rouge, LA 70809 OGC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/conf.py b/source/conf.py index 89e69c4..f4a29a6 100644 --- a/source/conf.py +++ b/source/conf.py @@ -64,7 +64,7 @@ # Publication info (approval date, release date, and GitHub SHA) today='XX XXXX 2025' -releasedate='XX XXXX 2025' +releasedate='27 August 2025' approvaldate = 'November 2011' import subprocess @@ -212,10 +212,9 @@ def get_git_revision_short_hash(): \noindent Published by:\\ } The American Society for Photogrammetry \& Remote Sensing\\ -425 Barlow Place, Suite 210\\ -Bethesda, Maryland 20814-2160\\ -Voice: 301-493-0290\\ -Fax: 225-408-4422\\ +8550 United Plaza Blvd. Suite 1001\\ +Baton Rouge, LA 70809\\ +Voice: 225-408-4747\\ Web: \underline{www.asprs.org}\\