[GRASS-dev] lidar tools update in grass7
Markus Metz
markus.metz.giswork at googlemail.com
Sat Feb 6 03:46:20 EST 2010
Maris Nartiss wrote:
> Horay! Good job!
> Still could You, please, take a look at this issue:
> http://trac.osgeo.org/grass/ticket/96
>
The column option works now and the module no longer sits there and does
nothing, it reports now progress, and is faster, particularly for
bicubic interpolation. I would recommend backporting all changes after
some more testing because some of the lidar tools are not working
properly in grass 6.x.
In ticket #96, the command
v.surf.bspline input=precip_30ynormals rast=precip_30ynormals_surf
column=annual layer=1 sin=1000 sie=1000
is ok for testing, nicer results are obtained with
v.surf.bspline input=precip_30ynormals rast=precip_30ynormals_surf
type=bicubic column=annual layer=1 sin=4.0e+4 sie=4.0e+4
> Also while You understand that code, please, could You add some
> commets to more tricky places in code to make code maintenance more
> easy for not-so-die-hard coders?
I'll try my best. I think I understand the code, but I don't really
understand that Tcholetsky thing (which I did not touch), so I can't add
comments there.
> Some things in GRASS lidar tools are
> really cool and advanced and thus not so easy to understand without
> carefull code review for casual bugfixers.
>
The core of the lidar tools is the lidarlib, that is AFAICT robust and
working. Bugs are most likely in modules, so I'll try to add comments
there. I have reorganized the code for v.surf.bspline in the hope that
it is now easier to read.
I forgot to mention, there is a problem with sqlite, it is much slower
than dbf, no idea if this is a problem of my system or of the grass
sqlite driver or of the way auxiliary tables are accessed by the lidar
tools.
Markus M
> Thanks!
> Maris.
>
>
> 2010/2/5, Markus Metz <markus.metz.giswork at googlemail.com>:
>
>> details on r40831:
>>
>> Performance has been increased for all modules by reducing the default
>> segment size, interpolation settings are not affected. Previously, the
>> modules seemed to be optimized for settings where only one segment was
>> needed. As soon as several segments where needed, processing time
>> increased drastically. Fixed for all modules, now optimized for larger
>> datasets.
>>
>> Sometimes interpolation settings were modified for the last row and
>> column segments, i.e. for these segments different interpolation
>> settings were used than for the other segments. The same spline step
>> values are now used for all segments.
>>
>> All modules have a new flag to estimate point density and mean distance
>> between points. This mean distance is the minimum spline step, according
>> to the documentation recommended spline steps are 2 to 4 times the mean
>> distance, depending on the module.
>>
>> All modules now create a proper name for the auxiliar table, sometimes a
>> name was created but a different one was used or a fully qualified name
>> with @ was used: illegal table name.
>> Several modules had memory leaks when accessing the auxiliar table, all
>> are fixed.
>>
>> v.lidar.edgedetection assigned category 0 instead of 3 to unknown points
>> (neither edge nor terrain), fixed. There was a bad memory leak in
>> v.lidar.edgedetection, fixed.
>>
>> v.outlier could not properly detect outliers if several segments were
>> needed, the points falling into the overlapping zones were not properly
>> updated (uninitialized variable used).
>>
>> v.surf.bspline no longer produces artifacts along region boundaries and
>> is now optimized for larger datasets. AFAICT it did not properly work if
>> the region had to be subdivided into several segments, it was restricted
>> to one segment.
>>
>>
>> test environment was nc_spm_08
>> g.region vect=elev_lid792_bepts at PERMANENT res=1
>> north: 221230
>> south: 219580
>> west: 637740
>> east: 639530
>> nsres: 1
>> ewres: 1
>> rows: 1650
>> cols: 1790
>> cells: 2953500
>>
>> e.g. for grass64
>> v.outlier --o --v input=elev_lid792_bepts at PERMANENT
>> output=elev_lid792_bepts_nooutliers64
>> outlier=elev_lid792_bepts_outliers64 soe=5 son=5 thres_o=0.1
>> and grass7
>> v.outlier --o --v input=elev_lid792_bepts at PERMANENT
>> output=elev_lid792_bepts_nooutliers outlier=elev_lid792_bepts_outliers
>> soe=5 son=5 thres_o=0.1
>> these settings will detect more outliers than are probably there, they
>> are for illustration of the artefacts.
>>
>> obvious artefacts in elev_lid792_bepts_outliers64
>>
>> or in grass64
>> v.surf.bspline --o --v input=elev_lid792_bepts at PERMANENT
>> raster=elev_lid792_rast64 sie=5 sin=5 type=bicubic lambda_i=0.1
>> vs. grass7
>> v.surf.bspline --o --v input=elev_lid792_bepts at PERMANENT
>> raster=elev_lid792_rast sie=5 sin=5 type=bicubic lambda_i=0.1
>>
>> no more artefacts along the region boundaries and faster
>>
>>
>> _______________________________________________
>> grass-dev mailing list
>> grass-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/grass-dev
>>
>>
>
>
More information about the grass-dev
mailing list