<div dir="ltr"><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">Dear Markus,</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
Impressive responsiveness. Thanks for the dedicated development. <a href="http://trac.osgeo.org/grass/changeset/57621" target="_blank">http://trac.osgeo.org/grass/changeset/57621</a> is fully operative on the given dataset.</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">It took me some time to test it, because I'm a complete newby with GRASS community. Just to keep it written somewhere, I first had to checkout, configure, compile, and install GRASS7 snapshot on my Debian 6.0.7:</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    svn checkout <a href="https://svn.osgeo.org/grass/grass/trunk" target="_blank">https://svn.osgeo.org/grass/grass/trunk</a> grass7_trunk</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    cd ./grass7_trunk</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    ./configure --enable-64bit -with-freetype-includes=/usr/include/freetype2 --prefix=/usr/local/misc/grass7-snapshot --with-sqlite</div>
<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    make</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    make install</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
<br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">Then, in the GRASS console, I've copied and pasted the following instructions:</div><div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
<br></div><div><div><font color="#000000" face="arial, sans-serif">    g.remove vect=buildings,vor</font></div><div><font color="#000000" face="arial, sans-serif"><span style="white-space:pre">    </span>v.in.ogr -o dsn=/tmp/src/src.shp output=buildings</font></div>
<div><font color="#000000" face="arial, sans-serif"><span style="white-space:pre">    </span>v.voronoi -a --overwrite input=buildings output=vor segment=0.15</font></div><div><font color="#000000" face="arial, sans-serif"><span style="white-space:pre">    </span>v.out.ogr --overwrite input=vor type=area dsn=/tmp/src olayer=vor layer=1 format=ESRI_Shapefile</font></div>
</div><div><font color="#000000" face="arial, sans-serif"><br></font></div>Many thanks once again.</div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">
Thomas</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Sep 8, 2013 at 7:49 PM, Markus Metz <span dir="ltr"><<a href="mailto:markus.metz.giswork@gmail.com" target="_blank">markus.metz.giswork@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, Aug 29, 2013 at 5:38 PM, Thomas Leduc<br>
<<a href="mailto:thomas.leduc@cerma.archi.fr">thomas.leduc@cerma.archi.fr</a>> wrote:<br>
> Let's consider a set of input polygons (represented by dark gray polygonal<br>
> footprints in the enclosed screenshot [1]). I wonder whether there already<br>
> exists a (set of) GRASS instructions to produce the "surrounding<br>
> tessellation". I mean, could you please tell me how to compute the set of<br>
> multicolor polygons in the enclosed screenshot?<br>
><br>
> As an example, the blue polygon is the set of points that are:<br>
>   - overlayed by the dark gray polygon labeled #1<br>
>   - or closer to the dark gray polygon labeled #1 than to any other input<br>
> polygon.<br>
><br>
</div>I have added tessellation of areas to v.voronoi in trunk r57621. You<br>
need to use the new -a flag and can control the smoothness of the<br>
output with the new segment option. With your example, segment=0.15<br>
produces reasonably smooth output.<br>
<br>
This implementation ignores shared boundaries (not present in your<br>
example) which would need to be patched in afterwards. An alternative<br>
would be to use v.overlay to obtain areas outside the original input<br>
areas.<br>
<br>
HTH,<br>
<br>
Markus M<br>
<div class="im HOEnZb"><br>
> Thanks a lot for any help/advice.<br>
><br>
> Thomas Leduc<br>
><br>
> PS: I'm aware there already exist in GRASS some functions such as<br>
> "v.to.rast, r.grow.distance, and r.contour" which could help in building map<br>
> of distances, and isocontours... I'm also aware there already exist<br>
> "v.to.rast, r.thin, and r.to.vect feature=line" to build some sort of medial<br>
> axis transform or skeleton.<br>
><br>
> PPS: input data set<br>
><br>
> create table b(gid int, the_geom GEOMETRY(POLYGON, 2D));<br>
> insert into b values (0, GeomFromText('POLYGON ((0 0, 10 0, 10 10, 0 10, 0<br>
> 0))'));<br>
> insert into b values (1, GeomFromText('POLYGON ((30 0, 30 -30, 10 -30, 10<br>
> -40, 40 -40, 40 0, 30 0))'));<br>
> insert into b values (2, GeomFromText('POLYGON ((20 20, 100 20, 100 40, 60<br>
> 40, 60 30, 40 30, 40 60, 20 60, 20 20))'));<br>
> insert into b values (3, GeomFromText('POLYGON ((60 10, 60 -20, 100 -10, 100<br>
> 10, 60 10))'));<br>
> insert into b values (4, GeomFromText('POLYGON ((-10 -10, -10 -40, -40 -40,<br>
> -40 -20, -60 -20, -60 0, -50 0, -50 -10, -10 -10))'));<br>
> insert into b values (5, GeomFromText('POLYGON ((-40 20, -40 40, -10 40, -10<br>
> 30, -20 20, -40 20))'));<br>
><br>
> [1] this screenshot of about 11 KB is also downloadable at<br>
> <a href="https://dl.dropboxusercontent.com/u/8846569/tessellation.png" target="_blank">https://dl.dropboxusercontent.com/u/8846569/tessellation.png</a><br>
><br>
><br>
</div><div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> grass-user mailing list<br>
> <a href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a><br>
> <a href="http://lists.osgeo.org/mailman/listinfo/grass-user" target="_blank">http://lists.osgeo.org/mailman/listinfo/grass-user</a><br>
_______________________________________________<br>
grass-user mailing list<br>
<a href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/grass-user" target="_blank">http://lists.osgeo.org/mailman/listinfo/grass-user</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Thomas LEDUC
</div>