[GRASS-user] Lidar points height from ground

Daniel Lee lee at isi-solutions.org
Fri Mar 30 07:08:24 EDT 2012


Hi Daniel,

You could try making different rasters with classes (0-5m over ground,
5-10m over ground, etc.) and then convert them into polygons, then check
how many points are inside them. I'm not sure if it'd be faster than the
way you suggested originally, though, when you think that you'd have to
make the rasters first, etc.

I ended up giving up on large vector operations with LiDAR point clouds in
GRASS 6.4 because it simply took way too long, but I was dealing with
millions of points. For such a small dataset it's probably fine, since as
long as you know your script is okay you can let it run through your lunch
break ;)

Daniel

--

B.Sc. Daniel Lee
Geschäftsführung für Forschung und Entwicklung
ISIS - International Solar Information Solutions GbR
Vertreten durch: Daniel Lee, Nepomuk Reinhard und Nils Räder

Deutschhausstr. 10
35037 Marburg
Festnetz: +49 6421 379 6256
Mobil: +49 176 6127 7269
E-Mail: Lee at isi-solutions.org
Web: http://www.isi-solutions.org

ISIS wird gefördert durch die Bundesrepublik Deutschland, Zuwendungsgeber:
Bundesministerium für Wirtschaft und Technologie aufgrund eines Beschlusses
des Deutschen Bundestages, sowie durch die Europäische Union,
Zuwendungsgeber: Europäischer Sozialfonds.
Zusätzliche Unterstützung erhält ISIS von dem Entrepreneurship Cluster
Mittelhessen, der Universität Marburg, dem Laboratory for Climatology and
Remote Sensing und dem GIS-Lab Marburg.




Am 30. März 2012 13:00 schrieb Daniel Victoria <daniel.victoria at gmail.com>:

> I need to calculate the number of points at different height levels. That
> is, how many points are from 0 to 5 meters? And from 5 to 10? And so on. So
> I believe I need to work with vector points and a database. Or is there
> another way?
> Thanks
> Daniel
> On Mar 30, 2012 6:47 AM, "Daniel Lee" <lee at isi-solutions.org> wrote:
>
>> Hi there,
>>
>> I don't work too much with vectors, but my personal experience with them
>> has been fairly slow, perhaps due to the topology. If you have access to
>> the raw point cloud, you could try importing the ground and surface points
>> as separate rasters using r.in.xyz and then use r.mapcalc to get the height
>> by subtracting the ground from the surface raster. Or do you definitely
>> need vector points as an output?
>>
>> Best,
>> Daniel
>>
>> --
>>
>> B.Sc. Daniel Lee
>> Geschäftsführung für Forschung und Entwicklung
>> ISIS - International Solar Information Solutions GbR
>> Vertreten durch: Daniel Lee, Nepomuk Reinhard und Nils Räder
>>
>> Deutschhausstr. 10
>> 35037 Marburg
>> Festnetz: +49 6421 379 6256
>> Mobil: +49 176 6127 7269
>> E-Mail: Lee at isi-solutions.org
>> Web: http://www.isi-solutions.org
>>
>> ISIS wird gefördert durch die Bundesrepublik Deutschland,
>> Zuwendungsgeber: Bundesministerium für Wirtschaft und Technologie aufgrund
>> eines Beschlusses des Deutschen Bundestages, sowie durch die Europäische
>> Union, Zuwendungsgeber: Europäischer Sozialfonds.
>> Zusätzliche Unterstützung erhält ISIS von dem Entrepreneurship Cluster
>> Mittelhessen, der Universität Marburg, dem Laboratory for Climatology and
>> Remote Sensing und dem GIS-Lab Marburg.
>>
>>
>>
>>
>> Am 29. März 2012 22:59 schrieb Daniel Victoria <daniel.victoria at gmail.com
>> >:
>>
>>> Hi all,
>>>
>>> I'm trying to calculate the height from the ground of several lidar
>>> points (15million) in order to get the number of points that occur at
>>> different height levels. I read some older posts about using r.in.xyz
>>> (or r.in.lidar in grass 7) but I could not understand how to count the
>>> number or points that have height from 0 to 5 m above the ground, for
>>> instance. So, I'm trying to do the following.
>>>
>>> 1) import points using v.in.lidar (Grass 7 ubuntu linux)
>>> 2) create a column in the database for the ground height and one for
>>> elevation
>>> 3) populate height column from ground raster (generate in another
>>> process) using v.what.rast
>>> 4) calculate elevation as zcoord - ground for each point (v.db.update)
>>>
>>> As you might imagine, this takes a long time. Just to import a 400Mb
>>> lidar file takes around 50min.
>>> Is there any easier way that I'm not envisioning?
>>>
>>> I'm running Grass 7 with liblas on a Ubuntu Virtual Machine and sqlite
>>> backend.
>>>
>>> Thanks
>>> Daniel
>>> _______________________________________________
>>> grass-user mailing list
>>> grass-user at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/grass-user
>>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-user/attachments/20120330/eaa5e25f/attachment-0001.html


More information about the grass-user mailing list