[GRASS-user] v.overlay missing polygon

Dear List,

I have encountered some problems when using v.overlay on polygon maps (and also v.patch): There are some polygons missing in the output map that should not be missing. And there are polygons there that should not be there.

I have two theories for this problem:

1. The input data (either ainput or binput or both) has geometry errors

2. Data set ainput and binput "almost" share some boundaries.
This can happen, when someone creates an new vector map and uses an existing one as a basis. He would then digitize manually along a boundary of the base map and produce an inexactly overlaying new boundary.
My theory in this case is that when using v.overlay on these two data sets the inexactly created boundaries result in many very small intersections which again result in wrong geometries.
I'm not sure about this, it's just a theory.

In my case I have used the following command to overlay my vector maps:

v.overlay ainput=veg atype=area binput=plot btype=area output=res_overlay operator=and

You can find the data I have used at:

http://dl.dropbox.com/u/1542545/data_overlay.zip

My system components are:
GIS: GRASS GIS 6.4.1
OS: openSUSE 11.3 (x86_64)

I checked the geometries using ftools in QGIS. There seem to be no geometry errors in these data sets. So I am focused on my second theory.
I use GRASS GIS in a quite large project where I can't choose the data sets I am working with. I came across this problem more than once so far and I hope that I am missing something or that there is a solution to this.

I would be thankful if someone could spare the time and have a look at my data.

Falko

Falko, just an idea :
for theory 2, perhaps can you try to clean either a or b map, by
snapping boundaries vertices over each other :
v.edit map=a bgmap=b type=boundary tool=snap snap=vertex thres=...

Vincent.

Le lundi 12 mars 2012 à 17:11 +0100, Falko Engel a écrit :

Dear List,

I have encountered some problems when using v.overlay on polygon maps
(and also v.patch): There are some polygons missing in the output map
that should not be missing. And there are polygons there that should not
be there.

I have two theories for this problem:

1. The input data (either ainput or binput or both) has geometry errors

2. Data set ainput and binput "almost" share some boundaries.
This can happen, when someone creates an new vector map and uses an
existing one as a basis. He would then digitize manually along a
boundary of the base map and produce an inexactly overlaying new boundary.
My theory in this case is that when using v.overlay on these two data
sets the inexactly created boundaries result in many very small
intersections which again result in wrong geometries.
I'm not sure about this, it's just a theory.

In my case I have used the following command to overlay my vector maps:

v.overlay ainput=veg atype=area binput=plot btype=area
output=res_overlay operator=and

You can find the data I have used at:

http://dl.dropbox.com/u/1542545/data_overlay.zip

My system components are:
GIS: GRASS GIS 6.4.1
OS: openSUSE 11.3 (x86_64)

I checked the geometries using ftools in QGIS. There seem to be no
geometry errors in these data sets. So I am focused on my second theory.
I use GRASS GIS in a quite large project where I can't choose the data
sets I am working with. I came across this problem more than once so far
and I hope that I am missing something or that there is a solution to this.

I would be thankful if someone could spare the time and have a look at
my data.

Falko

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Am 12.03.2012 17:28, schrieb Vincent Bain:

Falko, just an idea :
for theory 2, perhaps can you try to clean either a or b map, by
snapping boundaries vertices over each other :
v.edit map=a bgmap=b type=boundary tool=snap snap=vertex thres=...

Vincent.

Le lundi 12 mars 2012 à 17:11 +0100, Falko Engel a écrit :

Dear List,

I have encountered some problems when using v.overlay on polygon maps
(and also v.patch): There are some polygons missing in the output map
that should not be missing. And there are polygons there that should not
be there.

I have two theories for this problem:

1. The input data (either ainput or binput or both) has geometry errors

2. Data set ainput and binput "almost" share some boundaries.
This can happen, when someone creates an new vector map and uses an
existing one as a basis. He would then digitize manually along a
boundary of the base map and produce an inexactly overlaying new boundary.
My theory in this case is that when using v.overlay on these two data
sets the inexactly created boundaries result in many very small
intersections which again result in wrong geometries.
I'm not sure about this, it's just a theory.

In my case I have used the following command to overlay my vector maps:

v.overlay ainput=veg atype=area binput=plot btype=area
output=res_overlay operator=and

You can find the data I have used at:

http://dl.dropbox.com/u/1542545/data_overlay.zip

My system components are:
GIS: GRASS GIS 6.4.1
OS: openSUSE 11.3 (x86_64)

I checked the geometries using ftools in QGIS. There seem to be no
geometry errors in these data sets. So I am focused on my second theory.
I use GRASS GIS in a quite large project where I can't choose the data
sets I am working with. I came across this problem more than once so far
and I hope that I am missing something or that there is a solution to this.

I would be thankful if someone could spare the time and have a look at
my data.

Falko

_______________________________________________
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

Dear Vincent,

thanks for your idea. I wasn't aware of the possibility to snap a vector map to another one. Good thing to know!
However, it didn't solve my problem.
Actually, I checked the data with respect to my theory 2 again, and I must say: Visually it seems, that in this case the two data sets I would like to overlay match perfectly concerning the boundaries. The theory might be wrong.

I did some further testing:

Even if I isolate the polygon that disappears in the overlay process

v.extract input=veg output=veg_137 list=137

and use it for the overlay

v.overlay ainput=plot atype=area binput=veg_137 btype=area operator=and output=res_137_and

the result is erroneous. Nothing new, but still very strange.

Tricky. I am puzzled and need to get home :wink:

Falko