These are chat archives for PDAL/PDAL

21st
Apr 2017
Andrew Bell
@abellgithub
Apr 21 2017 02:24
pdal translate <input_file> --writers.gdal.output_type=min --writers.gdal.resolution=<whatever> out.tif
Howard Butler
@hobu
Apr 21 2017 04:07
https://www.pdal.io/tutorial/dart-throwing.html might also be instructive @ulimaps
UliMapas
@ulimaps
Apr 21 2017 18:50
Hi, thanks for your kind reply. I think I need a vector file, not a raster. At least I think that's what I need to later apply the command pdal ground, to identify the bare soil. @abellgithub
UliMapas
@ulimaps
Apr 21 2017 19:51
I understand that the filters.dartsample filter has been replaced by filters.sample, and the script might look like this:
$pdal translate -i autzen.laz -o autzen-filters-sample.laz sample --filters.sample.radius=3
Maybe I'm not understanding, but is there any way to tell him to keep the point with the lowest elevation? @hobu
Andrew Bell
@abellgithub
Apr 21 2017 19:58
You can run pdal ground directly on the point cloud. I guess at this point I'm confused about what you're trying to do.
Howard Butler
@hobu
Apr 21 2017 20:07
filters.voxelgrid will sample the data to a user-specified grid, but that's not quite what you want either.
What is it that lasthin produces exactly?
UliMapas
@ulimaps
Apr 21 2017 20:14
@abellgithub @hobu Hi, what I try to do is follow the workflow proposed by: http://users.cis.fiu.edu/~chens/PDF/TGRS.pdf “A Progressive Morphological Filter for Removing
Nonground Measurements From
Airborne LIDAR Data”
1.-get a cloud points from an UAV and generate a minimun Surface grid (this is my problem)
2.- Use pdal ground
3.- Smile about the results
But you think that I can directly execute the command pdal ground without previously generating a grid?
UliMapas
@ulimaps
Apr 21 2017 20:17
@hobu @abellgithub lasthin is very nice, But requires paying the license to use a greater number of points, or breaking the point cloud into tiles.
Howard Butler
@hobu
Apr 21 2017 20:18
PDAL likely requires you to break your processing into chunks too, unless you have machines with huge memory or are willing to swap
filters.elm might be what you want, combined with a filters.range to then toss out the stuff that was called noise.
There are also two other ground filters in PDAL -- filters.smrf and filters.mongus
Is your UAV data imagery or lidar? Does filters.pmf by itself not do the job for you?
UliMapas
@ulimaps
Apr 21 2017 20:21
@hobu I have not read about those filters you mention, right now I do. Thank you.
lasthin: A simple LIDAR thinning algorithm for LAS/LAZ/ASCII. It places
a uniform grid over the points and within each grid cell keeps
only the point with the lowest (or '-highest' or '-random') Z
coordinate. When keeping '-random' points you can in addition
specify a '-seed 232' for the random generator. You can also
keep the point that is closest to the center of each cell with
the option '-central'.
Howard Butler
@hobu
Apr 21 2017 20:23
ok, so -central is going to be very much like filters.voxelgrid. -random a little like filters.decimate combined with a filters.divider, and it doesn't appear he does any filters.sample-like sampling
UliMapas
@ulimaps
Apr 21 2017 20:27
@hobu Sorry for answering in parts, my english is very bad. My data is an image obtained with pix4d.
I think that with what you have mentioned I have for a good time reading. Thank you.And I'll see about the filters.
Howard Butler
@hobu
Apr 21 2017 20:28
@ulimaps ok. pix4d point cloud is likely already heavily sampled. It's a "first return"-only type of surface, so you are stretching it to try to get a "ground" surface from it. Go into it with low expectations.
Lauri Kajan
@LKajan
Apr 21 2017 20:36
Hi, I'm new to PDAL and I must say that I'm quite amazed how powerful it is and easy it is to use
Howard Butler
@hobu
Apr 21 2017 20:37
That's awesome to hear!
what are you using it for?
Lauri Kajan
@LKajan
Apr 21 2017 20:37
I still have one question though. How can I remove points that didn
't get any cluster in filters.cluster
I tried filters.range ClusterID[1:] but it removed also the first cluster
I'm thinking if I can extract forested areas automatically from las-files.
Possibly for OpenStreetMap
Howard Butler
@hobu
Apr 21 2017 20:42
ClusterID[2:] doesn't keep your first cluster? I'm not quite familiar with filters.cluster, but @chambbj is.
Lauri Kajan
@LKajan
Apr 21 2017 20:44
The first cluster has id 0.
Howard Butler
@hobu
Apr 21 2017 20:44
ah, maybe you mean to negate it? ClusterID![1:]?
Lauri Kajan
@LKajan
Apr 21 2017 20:47
to clarify, I want to remove points that didn't get any ClusterID. When having min_points set in filters.cluster.
Howard Butler
@hobu
Apr 21 2017 20:47
@LKajan I would also be interested in your feedback about the content and navigation of the website. Were things easy to find? What tutorials or other information would be obviously helpful for you?
so does filters.cluster default to 0 and then set the first cluster as 0?
Lauri Kajan
@LKajan
Apr 21 2017 20:49
I think so. But these are my first three hours with PDAL so I can be wrong.
Howard Butler
@hobu
Apr 21 2017 20:50
Seems like a bug. Looking...
Are you using PDAL through Docker?
Lauri Kajan
@LKajan
Apr 21 2017 20:54
yes
Or can dimension be unset or null?
Howard Butler
@hobu
Apr 21 2017 20:56
It has a default value for the type, which in this case is going to be 0. The clustering code starts counting from 0 too it seems
Lauri Kajan
@LKajan
Apr 21 2017 20:58
should I create an issue to github?
Howard Butler
@hobu
Apr 21 2017 20:59
I was hoping I could identify the issue and fix it, but I am flailing.
oh, here it is
Lauri Kajan
@LKajan
Apr 21 2017 21:00
tell me if I can help somehow. Now I must to go bed.
Howard Butler
@hobu
Apr 21 2017 21:01
@LKajan I will push a fix to the 1.5-maintenance branch and there will be a new pdal/pdal:1.5 docker container ready for you to test in ~1hour from DockerHub
have a good night!
Lauri Kajan
@LKajan
Apr 21 2017 21:01
I'll get back to you with some feedback
Wow, that was a quick fix! Thank you so much!
Howard Butler
@hobu
Apr 21 2017 21:06
are you building your own container?
@LKajan fix pushed to 1.5-maintenance branch that will start counting ClusterID from 1. It will be about 40 minutes before the docker container is refreshed.