[GRASS-user] Strange behavior with v.patch

Hi,

In attempting to patch two polygon layers I am confused as to the the results i am getting. My understanding of v.patch is that it would be similar to a union operator in SQL (not a spatial union) wherein rows of one or many tables are concatenated to a new table. However, the results i’m getting are not in aligned with that expectation.

Here is a link to an image of the two tables (one orange, one green) (https://pasteboard.co/GXjWm6P.png )

The second image ( https://pasteboard.co/GXjVSQE.png) is a result of

combine all clustered polygons into one table

gsc.parse_command(‘v.patch’,
flags = ‘e’,
overwrite = True,
verbose= True,
input = , ,
output = ssPoly)

The blue represents the result of the v.patch command. I don’t understand why all of the area covered by the two source vectors is not covered in the patched vector.

My only thought it it has something to do with the categories, or keys?

Thanks in advance for any guidance.

Peter

On Fri, Dec 8, 2017 at 11:46 PM, Peter Tittmann <ptittmann@gmail.com> wrote:

Hi,

In attempting to patch two polygon layers I am confused as to the the results i am getting. My understanding of v.patch is that it would be similar to a union operator in SQL (not a spatial union) wherein rows of one or many tables are concatenated to a new table. However, the results i’m getting are not in aligned with that expectation.

Here is a link to an image of the two tables (one orange, one green) (https://pasteboard.co/GXjWm6P.png )

The second image ( https://pasteboard.co/GXjVSQE.png) is a result of

combine all clustered polygons into one table

gsc.parse_command(‘v.patch’,
flags = ‘e’,
overwrite = True,
verbose= True,
input = , ,
output = ssPoly)

The blue represents the result of the v.patch command. I don’t understand why all of the area covered by the two source vectors is not covered in the patched vector.

You have patched two area vectors together and the output contains most likely topological errors. Try to clean the output of v.patch with v.clean -c tool=break type=boundary.

HTH,

Markus M

My only thought it it has something to do with the categories, or keys?

Thanks in advance for any guidance.

Peter


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

Thanks, Markus. That solves the problem.

On Sat, Dec 9, 2017, 8:33 AM Markus Metz <markus.metz.giswork@gmail.com> wrote:

On Fri, Dec 8, 2017 at 11:46 PM, Peter Tittmann <ptittmann@gmail.com> wrote:

Hi,

In attempting to patch two polygon layers I am confused as to the the results i am getting. My understanding of v.patch is that it would be similar to a union operator in SQL (not a spatial union) wherein rows of one or many tables are concatenated to a new table. However, the results i’m getting are not in aligned with that expectation.

Here is a link to an image of the two tables (one orange, one green) (https://pasteboard.co/GXjWm6P.png )

The second image ( https://pasteboard.co/GXjVSQE.png) is a result of

combine all clustered polygons into one table

gsc.parse_command(‘v.patch’,
flags = ‘e’,
overwrite = True,
verbose= True,
input = , ,
output = ssPoly)

The blue represents the result of the v.patch command. I don’t understand why all of the area covered by the two source vectors is not covered in the patched vector.

You have patched two area vectors together and the output contains most likely topological errors. Try to clean the output of v.patch with v.clean -c tool=break type=boundary.

HTH,

Markus M

My only thought it it has something to do with the categories, or keys?

Thanks in advance for any guidance.

Peter


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