[postgis-users] st_concav_hull : error message & speed up the process?

celati Laurent laurent.celati at gmail.com
Tue Mar 21 08:54:51 PDT 2017


Dear all,

>From a lidar las file (cloud Point), i converted the raw .las file toward a
shapefile thanks to lastools (las2shp). Then, i  imported the MULTI POINT
cover (109 rows) file into a postgis db.

In a first time, my goal is to generate for each row, a concave hull. I
succeed in launching ST_ConcaveHull with 0.5 value (parameter):
http://postgis.net/docs/ST_ConcaveHull.html with 0.5 value (parameter) :

CREATE TABLE concavehull050 AS
SELECT ST_ConcaveHull(geom,0.50,false)
FROM butes_cloud;


1/But the request was executed in 32 minutes! According to you, is there a
way to speed up the process time? For information, before to run the query,
i well created an index spatial on my table "cloud points" (index on geom
column)

2/ But when i try to run the query with a lower value (0 or 0.1 or 0.2),
the following error message appears via pgadmin. The reason seems to be
topologic... Have you got an idea regarding the reason? Do you know a
solution? Thank you very much...
____________________________________________________________
_______________________________________________
ERREUR:  GEOSUnion: TopologyException: Input geom 0 is invalid:
Self-intersection at or near point 744505.79626910388 8440591.6963466257 at
744505.79626910388 8440591.6963466257
CONTEXT:  fonction PL/pgsql st_concavehull(geometry,double
precision,boolean), ligne 111 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[i],least(param_pctconvex +
param_pctconvex/var_div),true), var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
109 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[i],least(param_pctconvex +
param_pctconvex/var_div),true), var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
109 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[i],least(param_pctconvex +
param_pctconvex/var_div),true), var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
109 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[i],least(param_pctconvex +
param_pctconvex/var_div),true), var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
109 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[1],least(param_pctconvex +
param_pctconvex/var_div),true),var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
107 à affectation
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
109 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[1],least(param_pctconvex +
param_pctconvex/var_div),true),var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
107 à affectation
instruction SQL « SELECT public.ST_Buffer(public.ST_
ConcaveHull(var_geoms[1],least(param_pctconvex +
param_pctconvex/var_div),true),var_buf, 'quad_segs=2') »
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
107 à affectation
fonction PL/pgsql st_concavehull(geometry,double precision,boolean), ligne
107 à affectation
********** Error **********
____________________________________________________________
______________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20170321/06eb0aa7/attachment.html>


More information about the postgis-users mailing list