[Bug] r.in.pdal does not read *.las file CRS metadata
Describe the bug
Unable to run r.in.pdal on Ubuntu 22.04 LTS because GRASS isn't reading SRS metadata from file. I'm also not sure on which SRS to pick from the output of pdal info --metadata be_20066902.las
From QGIS:
- horizontal CRS is EPSG:6543 - NAD83(2011) / North Carolina (ftUS)
- vertical CRS is EPSG:6360 - NAVD88 height (ftUS)
To reproduce
- Download and unzip point cloud information.
- Start
grass - Run
r.in.pdal -e -n input=be_20066902.las output=dummy_raster - See error
ERROR: The input dataset has undefined projection
Expected behavior
I would expect the command to complete successfully. pdal can read the spatialreference metadata from the file. See attached file: be_laz_metadata_from_pdal_info.txt
Screenshots
System description
g.version -rge output:
version=8.4.1 date=2025 revision=exported build_date=2025-03-26 build_platform=x86_64-pc-linux-gnu build_off_t_size=8 libgis_revision=8.4.1 libgis_date=2025-03-28T14:29:40+00:00 proj=9.3.1 gdal=3.8.4 geos=3.12.1 sqlite=3.37.2
GUI About system output:
System Info
GRASS version: 8.4.1
Code revision: exported
Build date: 2025-03-26
Build platform: x86_64-pc-linux-gnu
GDAL: 3.8.4
PROJ: 9.3.1
GEOS: 3.12.1
SQLite: 3.37.2
Python: 3.10.12
wxPython: 4.2.1
Platform: Linux-6.12.10-76061203-generic-x86_64-with-glibc2.35
Additional context
Is your project set to the the same CRS as your las file?
No it was not, it was set to ESPG:2264. But since I've got the CRS's from QGIS I can set it. I know I can return the extent with r.in.pdal -g.
Just trying to figure out a way to use just GRASS to figure out what the CRS of the *.las file is if I can.
I've run into this before. The projection information in the las file is not recognized by proj. I suspect an ESRI specific projection. I have not used this method, but I believe you can enter a proj4 string to describe the las file projection
On Thu, May 29, 2025, 10:50 AM Gregory Power @.***> wrote:
gregorywaynepower left a comment (OSGeo/grass#5791) https://github.com/OSGeo/grass/issues/5791#issuecomment-2919645397
No it was not, it was set to ESPG:2264. But since I've got the CRS's from QGIS I can set it. I know I can return the bounds with r.in.pdal -g.
Just trying to figure out a way to use just GRASS if I can.
— Reply to this email directly, view it on GitHub https://github.com/OSGeo/grass/issues/5791#issuecomment-2919645397, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQQR254HR6CAZFHRTCGDTD3A4NCRAVCNFSM6AAAAAB6FUO65GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMJZGY2DKMZZG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Hmm, not seeing that option in the 8.4 docs. Suggest grabbing the bounds with the -g option and feeding that in to g.region to set extent and resolution to match your other data. Then use r.in.pdal with the override projection option. I had to do this all of the time with the 2014/ 2015 NC data for the canopy height analysis. Bear in mind 2264 uses NAD83, and the 2015 data for wake county was collected in epsg 6543 which uses NAD83 (2011).
On Thu, May 29, 2025, 10:58 AM Doug Newcomb @.***> wrote:
I've run into this before. The projection information in the las file is not recognized by proj. I suspect an ESRI specific projection. I have not used this method, but I believe you can enter a proj4 string to describe the las file projection
On Thu, May 29, 2025, 10:50 AM Gregory Power @.***> wrote:
gregorywaynepower left a comment (OSGeo/grass#5791) https://github.com/OSGeo/grass/issues/5791#issuecomment-2919645397
No it was not, it was set to ESPG:2264. But since I've got the CRS's from QGIS I can set it. I know I can return the bounds with r.in.pdal -g.
Just trying to figure out a way to use just GRASS if I can.
— Reply to this email directly, view it on GitHub https://github.com/OSGeo/grass/issues/5791#issuecomment-2919645397, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQQR254HR6CAZFHRTCGDTD3A4NCRAVCNFSM6AAAAAB6FUO65GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMJZGY2DKMZZG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>
@dnewcomb That's because it's an add-on in 8.4. Here's the link..
Using QGIS--which as far as I know only uses PDAL to read point clouds--I was able to figure out that the horizontal CRS is EPSG:6543 - NAD83(2011) / North Carolina (ftUS) and the vertical CRS is EPSG:6360 - NAVD88 height (ftUS).
Having the vertical CRS included may be part of the issue.
On Thu, May 29, 2025 at 11:21 AM Gregory Power @.***> wrote:
gregorywaynepower left a comment (OSGeo/grass#5791) https://github.com/OSGeo/grass/issues/5791#issuecomment-2919737675
@dnewcomb https://github.com/dnewcomb That's because it's an add-on in 8.4. Here's the link. https://grass.osgeo.org/grass-stable/manuals/addons/r.in.pdal.html.
Using QGIS I was able to figure out that the horizontal CRS is EPSG:6543 - NAD83(2011) / North Carolina (ftUS) and the vertical CRS is EPSG:6360 - NAVD88 height (ftUS).
— Reply to this email directly, view it on GitHub https://github.com/OSGeo/grass/issues/5791#issuecomment-2919737675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQQR255TZKGYLWSW2AZ6PT3A4QYJAVCNFSM6AAAAAB6FUO65GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMJZG4ZTONRXGU . You are receiving this because you were mentioned.Message ID: @.***>
@dnewcomb You think transforming/reprojecting via PDAL may get me to where I need to be? Or just overwriting with the horizontal CRS?