On Thu, Jul 29, 2010 at 8:28 PM, Micha Silver <[email protected]> wrote:
> On 07/29/2010 06:38 PM, David Townshend wrote:
>
> Hi
>
> I am trying the generate watersheds for several outlets by looping
> over r.water.outlet in a python script (attached). The basin procedure
> is that for each outlet point (read using v.info -t), my script runs
> r.water.outlet, r.to.vect and v.patch, to combine the watersheds into
> a simgle vector map. I am connecting the watersheds to the outlet
> points by setting the category value in the output from r.to.vect,
> i.e. before patching. The trouble is that some of the watersheds
> overlap, e.g. where an outlet lies inside another watershed. v.patch
> doesn't seem to handle this too well, and the result is that I have a
> vector map with a few areas, a few boundaries, a few centroids and a
> lot of errors.
>
> Is there a better way of approaching this? And how do I allow overlapping
> areas?
>
>
>
> No, since GRASS enforces topology, there's no such thing as overlapping
> polygons.  If you run r.water.outlet twice in the same stream network, you
> will get one basin that's a sub-catchment of a larger basin. If you try to
> patch these two vector maps, assuming the patch succeeds, and there are no
> topology errors, you'll get the smaller basin as one polygon, and the larger
> basin with the smaller one "cut out" as the second polygon.

The output of this is going to be written to a shapefile and processed
further in arcgis (by someone else), so would they then have to
manually combine the polygons to create the larger basins? A smaller
"cut-out" basin is of no use for my purposes, so they'll need to be
combined somehow.  I'd thought about using a non-topological vector
map, but it seems that I can't do anything further with it without
building a topology.

> I've encountered a similar problem to yours: many small overlaps or gaps
> along the boundary between two adjacent basins created by two runs of
> r.water.outlet.
> I don't know of any easy solution, other than using the options included
> with "v.clean" to remove small areas and snap boundaries that are within a
> given threshold. THen after v.clean, there will often still be a few errors
> that need to be ironed out manually with v.digit.

Small errors like this are not really a problem for me since I'm
working with such coarse data and rough hydrology that slight
inaccuracies in the basin delineation will have no effect on the final
output.
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to