[GRASS-user] Apply "v.transform" in polygons with overlays

Moritz Lennert mlennert at club.worldonline.be
Tue Feb 26 05:51:32 PST 2013


On 26/02/13 13:50, Benjamin Ducke wrote:
> On 02/26/2013 01:32 PM, José María Michia Roberts wrote:
>> José María Michia Roberts:
>>> [...]
>>> many elements disappear after importing the layer,
>>> and more elements disappear after applying "v.transform"
>>> [...]
>>
>> In reply to myself: I now remember that I had solve this by adding
>> "-c" to "v.in.ogr", so the output layer is not cleaned and all source
>> elements are imported. But "v.transform" don't have such option. ¿May
>> be this implemented? ¿May be useful?
>
> Many GRASS modules expect topologically
> clean input data ("level 2" data).
> The cleaning functions will run automatically
> if the data is not clean.
>
> A "fix" might be to introduce a new GRASS env
> variable that can be set to suppress the cleaning
> functions. While it would probably be trivial to
> implement this, it would also break with GRASS'
> basic design and the assumptions that its vector
> processing modules make (namely that the input
> data is topologically correct).

-1

I'm strongly opposed to that option. As you mention, this would 
fundamentally undermine the data logic in GRASS.

To answer José's issue: If you want to keep on working in GRASS, you 
should not try to do so with overlapping polygones.

If all you want to do in GRASS is v.transform, you should be able to 
import with cleaning. Wherever there is overlap, you will get new 
polygones which have all the category numbers of the original polygones. 
You can then v.transform the file and if you need to get the original 
polygones you should be able reconstruct them based on the common 
category numbers.

Moritz


More information about the grass-user mailing list