[GRASS-user] Mask creation from sporadic data v.hull

Hamish hamish_b at yahoo.com
Sat Dec 19 01:59:04 EST 2009


John Tate wrote:
> For a while now I have been trying to make an accurate mask
> for LiDAR points. 
> As I am working with 1m resolution data I want the mask to
> be accurate (no 
> more than 1m around the edge of the points/flight area).
> 
> The data is wavy around the edges, due to a windy flight
> when the data was 
> collected, so v.hull ignores the waves and joins the
> crests, adding vast NULL 
> areas to the mask. Also, there are up to 10m holes within
> the individual 
> swaths.
> 
> r.in.xyz at 5m resolution has given me the best results so
> far as final 
> accuracy masks, but not for the processing as I want holes
> within the data 
> filled with v.surf.rst.
> 
> I have looked at v.delaunay and v.voronoi too, but both
> need topology built 
> and don't have similar outputs to v.hull regarding vast
> NULL areas. This is ok 
> for 1km tiles, but I want to process each swath separately
> (study on swath 
> accuracy) and these can be c.5million points each.
> 
> Does anyone know if there is way to do this accurately
> without manually 
> digitizing? Have I missed something in the book/manual?


sure, use r.in.xyz + r.buffer.

perhaps then shrink the area back to bounds by creating a r.mapcalc
inverse map and r.growing it a little. If you really want a vector area
coverage you could then do r.to.vect + v.dissolve to remove the interior
holes. Maybe you have to run v.centroids before v.dissolve to give the
holes cat numbers ?.


I expect that v.buffer would horribly hemorrhage given that many points.
(but it might be an interesting stress-test experiment to see what the
limits are :)


Hamish



      


More information about the grass-user mailing list