Hot answers tagged

16

Generating LiDAR DEMs from unclassified point clouds with: MCC-LIDAR - Multiscale Curvature Classification (MCC) algorithm. (supports LAS versions 1.1 to 1.3) MCC-LIDAR is a command-line tool for processing discrete-return LIDAR data in forested environments (Evans & Hudak, 2007). Workflow: a) unclassified point cloud. b) ground returns ...


15

ArcGis has a new LiDAR dataset at 10.1 which will allow you to view your LiDAR data directly and also see more information than what's in a raster... for example you can add to ArcMap and then filter down the display to just tree classes, or just first returns! LiDAR data contains much more than just elevation, there's intensity that is stored by default (...


14

When converting a LiDAR dataset to a DEM, you are taking a set of discrete data points and converting them into a single, continuous dataset. Let's say that your .las file contains X (latitude), Y (longitude) and Z (elevation) values with an average resolution of ~1 meters. The resolution here is really important- we're only talking about an average and so ...


13

laspy is another good LAS read/write software. It supports working with the data directly in numpy arrays and a number of other nice Pythonic features. It isn't processing software per se, however. PDAL has the ability to use Python as an in-pipeline filtering language, but this isn't a processing engine either. There isn't too much in the Python quiver ...


13

For converting to las 1.2 from las 1.4, PDAL's translate command is an option: pdal translate --writers.las.minor_version=2 input-las14.las output-las12.las LAStools can also do the job: las2las -i input-las14.las -set_version 1.2 -o output-las12.las In general, las 1.4 support is patchy among free and open-source las-aware software, e.g. liblas doesn't ...


13

It sounds like you want either a voxel-based thinning or maybe a Poisson-based one. PDAL can do either. See PDAL's tutorial on the topic at https://pdal.io/tutorial/sampling/index.html . As far as the size of the file, please define "large". Just about any technique except simple rank decimation (remove n-th points) is going to want to have access to the ...


10

What about the liblas Python API (not sure how lightweight this is though)? >>> from liblas import file >>> f = file.File('file.las',mode='r') >>> for p in f: ... print 'X,Y,Z: ', p.x, p.y, p.z


10

If you have the opportunity to get LAS or LAZ instead of TXT ... absolutely go for it. It will be trivial for you to go from LAS or LAZ to TXT (for example with the free and open source las2txt tool from LAStools). Ordering TXT instead of LAS means to loose many important attributes that you may not care about today but will in a few months or years. It also ...


9

You should check what the scale and offset are for your file. This can be done as follows: van_taken.header.scale van_taken.header.offset This almost looks like an overflow error to me. The lower case x, y, and z properties need to re-scale and re-offset the coordinates to store it as an integer (which is how LAS files store them). To be honest, setting ...


8

FUSION LiDAR Toolkit has clipping capabilities (PolyClipData tool) and unlike LASTools, its usage is unrestricted. However, despite the fact that some SVN repository on SourceForge exists, the source code published is incomplete and very old. If you can proceed without knowing the code and just use the compiled binary, then FUSION should be fine for this ...


8

I think that LasTools might suit your needs, see LASGround. The license is a bit funny depending on what tools. The tools can be downloaded and evaluated prior to purchase; also the product is relatively inexpensive.


8

It is possible to generate a DEM from a las file within QGIS using Fusion. Use this tutorial to enable FUSION's tools in QGIS (works up to QGIS 2.18 version*). It is written for LAStools, but it is straightforward adapting it. *As from QGIS version 3, one can install the plugin (besides the core software) and work from there. See: Unable to install FUSION ...


8

In some cases, water will reflect the LIDAR beam away from the sensor (specular effect at some incidence angle) or absorb all its energy (water has a low reflectance in near Infrared.) As a results, there are often missing data above water. I confirm that what you observe is the result of the interpolation, probably spline on top and TIN at the bottom, as ...


7

las2txt from liblas.org may do what you want: http://www.liblas.org/utilities/las2txt.html


7

I have recently released an open-source (MIT) stand-alone (i.e. no dependencies) library called WhiteboxTools for performing many types of geospatial analysis, including LiDAR data processing. The library is written in Rust and has extensive support for Python-based scripting. For example, the following Python script uses the WhiteboxTools library to ...


7

I have had good luck with FUSION's (manual here) GroundFilter command. I've had no problem handling 40 million points (unclassified), so wouldn't expect an issue with 100 million.


6

I second @Michal Mackiewicz's answer (about Fusion/LTK), so I hope this example helps you getting through it. This is the PolyCLipData syntax command (see the manual's page 110): PolyClipData [switches] PolyFile OutputFile DataFile Use an text editor to write the command before running it (such as NotePad++). Save the file with extension .bat (batch file)....


6

I just finished writing a script to accomplish this task using the free and open-source GIS Whitebox Geospatial Analysis Tools (download here), for which I am the lead developer. The source code of the script can be found here. Although the script is not yet part of the current official Whitebox release (v. 3.2.1) you can get an early version of it by ...


6

Many of the LAStool readme files have a paragraph like this: Please license from martin@rapidlasso.com to use lasclassify commercially. Please note that the unlicensed version will set intensity, gps_time, user data, and point source ID to zero, slightly change the LAS point order, and randomly add a tiny bit of white noise to the points ...


6

Rather than setting the entire points array in one go, try setting each dimension in turn: import laspy header = laspy.header.Header() outfile = laspy.file.File("output.las", mode="w", header=header) outfile.X = [1, 2, 3] outfile.Y = [0, 0, 0] outfile.Z = [10, 10, 11] outfile.close()


6

You can give lasthin or lasduplicate from LAStools a try. With lasthin you can keep the '-lowest', '-highest', '-random', or most '-central' point on a 2D grid in the x/y plane with user-defined '-step 0.5' size. With lasduplicate you can specify to remove all points that are '-nearby 0.005' in 3D from all previously appearing points. See the linked README ...


6

This got me thinking, how (if any) does the offset of an LAS file relate to the coordinate system that it is projected to? They don't really relate to the coordinate system. The offset (in combination with the scale) are used to allow the XYZ values to be stored as 32-bit integers with enough precision to fit entirely within the box [−2,147,483,648, 2,147,...


6

Esri provides a guide on how to choose CELLSIZE, Assessing lidar coverage and sample density For sampling, choose CELLSIZE. You might think the average point spacing is a good cell size for the output raster, but this typically results in too many empty, or NoData, cells because lidar points are not evenly spaced. Also, the output raster could end up ...


6

The PDAL PCD Writer can write .pcd files. For it to work, you must have linked the PCL libraries at compile time. The PDAL OSGeo4W build does not have PCL support. If you are unable to build PDAL with PCL support yourself, one possibility is to use PDAL's Docker containers to achieve your task -- those have PCL linked. Then, simply run pdal translate: ...


5

If you are open to scripting, I've used several Python libraries to process large (>30 million points) LAS point clouds. The best one I've found is laspy. It easily reads LAS files into a numpy array, and from there its as simple as filtering and writing to a new file.


5

You can install libLAS: compiling it (Using “XCode” on OS X) installing it with Homebrew (Homebrew Formulas: Liblas) Or you can use GRASS GRASS GIS Wiki: Lidar or Cloud Compare with a new Mac OS X port Mac OS X: CloudCompare


5

To convert LAS into DEM / DSM I would recommend LAStools, specifically LAS2DEM, which is free to use for non-commercial use and not that expensive for professional use. To convert DEM/DSM images into ASCII I use GDAL_Translate with AAIGRID driver or the QGIS raster save as In ArcGis: Convert your ground and model key points to MultiPoint using LAS to ...


5

Your features must be points, you can convert raster to point using Raster to Point. With AddXY tool you can add the coordinates of X, Y (and if present Z) to the points, if not there should be some sort of elevation field already there or you're up the creek... Start ArcMap, turn the display off (no need to refresh), add the points, format the fields ...


5

I am using the following procedure in SAGA: http://geostat-course.org/system/files/pc_processing_with_saga.pdf If you still want to use the DEM in other programs (like QGIS), export it as GeoTIFF from SAGA when reaching Close Gaps step (I use already classified las files). In SAGA it works like a charm and it is fast.


5

For running LASzip from the command prompt window it is also necessary to specify the path of the input file. For example, suppose the laszip.exe file is installed under the drive D: (D:\LASzip\laszip.exe) and that the .laz files are stored in D:\lidar. Then, type: D:\LASzip\laszip D:\lidar\*.laz It will decompress all LAZ files in the current folder ...


Only top voted, non community-wiki answers of a minimum length are eligible