st_concav_hull : error message & speed up the process?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

st_concav_hull : error message & speed up the process?

Image
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 **********
__________________________________________________________________________________________________________________

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users