[GRASS-user] buffer vector within a given area
Martin Schweizer
schweizermartin at students.unibe.ch
Fri Apr 24 10:40:36 EDT 2009
Annalisa
Thanks for your help, but there is a little problem: I calculate the
agricultural land around a city, then i buffer the vector, transform it
into a raster map and subtract all the "not possible land". At the end,
there is less agricultural land than I calculated. There must be a
buffering operation which excludes already the NULL values of the "agri
map" in the calculation.... is there something like that?
Thanks a lot
Martin
Annalisa Minelli schrieb:
> Martin,
> after you have done the buffering operation (as Moritz said), and
> transformed vector map (buffer_areas) in raster (v.to <http://v.to>
> rast), you can easily extract only the interested areas by using a
> mapalgebra operation.. for example:
>
> if "agri" is the map of your agricultural areas (green map)
> and "buff" is the map of the buffer around the vector points
>
> you can type:
>
> r.mapcalc "interested_areas = agri * buff"
>
> all cells with a not-zero value are the interested areas..
> (I usually prefer to use NULL rather than ZERO.. if you prefer it too,
> you can use r.null to transform ZERO to NULL values)
>
> Hope this helps!
>
> Annalisa
>
>
>
> 2009/4/23 Martin Schweizer <schweizermartin at students.unibe.ch
> <mailto:schweizermartin at students.unibe.ch>>
>
> Hi Moritz
>
> Thanks for your help. The problem is, that not each pixel around a
> point
> (city) can be used as agricultural land. So I can't simply buffer the
> cities with a circle. To concretize what i mean, i made a picture:
> http://www.fotos-hochladen.net/view/landandcity1hjbk4qy3.jpg in green
> you see the potential agricultural land and the black point is a
> city....
>
> Thanks a lot
>
> Martin
>
> Moritz Lennert schrieb:
> > On 22/04/09 20:39, Martin Schweizer wrote:
> >> Hi
> >>
> >> I have a question which is a bit complex. Hope i can describe
> it ;-).
> >>
> >> I have a point-vector layer (the citis) and a raster layer with
> 1 and
> >> ZERO cells (The potenial agricultural land). One categorie in
> the vector
> >> layer is the land (Squaremeter) that hast to be cultivated for each
> >> point (city). The question is now: How can I calculate and display,
> >> which cells of the raster map (potential agricultural land)
> hast to be
> >> cultivated? Must be some sort of buffer or neighbourhood.....?
> >
> > Assuming that this agricultural land is the same in all
> directions of
> > the city, create a column which contains the radius of the
> circle that
> > encompasses the land needed (i.e. if my memories of geometry are
> > correct: sqrt(surface/pi) and feed the name of this column to the
> > bufcol= parameter of v.buffer (or feed the formula directly to the
> > bufcol parameter, but this only works if you use a db-backend which
> > has a sqrt function, i.e. PostgreSQL).
> >
> > Moritz
> >
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
More information about the grass-user
mailing list