[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