<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I've used Theissen/Voroni polygons but tessellation is new to me, not surprising given my state of knowledge so I would appreciate how it differs from T/V polygons for my edification.<div><br></div><div>Thanks in advance,</div><div><br></div><div>Lyle Browning</div><div><br></div><div><br><div><div>On Feb 25, 2014, at 11:54 AM, Thomas Leduc <<a href="mailto:thomas.leduc@cerma.archi.fr">thomas.leduc@cerma.archi.fr</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Dear GRASS-users & developpers,<div><br></div><div style="">As summed up below, I've tried to tessellate the enclosed datasource (a shapefile composed of several building footprints) using 2 different approaches:</div>
<div style=""><span class="" style="white-space:pre"><br></span></div><div style=""><span class="" style="white-space:pre">       </span>g.remove vect=buildings,plots rast=buildings_r,plots_r<br></div><div style=""><div><span class="" style="white-space:pre">     </span>v.in.ogr -o dsn=/tmp/buildings.shp output=buildings</div>
<div><br></div><div style="">1st method:</div><div><span class="" style="white-space:pre">      </span>v.voronoi -a --overwrite input=buildings output=vor smoothness=0.15</div><div><span class="" style="white-space:pre">        </span>v.out.ogr --overwrite input=vor type=area dsn=/tmp/src olayer=vor layer=1 format=ESRI_Shapefile</div>
<div><br></div><div><div>2nd method:</div><div><span class="" style="white-space:pre">      </span>g.region vect=buildings nsres=0.25 ewres=0.25</div><div><span class="" style="white-space:pre">      </span>v.to.rast --overwrite input=buildings output=buildings_r use=attr attrcolumn=gid</div>
<div><span class="" style="white-space:pre">    </span>r.grow --overwrite input=buildings_r output=plots_r metric=euclidean radius=4800</div><div><span class="" style="white-space:pre">   </span>r.to.vect --o input=plots_r output=plots type=area</div>
<div><span class="" style="white-space:pre">    </span>v.out.ogr --o input=plots type=area dsn=/tmp/src olayer=plots layer=1 format=ESRI_Shapefile</div><div><br></div><div>As may be observed with the screenshot, (both) output results does not match expectations.<br>
</div></div><div><br></div><div>Do you have any idea of the reason why it's wrong?<br></div><div><br></div><div style="">Many thanks for your help,</div><div style=""><br></div><div style="">Thomas</div><div><br></div><div><span><tessellation.png></span><br>
</div><div style=""><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 10, 2013 at 3:10 PM, Thomas Leduc <span dir="ltr"><<a href="mailto:thomas.leduc@cerma.archi.fr" target="_blank">thomas.leduc@cerma.archi.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class=""><div style="font-size:13px;font-family:arial,sans-serif">Dear Markus,</div><div style="font-size:13px;font-family:arial,sans-serif">
<br></div><div style="font-size:13px;font-family:arial,sans-serif">
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="font-size:13px;font-family:arial,sans-serif"><br></div><div style="font-size:13px;font-family:arial,sans-serif">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="font-size:13px;font-family:arial,sans-serif"><br></div><div style="font-size:13px;font-family:arial,sans-serif">    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="font-size:13px;font-family:arial,sans-serif">    cd ./grass7_trunk</div><div style="font-size:13px;font-family:arial,sans-serif">    ./configure --enable-64bit -with-freetype-includes=/usr/include/freetype2 --prefix=/usr/local/misc/grass7-snapshot --with-sqlite</div>

<div style="font-size:13px;font-family:arial,sans-serif">    make</div><div style="font-size:13px;font-family:arial,sans-serif">    make install</div><div style="font-size:13px;font-family:arial,sans-serif">
<br></div><div style="font-size:13px;font-family:arial,sans-serif">Then, in the GRASS console, I've copied and pasted the following instructions:</div></div><div><div style="font-size:13px;font-family:arial,sans-serif">

<br></div><div><div><font face="arial, sans-serif">    g.remove vect=buildings,vor</font></div><div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    </span>v.in.ogr -o dsn=/tmp/src/src.shp output=buildings</font></div>

<div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    </span>v.voronoi -a --overwrite input=buildings output=vor segment=0.15</font></div><div class=""><div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    </span>v.out.ogr --overwrite input=vor type=area dsn=/tmp/src olayer=vor layer=1 format=ESRI_Shapefile</font></div>

</div></div><div><font face="arial, sans-serif"><br></font></div>Many thanks once again.</div><div style="font-size:13px;font-family:arial,sans-serif"><br></div><div style="font-size:13px;font-family:arial,sans-serif">

Thomas</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">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>

</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Thu, Aug 29, 2013 at 5:38 PM, Thomas Leduc<br>
<<a href="mailto:thomas.leduc@cerma.archi.fr" target="_blank">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><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>> _______________________________________________<br>
> grass-user mailing list<br>
> <a href="mailto:grass-user@lists.osgeo.org" target="_blank">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" target="_blank">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></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Thomas LEDUC
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Thomas LEDUC
</div>
<span><buildings.zip></span>_______________________________________________<br>grass-user mailing list<br><a href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a><br>http://lists.osgeo.org/mailman/listinfo/grass-user</blockquote></div><br></div></body></html>