Re: [GRASS-user] Thiessen Polygons
Jan wrote: > Wouldn't this work with cost surfaces too? Starting > from several points (the Thiessen centers) with a grid cell > cost information raster containing only the value > "one", you get a raster representation of a > classic Thiessen structure. Manipulating the cost > information raster , you should get something like a > weighted Thiessen structure. The last step would be to > extract the boundaries between the polygons in vector > format, with the methods above. Starting from each center > point, the cost surface will rise, until it meets the rising > surface from an adjacent point. At this location, slope > becomes zero. These zero slope areas are effectively the > Thiessen polygons, and can be vectorized. For normal > Thiessen polygons, this should be no problem, but I am not > sure what happens with really complex weighted cases. Does > anyone have any experience with this? right, the idea is to apply the wealth of landscape analysis modules to the cost surface (or whatever) instead of a real DEM. Lots of power there just waiting to be harnessed. Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Interesting. I know something of these models (worked a few years for the archaeology department here in Amsterdam), and, like you, never had enough time to really code it. Apart from efficiency, I am wondering whether those really cool cost surfaces will degenerate into impossible vector polygons. Do you have any examples from archaeological practice, using this gravitation approach? How were they computed? Jan Benjamin Ducke wrote: The Voronoi diagram is closely related to gravity models: every cell in the raster map gravitates towards the closest center point in the input point pattern. If you change the gravitational attraction of individual points, you get a weighted Voronoi diagram. If you change the measure of gravity by switching from straight-line distance to e.g. cost-based then you get something more complex and realistic than any Voronoi algorithm can provide. In Archaeology, a simple formula (called Xtent) has been used to calculate such gravity models for a long time: I = C^a - k*d With "I" being the "influence" of an input point. "I" gets calculated for every input point at every cell in the map. The input point with highest "I" wins and the cell gets assigned to that point's ID. (C^a) is the weight of a point. (k*d) is your (weighted) distance measure. Set (C^a) constant and use a straight-line distance measure and you get your basic Voronoi diagram. Assign different weights to C and you get a weighted diagram. Replace (k*d) with a more realistic, cost-based measure and you get something ... really cool. I am sure, there is a myriad of similar models/formulas in other disciplines. I have actually written a GRASS module called r.xtent based on this. It still has some known bugs, however, and I simply don't have the time to fix it right now. It's also pretty bloated and inefficient, so a clean, more minimalistic start might not be a bad idea. Ben Jan Hartmann wrote: Wouldn't this work with cost surfaces too? Starting from several points (the Thiessen centers) with a grid cell cost information raster containing only the value "one", you get a raster representation of a classic Thiessen structure. Manipulating the cost information raster , you should get something like a weighted Thiessen structure. The last step would be to extract the boundaries between the polygons in vector format, with the methods above. Starting from each center point, the cost surface will rise, until it meets the rising surface from an adjacent point. At this location, slope becomes zero. These zero slope areas are effectively the Thiessen polygons, and can be vectorized. For normal Thiessen polygons, this should be no problem, but I am not sure what happens with really complex weighted cases. Does anyone have any experience with this? Jan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
The Voronoi diagram is closely related to gravity models: every cell in the raster map gravitates towards the closest center point in the input point pattern. If you change the gravitational attraction of individual points, you get a weighted Voronoi diagram. If you change the measure of gravity by switching from straight-line distance to e.g. cost-based then you get something more complex and realistic than any Voronoi algorithm can provide. In Archaeology, a simple formula (called Xtent) has been used to calculate such gravity models for a long time: I = C^a - k*d With "I" being the "influence" of an input point. "I" gets calculated for every input point at every cell in the map. The input point with highest "I" wins and the cell gets assigned to that point's ID. (C^a) is the weight of a point. (k*d) is your (weighted) distance measure. Set (C^a) constant and use a straight-line distance measure and you get your basic Voronoi diagram. Assign different weights to C and you get a weighted diagram. Replace (k*d) with a more realistic, cost-based measure and you get something ... really cool. I am sure, there is a myriad of similar models/formulas in other disciplines. I have actually written a GRASS module called r.xtent based on this. It still has some known bugs, however, and I simply don't have the time to fix it right now. It's also pretty bloated and inefficient, so a clean, more minimalistic start might not be a bad idea. Ben Jan Hartmann wrote: Wouldn't this work with cost surfaces too? Starting from several points (the Thiessen centers) with a grid cell cost information raster containing only the value "one", you get a raster representation of a classic Thiessen structure. Manipulating the cost information raster , you should get something like a weighted Thiessen structure. The last step would be to extract the boundaries between the polygons in vector format, with the methods above. Starting from each center point, the cost surface will rise, until it meets the rising surface from an adjacent point. At this location, slope becomes zero. These zero slope areas are effectively the Thiessen polygons, and can be vectorized. For normal Thiessen polygons, this should be no problem, but I am not sure what happens with really complex weighted cases. Does anyone have any experience with this? Jan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user -- Benjamin Ducke Senior Applications Support and Development Officer Oxford Archaeology Ltd Janus House Osney Mead OX2 0ES Oxford, U.K. Tel: +44 (0)1865 263 800 (switchboard) Tel: +44 (0)1865 980 758 (direct) Fax :+44 (0)1865 793 496 benjamin.du...@oxfordarch.co.uk -- Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information. ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Hamish wrote: - use r.param.scale to create a feature map and extract all saddle-point boundaries between the bubbles as the voronoi boundaries, (or r.slope.aspect and find areas where slope<1 deg then r.thin, r.to.vect) Wouldn't this work with cost surfaces too? Starting from several points (the Thiessen centers) with a grid cell cost information raster containing only the value "one", you get a raster representation of a classic Thiessen structure. Manipulating the cost information raster , you should get something like a weighted Thiessen structure. The last step would be to extract the boundaries between the polygons in vector format, with the methods above. Starting from each center point, the cost surface will rise, until it meets the rising surface from an adjacent point. At this location, slope becomes zero. These zero slope areas are effectively the Thiessen polygons, and can be vectorized. For normal Thiessen polygons, this should be no problem, but I am not sure what happens with really complex weighted cases. Does anyone have any experience with this? Jan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
> Jan Hartmann wrote: > > >> With that in mind, if the algorithm you propose would be indeed an > > >> approximation to weighted Voronoi polygons, *and* it wouldn't be > > >> all to hard to implement (I have no idea about that), would it make > > >> sense to propose this as a new RFC for GRASS? Glynn wrote: > I mean only that it cannot be done using the approach which > r.grow.distance uses, using memory proportional to the number of > columns (it uses a number of row buffers, i.e. one-dimensional arrays, > with one element per column). > > [In any case, weighted distances won't produce polygons; at least, not > for Euclidean distances. The boundary will only be a straight line if > the weights are equal.] > > However, that doesn't meant that other algorithms wouldn't be > feasible, particularly if you're only interested in typical behaviour > rather than worst-case behaviour. > > Also, it may be possible to use the r.grow.distance approach with > something other than scaling. An offset would work, optionally > combined with a monotonic function of the distance (provided that it's > the same for every point). Hi, just some brainstorming ideas for a weighted Voronoi module: input: vector points with weight column output: raster map with weighted Voronoi polygons (or r.to.vect built in) the module would create 2 raster maps: - one with each vector point expanded to a 2.5D "hemisphere of influence" bubbles centered over it, map value being the bubble "height", similar to r.cost or when you lose in the old Missile Command arcade game. - the second map being a categorical raster containing the vector cat which has contributed the maximum bubble at each cell. e.g. canvas_map = all zeros; loop over vector_pts { bubble_height_at_cell = some_calc(); if ( bubble_height_at_cell > canvas_map(row,col) ) { canvas_map(row,col) = bubble_height_at_cell; id_map(row,col) = current_vect_cat; } } when done the 2.5D map can be discarded. [low weight points have no area] id_map contains the vector point "of note" for that area. other ideas: - use r.param.scale to create a feature map and extract all saddle-point boundaries between the bubbles as the voronoi boundaries, (or r.slope.aspect and find areas where slope<1 deg then r.thin, r.to.vect) - use some mountain peak prominence algorithm* on the 2.5D map starting at each input vector pt. [*] http://article.gmane.org/gmane.comp.gis.grass.user/19467/ - see v.surf.icw script in addons for other radial basis function ideas for the bubbles beyond the usual IDW 1/distance^2. well, ideas are somewhat abstract/vague, but perhaps something in it. Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Jan Hartmann wrote: > >> With that in mind, if the algorithm you propose would be indeed an > >> approximation to weighted Voronoi polygons, *and* it wouldn't be all to > >> hard to implement (I have no idea about that), would it make sense to > >> propose this as a new RFC for GRASS? > >> > > > > Oops; I spoke too soon. > > > > In retrospect, this won't work. r.grow.distance relies upon the fact > > that once a cell falls out of consideration, it stays out. It will > > only consider cells which either are from the current row, or were > > used on the previous row. > > > > With distance scaling, this doesn't hold. A cell could be temporarily > > overriden by much nearer cells with increased scale factors (lower > > weights), then regain its influence once the distance increases. > > > > IOW, this isn't something which can implemented given the algorithm > > used by r.grow.distance. Any algorithm which implemented distance > > scaling would inevitably have worst-case memory usage proportional to > > the number of non-null input cells, as you can never "forget" a cell > > whose scale factor is lower than those currently being considered, as > > it will eventually regain its influence. > > Do you mean that implementing a raster version of weighted Voronoi > methods would be very inefficient, compared to vector methods, or that > it would be very difficult? I mean only that it cannot be done using the approach which r.grow.distance uses, using memory proportional to the number of columns (it uses a number of row buffers, i.e. one-dimensional arrays, with one element per column). [In any case, weighted distances won't produce polygons; at least, not for Euclidean distances. The boundary will only be a straight line if the weights are equal.] However, that doesn't meant that other algorithms wouldn't be feasible, particularly if you're only interested in typical behaviour rather than worst-case behaviour. Also, it may be possible to use the r.grow.distance approach with something other than scaling. An offset would work, optionally combined with a monotonic function of the distance (provided that it's the same for every point). -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Glynn Clements wrote: Jan Hartmann wrote: With that in mind, if the algorithm you propose would be indeed an approximation to weighted Voronoi polygons, *and* it wouldn't be all to hard to implement (I have no idea about that), would it make sense to propose this as a new RFC for GRASS? Oops; I spoke too soon. In retrospect, this won't work. r.grow.distance relies upon the fact that once a cell falls out of consideration, it stays out. It will only consider cells which either are from the current row, or were used on the previous row. With distance scaling, this doesn't hold. A cell could be temporarily overriden by much nearer cells with increased scale factors (lower weights), then regain its influence once the distance increases. IOW, this isn't something which can implemented given the algorithm used by r.grow.distance. Any algorithm which implemented distance scaling would inevitably have worst-case memory usage proportional to the number of non-null input cells, as you can never "forget" a cell whose scale factor is lower than those currently being considered, as it will eventually regain its influence. Do you mean that implementing a raster version of weighted Voronoi methods would be very inefficient, compared to vector methods, or that it would be very difficult? I have tried to see what's in the ArcGIS extension (http://portal.acm.org/citation.cfm?id=1332465, documentation at: http://www.geog.unt.edu/~pdong/software/VoronoiHelp.pdf), but the math is beyond me. If you think it would be viable to implement this in GRASS, I could have a closer look at it. These weighted Voronoi polygons are really an interesting methodology. Jan Hartmann Departmann of Geography University of Amsterdam ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Milton Cezar Ribeiro wrote: > Is there a command r.grow.distance on GRASS? > I tryed to find it on Native WinGrass, but it appears not be available, > almost on 6.3 version. It's new in 6.4/7.0. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Dear Glynn Clements Is there a command r.grow.distance on GRASS? I tryed to find it on Native WinGrass, but it appears not be available, almost on 6.3 version. Best wishes miltinho 2009/2/14 Glynn Clements > > Jan Hartmann wrote: > > > With that in mind, if the algorithm you propose would be indeed an > > approximation to weighted Voronoi polygons, *and* it wouldn't be all to > > hard to implement (I have no idea about that), would it make sense to > > propose this as a new RFC for GRASS? > > Oops; I spoke too soon. > > In retrospect, this won't work. r.grow.distance relies upon the fact > that once a cell falls out of consideration, it stays out. It will > only consider cells which either are from the current row, or were > used on the previous row. > > With distance scaling, this doesn't hold. A cell could be temporarily > overriden by much nearer cells with increased scale factors (lower > weights), then regain its influence once the distance increases. > > IOW, this isn't something which can implemented given the algorithm > used by r.grow.distance. Any algorithm which implemented distance > scaling would inevitably have worst-case memory usage proportional to > the number of non-null input cells, as you can never "forget" a cell > whose scale factor is lower than those currently being considered, as > it will eventually regain its influence. > > -- > Glynn Clements > ___ > grass-user mailing list > grass-user@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/grass-user > ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Jan Hartmann wrote: > With that in mind, if the algorithm you propose would be indeed an > approximation to weighted Voronoi polygons, *and* it wouldn't be all to > hard to implement (I have no idea about that), would it make sense to > propose this as a new RFC for GRASS? Oops; I spoke too soon. In retrospect, this won't work. r.grow.distance relies upon the fact that once a cell falls out of consideration, it stays out. It will only consider cells which either are from the current row, or were used on the previous row. With distance scaling, this doesn't hold. A cell could be temporarily overriden by much nearer cells with increased scale factors (lower weights), then regain its influence once the distance increases. IOW, this isn't something which can implemented given the algorithm used by r.grow.distance. Any algorithm which implemented distance scaling would inevitably have worst-case memory usage proportional to the number of non-null input cells, as you can never "forget" a cell whose scale factor is lower than those currently being considered, as it will eventually regain its influence. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Yes, I guess that what I meant too, you just formulate it better, in a more general way. I find this interesting, as I have experimented with weighted Voronoi polygons, but only in vector format. There is a complete book on that methodolgy: Atsuyuki Okabe, Barry Boots, Kokochi Sugihara, Sung Nok Chiu: Spatial Tesselations. Concepts and Applications of Voronoi Diagrams. Wiley, Chichester 2000. It's really fascinating to see how much you can do with this technology, not only in theory but also in practice. Of course, the vector based algorithms are hard to implement and can be very resource hungry. A lot of them are already available however: just Google on "weighted voronoi". As always, a raster based approach could be not only more efficient, but also conceptually more general. There is an ArcGIS extension available that does exactly this: see http://portal.acm.org/citation.cfm?id=1332465 With that in mind, if the algorithm you propose would be indeed an approximation to weighted Voronoi polygons, *and* it wouldn't be all to hard to implement (I have no idea about that), would it make sense to propose this as a new RFC for GRASS? Jan Glynn Clements wrote: Jan Hartmann wrote: The problem with using r.cost is that you would need to know the cost for each cell before you have created the polygons. I think that the simplest accurate approach would be to modify r.grow.distance. Do you mean: adding a metric parameter to Euclidean, Squared, Manhattan, and Maximum? Something like: compute on the basis of the value of traversed cells? I mean scale the distance by the value of the nearest non-null cell. ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Jan Hartmann wrote: > > The problem with using r.cost is that you would need to know the cost > > for each cell before you have created the polygons. > > > > I think that the simplest accurate approach would be to modify > > r.grow.distance. > > Do you mean: adding a metric parameter to Euclidean, Squared, Manhattan, > and Maximum? Something like: compute on the basis of the value of > traversed cells? I mean scale the distance by the value of the nearest non-null cell. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Lyle E. Browning wrote: > The messages from Kurt Spring and Jean Roc Morreale point to > archaeological work using GRASS. How many other > archaeologists are there on the list using GRASS. I believe quite a few, > I'd be interested in hearing about archaeological applications as I > have just begun the learning curve for my own archaeological > work. see/add to the GRASS Archeology wiki page linked from: http://grass.osgeo.org/wiki/Applications the Archeology page there is still a bit under developed & preliminary, but as it's a wiki all can help improve it. regards, Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
The messages from Kurt Spring and Jean Roc Morreale point to archaeological work using GRASS. How many other archaeologists are there on the list using GRASS. I'd be interested in hearing about archaeological applications as I have just begun the learning curve for my own archaeological work. Thanks, Lyle Browning On Feb 12, 2009, at 5:49 PM, MORREALE Jean Roc wrote: Moritz Lennert a écrit : On 12/02/09 04:15, Dylan Beaudette wrote: On Wed, Feb 11, 2009 at 5:03 PM, Dylan Beaudette wrote: On Wednesday 11 February 2009, MORREALE Jean Roc wrote: Hamish a écrit : Kurt Springs wrote: Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi While we are on this topic, is there a way to get a weigthed voronoi diagram using grass ? The ability to rank a point to tune the area's influence would be great, for that purpose I've been using an arcgis'extension* but with grass it is not possible**. Is there a way to get a similar result ? *http://www.geog.unt.edu/~pdong/software.htm **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html Regards, MORREALE Jean Roc Now that I have read about 'weighted voronoi diagrams', One version of such diagrams are Reilly surfaces [1],[2] used in retail geography to identify the influence/attraction zone of a city, often depending on population size. I didn't knew about it, I'll try look for the reference you gave thank. My aim is quite similar to your example as it consists in balancing the influence zone of a archeological settlement, not by the estimated population, but by a factor resulting from the amount of data collected (historical&material). Regards, MORREALE Jean Roc ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Moritz Lennert a écrit : On 12/02/09 04:15, Dylan Beaudette wrote: On Wed, Feb 11, 2009 at 5:03 PM, Dylan Beaudette wrote: On Wednesday 11 February 2009, MORREALE Jean Roc wrote: Hamish a écrit : Kurt Springs wrote: Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi While we are on this topic, is there a way to get a weigthed voronoi diagram using grass ? The ability to rank a point to tune the area's influence would be great, for that purpose I've been using an arcgis'extension* but with grass it is not possible**. Is there a way to get a similar result ? *http://www.geog.unt.edu/~pdong/software.htm **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html Regards, MORREALE Jean Roc Now that I have read about 'weighted voronoi diagrams', One version of such diagrams are Reilly surfaces [1],[2] used in retail geography to identify the influence/attraction zone of a city, often depending on population size. I didn't knew about it, I'll try look for the reference you gave thank. My aim is quite similar to your example as it consists in balancing the influence zone of a archeological settlement, not by the estimated population, but by a factor resulting from the amount of data collected (historical&material). Regards, MORREALE Jean Roc ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Glynn Clements wrote: Dylan Beaudette wrote: While we are on this topic, is there a way to get a weigthed voronoi diagram using grass ? The ability to rank a point to tune the area's influence would be great, for that purpose I've been using an arcgis'extension* but with grass it is not possible**. Is there a way to get a similar result ? *http://www.geog.unt.edu/~pdong/software.htm **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html Regards, MORREALE Jean Roc Now that I have read about 'weighted voronoi diagrams', I wonder if a combination of r.cost + r.mapcalc would solve this problem. Something along those lines is demonstrated here: http://casoilresource.lawr.ucdavis.edu/drupal/node/288 This example isn't quite what is requested, although using r.cost with start=point_i, and stop=neighbor_points (derived from v.delaunay / v.distance?) may work. It would then be a little more work to convert the weighted-distance rasters into polygons, and link back to the original attribute tables... but (hopefully) not outside the realm of possibility via a script. The problem with using r.cost is that you would need to know the cost for each cell before you have created the polygons. I think that the simplest accurate approach would be to modify r.grow.distance. Do you mean: adding a metric parameter to Euclidean, Squared, Manhattan, and Maximum? Something like: compute on the basis of the value of traversed cells? Jan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
On 12/02/09 04:15, Dylan Beaudette wrote: On Wed, Feb 11, 2009 at 5:03 PM, Dylan Beaudette wrote: On Wednesday 11 February 2009, MORREALE Jean Roc wrote: Hamish a écrit : Kurt Springs wrote: Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi While we are on this topic, is there a way to get a weigthed voronoi diagram using grass ? The ability to rank a point to tune the area's influence would be great, for that purpose I've been using an arcgis'extension* but with grass it is not possible**. Is there a way to get a similar result ? *http://www.geog.unt.edu/~pdong/software.htm **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html Regards, MORREALE Jean Roc Now that I have read about 'weighted voronoi diagrams', One version of such diagrams are Reilly surfaces [1],[2] used in retail geography to identify the influence/attraction zone of a city, often depending on population size. I wonder if a combination of r.cost + r.mapcalc would solve this problem. Something along those lines is demonstrated here: http://casoilresource.lawr.ucdavis.edu/drupal/node/288 This example isn't quite what is requested, although using r.cost with start=point_i, and stop=neighbor_points (derived from v.delaunay / v.distance?) may work. It would then be a little more work to convert the weighted-distance rasters into polygons, and link back to the original attribute tables... but (hopefully) not outside the realm of possibility via a script. This actually raises the same question as [3] about attributing pixels to closest neighbors (where "closest" can obviously be weighted). I think such a functionality would be very useful. Moritz [1] Reilly, W.J. (1929) Methods for the study of retail relationships, University of Texas, Bulletin, 2944. [2] Reilly, W.J. (1931) The law of retail gravitation, New York. [3] http://lists.osgeo.org/pipermail/grass-user/2009-January/048585.html ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Dylan Beaudette wrote: > >> >> Does anyone know how to do Thiessen Polygons in GRASS? > >> >> > >> >> I need to use them around various types of megalithic tomb > >> >> sites that are in point vector files. > >> > > >> > v.voronoi > >> > > >> > > >> > there is some replacement test code to look at in grass-addons as well: > >> > http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi > >> > >> While we are on this topic, is there a way to get a weigthed voronoi > >> diagram using grass ? > >> > >> The ability to rank a point to tune the area's influence would be great, > >> for that purpose I've been using an arcgis'extension* but with grass it > >> is not possible**. Is there a way to get a similar result ? > >> > >> *http://www.geog.unt.edu/~pdong/software.htm > >> **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html > >> > >> Regards, > >> MORREALE Jean Roc > > Now that I have read about 'weighted voronoi diagrams', I wonder if a > combination of r.cost + r.mapcalc would solve this problem. Something > along those lines is demonstrated here: > > http://casoilresource.lawr.ucdavis.edu/drupal/node/288 > > This example isn't quite what is requested, although using r.cost with > start=point_i, and stop=neighbor_points (derived from v.delaunay / > v.distance?) may work. It would then be a little more work to convert > the weighted-distance rasters into polygons, and link back to the > original attribute tables... but (hopefully) not outside the realm of > possibility via a script. The problem with using r.cost is that you would need to know the cost for each cell before you have created the polygons. I think that the simplest accurate approach would be to modify r.grow.distance. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
On Wed, Feb 11, 2009 at 5:03 PM, Dylan Beaudette wrote: > On Wednesday 11 February 2009, MORREALE Jean Roc wrote: >> Hamish a écrit : >> > Kurt Springs wrote: >> >> Does anyone know how to do Thiessen Polygons in GRASS? >> >> >> >> I need to use them around various types of megalithic tomb >> >> sites that are in point vector files. >> > >> > v.voronoi >> > >> > >> > there is some replacement test code to look at in grass-addons as well: >> > http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi >> >> While we are on this topic, is there a way to get a weigthed voronoi >> diagram using grass ? >> >> The ability to rank a point to tune the area's influence would be great, >> for that purpose I've been using an arcgis'extension* but with grass it >> is not possible**. Is there a way to get a similar result ? >> >> *http://www.geog.unt.edu/~pdong/software.htm >> **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html >> >> Regards, >> MORREALE Jean Roc > Now that I have read about 'weighted voronoi diagrams', I wonder if a combination of r.cost + r.mapcalc would solve this problem. Something along those lines is demonstrated here: http://casoilresource.lawr.ucdavis.edu/drupal/node/288 This example isn't quite what is requested, although using r.cost with start=point_i, and stop=neighbor_points (derived from v.delaunay / v.distance?) may work. It would then be a little more work to convert the weighted-distance rasters into polygons, and link back to the original attribute tables... but (hopefully) not outside the realm of possibility via a script. Cheers, Dylan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
On Wed, Feb 11, 2009 at 5:03 PM, Dylan Beaudette wrote: > On Wednesday 11 February 2009, MORREALE Jean Roc wrote: >> Hamish a écrit : >> > Kurt Springs wrote: >> >> Does anyone know how to do Thiessen Polygons in GRASS? >> >> >> >> I need to use them around various types of megalithic tomb >> >> sites that are in point vector files. >> > >> > v.voronoi >> > >> > >> > there is some replacement test code to look at in grass-addons as well: >> > http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi >> >> While we are on this topic, is there a way to get a weigthed voronoi >> diagram using grass ? >> >> The ability to rank a point to tune the area's influence would be great, >> for that purpose I've been using an arcgis'extension* but with grass it >> is not possible**. Is there a way to get a similar result ? >> >> *http://www.geog.unt.edu/~pdong/software.htm >> **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html >> >> Regards, >> MORREALE Jean Roc > Strike that. Link appears to work and RTFM-ing the user guide... Dylan ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
On Wednesday 11 February 2009, MORREALE Jean Roc wrote: > Hamish a écrit : > > Kurt Springs wrote: > >> Does anyone know how to do Thiessen Polygons in GRASS? > >> > >> I need to use them around various types of megalithic tomb > >> sites that are in point vector files. > > > > v.voronoi > > > > > > there is some replacement test code to look at in grass-addons as well: > > http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi > > While we are on this topic, is there a way to get a weigthed voronoi > diagram using grass ? > > The ability to rank a point to tune the area's influence would be great, > for that purpose I've been using an arcgis'extension* but with grass it > is not possible**. Is there a way to get a similar result ? > > *http://www.geog.unt.edu/~pdong/software.htm > **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html > > Regards, > MORREALE Jean Roc What exactly is a 'weighted voronoi diagram' (the link does not work)? If you are after a weighted network connecting points, here is one approach: http://casoilresource.lawr.ucdavis.edu/drupal/node/698 Dylan -- Dylan Beaudette Soil Resource Laboratory http://casoilresource.lawr.ucdavis.edu/ University of California at Davis 530.754.7341 ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Hamish a écrit : Kurt Springs wrote: Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi While we are on this topic, is there a way to get a weigthed voronoi diagram using grass ? The ability to rank a point to tune the area's influence would be great, for that purpose I've been using an arcgis'extension* but with grass it is not possible**. Is there a way to get a similar result ? *http://www.geog.unt.edu/~pdong/software.htm **http://osdir.com/ml/gis.grass.user/2004-04/msg00036.html Regards, MORREALE Jean Roc ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
That did the trick. Thanks Hamish Kurt On Feb 10, 2009, at 6:47 PM, Hamish wrote: Kurt Springs wrote: Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Kurt Springs wrote: > Does anyone know how to do Thiessen Polygons in GRASS? > > I need to use them around various types of megalithic tomb > sites that are in point vector files. v.voronoi there is some replacement test code to look at in grass-addons as well: http://trac.osgeo.org/grass/browser/grass-addons/vector/voronoi Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Thiessen Polygons
Try v.surf.idw Cheers Harald Kurt Springs wrote: Hi folks, Does anyone know how to do Thiessen Polygons in GRASS? I need to use them around various types of megalithic tomb sites that are in point vector files. Thanks for any help you can give. Kurt ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user -- --- Harald Hofmann PhD Candidate - Hydrogeology School of Geosciences Bldg 28 Monash University Clayton Campus Wellington Road VIC 3800 Australia harald.hofm...@sci.monash.edu.au Office: +61 3 9905 5786 Fax:+61 3 9905 4903 ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user