[pgrouting-users] Bug in pgr_pointsasPolygon

I think I may have found an issue with the pgr_pointsasPolygon function

I have a collection off points, I have assumed that the pgr_pointsasPolygon would draw a bounding polygon around all the points.

What seems to happen is that I get two very small polygon generated

Example as follows

insert into bug_output(the_geom) select st_setsrid(the_geom,3857) from pgr_pointsasPolygon(‘select id, st_x(the_geom) as x, st_y(the_geom) as y from bug_input’,0) as the_geom ;

Two small polygons generated

I try the following
insert into bug_output(the_geom) select st_multi((st_convexhull(st_collect(the_geom)))) from bug_input;

I get only large bounding polygon

I have checked the results with qgis

IF I have made a mistake please tell me
(dump of bug_input table attached)

Dave

bug.sql (22.9 KB)

Hello Dave,

I must note that pgr_pointsAsPolygon calls pgr_alphaShape internally. So you might be getting an alpha shape.
Might be confising giving the fact that you want a polygon not an alpha shape.
The revision of both functions is still pending, that is: those have not being rewritten to match the code’s standards that its being implemented during the 2.x series of pgRouting.
Can you post the found bug in github issues please. So when the rewrite is done we don’t forget to cover the issue.

On the mean time I will try to replicate with the file you sent

regards

Vicky

···

On Fri, Feb 24, 2017 at 1:44 AM, Dave Potts <mrdapotts@gmail.com> wrote:

I think I may have found an issue with the pgr_pointsasPolygon function

I have a collection off points, I have assumed that the pgr_pointsasPolygon would draw a bounding polygon around all the points.

What seems to happen is that I get two very small polygon generated

Example as follows

insert into bug_output(the_geom) select st_setsrid(the_geom,3857) from pgr_pointsasPolygon(‘select id, st_x(the_geom) as x, st_y(the_geom) as y from bug_input’,0) as the_geom ;

Two small polygons generated

I try the following
insert into bug_output(the_geom) select st_multi((st_convexhull(st_collect(the_geom)))) from bug_input;

I get only large bounding polygon

I have checked the results with qgis

IF I have made a mistake please tell me
(dump of bug_input table attached)

Dave


Pgrouting-users mailing list
Pgrouting-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/pgrouting-users

Georepublic UG (haftungsbeschränkt)
Salzmannstraße 44, 
81739 München, Germany

Vicky Vergara
Operations Research

eMail: vicky@[georepublic.de](http://georepublic.de)
Web: [https://georepublic.info](https://georepublic.info)

Tel: +49 (089) 4161 7698-1
Fax: +49 (089) 4161 7698-9

Commercial register: Amtsgericht München, HRB 181428
CEO: Daniel Kastl