Sat, Jul 16 2005
11:55:30
|
|
Request created by guest
|
|
Subject: v.buffer makes the buffers TWICE the desired size
Platform: GNU/Linux/i386
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: 15.07.2005
v.buffer input=border output=border_half_km type=line layer=1 buffer=500
makes the buffer about 1 km wide, though 500m requested
v.buffer input=border output=border_1_km type=line layer=1 buffer=1000
makes it about 2 km wide
Strange. Bug?
The input "border" you can grab here for testing:
http://www.biol.uni.wroc.pl/sieczka/udostepnione/border.tar.bz2
There is no .prj file cause GDAL/OGR cannot parse the "sterea" projection yet.
In case you need this information:
GRASS 6.1.cvs (caves_65):~ > g.proj -p
-PROJ_INFO-------------------------------------------------
name : Stereographic
proj : sterea
a : 6378245
es : 0.0066934216
lat_0 : 51.67083333333333
lon_0 : 16.67222222222222
k : 0.999800
x_0 : 3703000
y_0 : 5627000
towgs84 : 33.4297,-146.5746,-76.2865,-0.35867,-0.05283,0.84354,-0.8407728
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : metre
units : metres
meters : 1
GRASS 6.1.cvs (caves_65):~ > g.region -p
projection: 99 (Stereographic)
zone: 0
datum: towgs84=33.4297,-146.5746,-76.2865,-0.35867,-0.05283,0.84354,-0.8407728
ellipsoid: a=6378245 es=0.0066934216
north: 5578761.99643985
south: 5576874.65677985
west: 3685399.25248024
east: 3686946.53094024
nsres: 1.00018
ewres: 1.00018
rows: 1887
cols: 1547
|
|
Sat, Jul 16 2005
23:21:45
|
|
Mail sent by michael.barton@asu.edu
|
|
Return-Path |
<Michael.Barton@asu.edu>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Date |
Sat, 16 Jul 2005 14:21:39 -0700
|
From |
Michael Barton <michael.barton@asu.edu>
|
Subject |
Re: [GRASS5] [bug #3427] (grass) v.buffer makes the buffers TWICE the desired size
|
In-reply-to |
<20050716095530.965A11005AD@lists.intevation.de>
|
To |
Paolo Cavallini via RT <grass-bugs@intevation.de>, grass5@grass.itc.it
|
Message-id |
<BEFEC873.E986%michael.barton@asu.edu>
|
MIME-version |
1.0
|
Content-type |
text/plain; charset=US-ASCII
|
Content-transfer-encoding |
7bit
|
User-Agent |
Microsoft-Entourage/11.1.0.040913
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
The buffer distance is the distance the buffer extends outwards from the
object being buffered. For a stream, then, a 500m buffer distance, would
produce a buffer that extends 500m outward from the stream. This would make
a buffer polygon 1000m wide (500+500). The same buffer distance around a
point would create a circle 500m in radius (1000m in diameter). Around a
polygon, it would create a zone 500m wide around the polygon perimeter.
Michael
On 7/16/05 2:55 AM, "Request Tracker" <grass-bugs@intevation.de> wrote:
> this bug's URL: http://intevation.de/rt/webrt?serial_num=3427
> -------------------------------------------------------------------------
>
> Subject: v.buffer makes the buffers TWICE the desired size
>
> Platform: GNU/Linux/i386
> grass obtained from: CVS
> grass binary for platform: Compiled from Sources
> GRASS Version: 15.07.2005
>
> v.buffer input=border output=border_half_km type=line layer=1 buffer=500
>
> makes the buffer about 1 km wide, though 500m requested
>
> v.buffer input=border output=border_1_km type=line layer=1 buffer=1000
>
> makes it about 2 km wide
>
> Strange. Bug?
>
> The input "border" you can grab here for testing:
> http://www.biol.uni.wroc.pl/sieczka/udostepnione/border.tar.bz2
>
> There is no .prj file cause GDAL/OGR cannot parse the "sterea" projection yet.
> In case you need this information:
>
> GRASS 6.1.cvs (caves_65):~ > g.proj -p
> -PROJ_INFO-------------------------------------------------
> name : Stereographic
> proj : sterea
> a : 6378245
> es : 0.0066934216
> lat_0 : 51.67083333333333
> lon_0 : 16.67222222222222
> k : 0.999800
> x_0 : 3703000
> y_0 : 5627000
> towgs84 : 33.4297,-146.5746,-76.2865,-0.35867,-0.05283,0.84354,-0.8407728
> no_defs : defined
> -PROJ_UNITS------------------------------------------------
> unit : metre
> units : metres
> meters : 1
>
> GRASS 6.1.cvs (caves_65):~ > g.region -p
> projection: 99 (Stereographic)
> zone: 0
> datum:
> towgs84=33.4297,-146.5746,-76.2865,-0.35867,-0.05283,0.84354,-0.8407728
> ellipsoid: a=6378245 es=0.0066934216
> north: 5578761.99643985
> south: 5576874.65677985
> west: 3685399.25248024
> east: 3686946.53094024
> nsres: 1.00018
> ewres: 1.00018
> rows: 1887
> cols: 1547
>
>
>
> -------------------------------------------- Managed by Request Tracker
>
>
>
____________________
C. Michael Barton, Professor of Anthropology
School of Human Evolution and Social Change
PO Box 872402
Arizona State University
Tempe, AZ 85287-2402
USA
Phone: 480-965-6262
Fax: 480-965-7671
www: <www.public.asu.edu/~cmbarton>
|
|
Sun, Jul 17 2005
19:18:02
|
|
Mail sent by werchowyna@epf.pl
|
|
Return-Path |
<werchowyna@epf.pl>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Message-ID |
<00ea01c58af3$69df1200$e2e41d3e@eustahiush>
|
From |
"Maciek Sieczka" <werchowyna@epf.pl>
|
To |
"Michael Barton" <michael.barton@asu.edu>, "Paolo Cavallini via RT" <grass-bugs@intevation.de>, "grass devel" <grass5@grass.itc.it>
|
References |
<BEFEC873.E986%michael.barton@asu.edu>
|
Subject |
Re: [GRASS5] [bug #3427] (grass) v.buffer makes the buffers TWICE the desired size
|
Date |
Sun, 17 Jul 2005 19:17:23 +0200
|
MIME-Version |
1.0
|
Content-Type |
text/plain; format=flowed; charset="iso-8859-1"; reply-type=original
|
Content-Transfer-Encoding |
7bit
|
X-Priority |
3
|
X-MSMail-Priority |
Normal
|
X-Mailer |
Microsoft Outlook Express 6.00.2900.2180
|
X-MimeOLE |
Produced By Microsoft MimeOLE V6.00.2900.2180
|
X-Antivirus |
avast! (VPS 0528-4, 2005-07-14), Outbound message
|
X-Antivirus-Status |
Clean
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
From: "Michael Barton" <michael.barton@asu.edu>
> The buffer distance is the distance the buffer extends outwards from the
> object being buffered. For a stream, then, a 500m buffer distance, would
> produce a buffer that extends 500m outward from the stream. This would
> make
> a buffer polygon 1000m wide (500+500). The same buffer distance around a
> point would create a circle 500m in radius (1000m in diameter).
Michael, You have missunderstood the point.
My input "border" is a *closed* line. When I v.buffer it for 500m, I get a
polygon inside of it (BTW - should it be inside indeed?) at the distance of
1000m from the line. If I have not explained it enough, please grab the file
if you can and try v.buffer input=border output=border_half_km type=line
layer=1 buffer=500.
I know the best workaround is to convert the boundary line to an area
polygon and then v.buffer on that, which works fine - the output is a buffer
at 500m from the input, outside of it. The problem is it seems that v.buffer
cannot handle closed lines (i.e. area boundaries, closed elevation contours)
properly.
Maciek
> Around a
> polygon, it would create a zone 500m wide around the polygon perimeter.
>
> Michael
|
|
Sun, Jul 17 2005
21:23:56
|
|
Mail sent by michael.barton@asu.edu
|
|
Return-Path |
<Michael.Barton@asu.edu>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Date |
Sun, 17 Jul 2005 12:23:54 -0700
|
From |
Michael Barton <michael.barton@asu.edu>
|
Subject |
Re: [GRASS5] [bug #3427] (grass) v.buffer makes the buffers TWICE the desired size
|
In-reply-to |
<00ea01c58af3$69df1200$e2e41d3e@eustahiush>
|
To |
Maciek Sieczka <werchowyna@epf.pl>, Paolo Cavallini via RT <grass-bugs@intevation.de>, grass devel <grass5@grass.itc.it>
|
Message-id |
<BEFFFE5A.E9B2%michael.barton@asu.edu>
|
MIME-version |
1.0
|
Content-type |
text/plain; charset=US-ASCII
|
Content-transfer-encoding |
7bit
|
User-Agent |
Microsoft-Entourage/11.1.0.040913
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
Maciek,
This does sound weird. For a closed line, it seems that it SHOULD be just
like an open line--i.e., creating a donut 1000m wide extending on both sides
of the closed line.
Michael
On 7/17/05 10:17 AM, "Maciek Sieczka" <werchowyna@epf.pl> wrote:
> From: "Michael Barton" <michael.barton@asu.edu>
>
>> The buffer distance is the distance the buffer extends outwards from the
>> object being buffered. For a stream, then, a 500m buffer distance, would
>> produce a buffer that extends 500m outward from the stream. This would
>> make
>> a buffer polygon 1000m wide (500+500). The same buffer distance around a
>> point would create a circle 500m in radius (1000m in diameter).
>
> Michael, You have missunderstood the point.
>
> My input "border" is a *closed* line. When I v.buffer it for 500m, I get a
> polygon inside of it (BTW - should it be inside indeed?) at the distance of
> 1000m from the line. If I have not explained it enough, please grab the file
> if you can and try v.buffer input=border output=border_half_km type=line
> layer=1 buffer=500.
>
> I know the best workaround is to convert the boundary line to an area
> polygon and then v.buffer on that, which works fine - the output is a buffer
> at 500m from the input, outside of it. The problem is it seems that v.buffer
> cannot handle closed lines (i.e. area boundaries, closed elevation contours)
> properly.
>
> Maciek
>
>> Around a
>> polygon, it would create a zone 500m wide around the polygon perimeter.
>>
>> Michael
>
____________________
C. Michael Barton, Professor of Anthropology
School of Human Evolution and Social Change
PO Box 872402
Arizona State University
Tempe, AZ 85287-2402
USA
Phone: 480-965-6262
Fax: 480-965-7671
www: <www.public.asu.edu/~cmbarton>
|
|
Mon, Jul 18 2005
08:08:39
|
|
Mail sent by hamish_nospam@yahoo.com
|
|
Return-Path |
<hamish_nospam@yahoo.com>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Date |
Mon, 18 Jul 2005 18:08:09 +1200
|
From |
Hamish <hamish_nospam@yahoo.com>
|
To |
"Maciek Sieczka" <werchowyna@epf.pl>
|
Cc |
GRASSLIST@baylor.edu, grass-bugs@intevation.de
|
Subject |
Re: [GRASSLIST:7574] [bug #3427] Re: Interior Buffers
|
Message-Id |
<20050718180809.31981f95.hamish_nospam@yahoo.com>
|
In-Reply-To |
<00f101c58af5$e30fc7d0$e2e41d3e@eustahiush>
|
References |
<42DA6C96.3030003@watersheds.ca> <00f101c58af5$e30fc7d0$e2e41d3e@eustahiush>
|
X-Mailer |
Sylpheed version 1.0.4 (GTK+ 1.2.10; i386-pc-linux-gnu)
|
X-Face |
M<EoB)"*Z~u!,vFhXmw}R_KbdBta*P_=T|rbBL'e1/CQ9;/1g\BU3&!=y8ria$2Uk!HT&BB 8i?|X_+7~1jsy}F~g$2va%3fV`*=L(*cem[@3\yg,G,@rg6/QMJ
|
Mime-Version |
1.0
|
Content-Type |
text/plain; charset=US-ASCII
|
Content-Transfer-Encoding |
7bit
|
X-Spam-Status |
No, hits=-4.0 tagged_above=-999.0 required=3.0 tests=BAYES_00, FORGED_YAHOO_RCVD
|
X-Spam-Level |
|
> Accidently I have found the functionality you are interested in in
> v.buffer, which seems to be a undocumented feature or a bug.
>
> Anyway: if the input for v.buffer is a *closed* *line* (not the area),
> then the output is an "internal buffer" :) area polygon, which is of
> about *twice* the extent you provide in option "buffer=".
I don't see this.
What I do see is:
points are buffered to the correct distance.
areas (boundary + centroid) are buffered externally to the correct
distance.
boundaries without centroid are not buffered.
lines are buffered either side. If the line forms a closed polygon then
the width of the buffer area is 2x the number given for buffer=, but
this is just the sum of the buffering on both sides of the line. The
area is centered on the line. The internal buffer is not 2x the buffer
distance, just 1x.
tip: use 'd.vect cat=1-99999' to only fill where there is data, ie skip
holes.
> I have reported it as a bug
> http://intevation.de/rt/webrt?serial_num=3427.
I just tried your "border" vector file. It works as expected for me:
width is 1x internal, 2x internal+external.
?
> After rethinking it, I'm not sure what to think. It seems a kind of
> bug on one hand, especially that the "internal buffer" size is 2 x
> the buffer required, and a cool functionality on the other.
Line is buffered on both sides. How is this new functionality be it 1x
or 2x or 23x buffer width?
> The best IMHO would be to extend v.buffer to be able to create such
> "internal buffers" in a controlled and documented way. Any chances?
> What do others think?
If you want an inverse buffer of an area make a inverse vector with
v.in.region + v.overlay, then v.buffer on that.
Hamish
|
|
Mon, Jul 18 2005
22:43:04
|
|
Mail sent by werchowyna@epf.pl
|
|
Return-Path |
<werchowyna@epf.pl>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Message-ID |
<006901c58bd9$3b6d4c70$53d21d3e@eustahiush>
|
From |
"Maciek Sieczka" <werchowyna@epf.pl>
|
To |
<GRASSLIST@baylor.edu>, "Michael Barton" <michael.barton@asu.edu>, "Request Tracker" <grass-bugs@intevation.de>, <hamish_nospam@yahoo.com>, "grass devel" <grass5@grass.itc.it>
|
References |
<20050718060839.9E7E81005A9@lists.intevation.de>
|
Subject |
Re: [GRASS5] [bug #3427] (grass) v.buffer makes the buffers TWICE the desired size
|
Date |
Mon, 18 Jul 2005 22:37:23 +0200
|
MIME-Version |
1.0
|
Content-Type |
text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
|
Content-Transfer-Encoding |
7bit
|
X-Priority |
3
|
X-MSMail-Priority |
Normal
|
X-Mailer |
Microsoft Outlook Express 6.00.2900.2180
|
X-MimeOLE |
Produced By Microsoft MimeOLE V6.00.2900.2180
|
X-Antivirus |
avast! (VPS 0528-4, 2005-07-14), Outbound message
|
X-Antivirus-Status |
Clean
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
Sorry Guys. All my fault. Stupid me displayed the output over the input, so
I actually measured the distance between the interrior and exterior buffers
of the output alone. All is fine with v.buffer, sorry for the mess. I wish I
hadn't written that.
Maciek
|
|
Tue, Jul 19 2005
07:58:36
|
|
Status changed to resolved by hbowman
|
|