[postgis-users] [postgis-devel] Problem in st_StriaghtSkeleton - Hangs!

Stephen Woodbridge woodbri at swoodbridge.com
Wed Jan 17 17:21:24 PST 2018


Hi Regina,

Thanks, this is a great idea. I rework my queries to work in 
ST_ApproximateMedialAxis and ST_SubDivide and see how that does.

-Steve

On 1/17/2018 8:13 PM, Regina Obe wrote:
> Steve,
> 
> One more thought.  Can you try this and see if it works.  I think ST_StraightSkeleton and ST_ApproximateMedialAxis are having issues, because in this case your holes are so big that it almost cuts into another.
> 
> So to work around the issue, you can subdivide the polygon and then do the analyze like this:
> 
> SELECT  ST_ApproximateMedialAxis(ST_SubDivide('POLYGON((256 760,518 760,518 630,674 630,674
> 239,673 239,127 239,127 240,126 240,126 513,127 513,127 514,126 514,126
> 630,255 630,256 630,256 760),(128 629,128 423,270 423,270 422,271
> 422,271 240,672 240,672 629,128 629),(258 759,258 631,516 631,516
> 759,258 759),(128 421,128 240,269 240,269 421,128 421))'::geometry, 12));
> 
> You might need to tweak with the subdivide param.
> 
> http://postgis.net/docs/manual-dev/ST_Subdivide.html
> 
> The subdivide cuts right into the holes turning them not into holes so you end up with simple polygons that approximate medial axis can handle.
> 
> Once you are done you can run ST_Union on your set of Linestrings.
> 
> 
> 
> 
> 
> -----Original Message-----
> From: postgis-devel [mailto:postgis-devel-bounces at lists.osgeo.org] On Behalf Of Stephen Woodbridge
> Sent: Wednesday, January 17, 2018 2:47 PM
> To: PostGIS Development Discussion <postgis-devel at lists.osgeo.org>
> Subject: [postgis-devel] Problem in st_StriaghtSkeleton - Hangs!
> 
> Hi all,
> 
> I have run into a problem using st_StraightSkelton() where it appears to hang at 100 cpu. Maybe an endless loop?
> 
> select st_straightskeleton('POLYGON((256 760,518 760,518 630,674 630,674
> 239,673 239,127 239,127 240,126 240,126 513,127 513,127 514,126 514,126
> 630,255 630,256 630,256 760),(128 629,128 423,270 423,270 422,271
> 422,271 240,672 240,672 629,128 629),(258 759,258 631,516 631,516
> 759,258 759),(128 421,128 240,269 240,269 421,128 421))'::geometry);
> 
> POSTGIS="2.3.3 r15473" GEOS="3.5.1-CAPI-1.9.1 r4246" SFCGAL="1.2.2"
> PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 1.11.3, released 2015/09/16" LIBXML="2.9.3" LIBJSON="0.11.99" RASTER
> 
> Can anyone reproduce this?
> Any idea how to work around it?
> 
> Is there a non-CGAL version of skeleton?
> 
> Thanks,
>     -Steve
> 
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
> 
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-devel
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-users
> 



More information about the postgis-users mailing list