[postgis-devel] For PostGIS 2.2 moving forward make liblwgeom compatible between micro releases

a.furieri at lqt.it a.furieri at lqt.it
Mon Aug 3 12:23:18 PDT 2015


On Mon, 3 Aug 2015 13:30:10 -0400, Paragon Corporation wrote:
> Isn't ST_MakeValid, ST_Segmentize, and ST_Node inherited from GEOS?
>

Hi Regina,

unhappily reality is a little bit more complex than this:

- MakeValid do actually depends on GEOS; anyway the complete
   implementation of MakeValid requires about thousand lines
   of C code provided by liblwgeom itself.
   (lwgeom_geos_clean.c source)

- more or less the same is for Node and Split: both them depend
   someway on GEOS, anyway liblwgeom adds some further thousand
   lines of supporting C code.
   (lwgeom_geos_node.c and lwgeom_geos_split.c sources)

- Segmentize / Desegmentize does not depend at all on GEOS; all
   this stuff is internally implemented in liblwgeom, and exactly
   by the lwsegmentize.c source (800+ C lines)


> So I fail to see the usefulness of having to go thru liblwgeom 
> instead of using
> these directly via GEOS unless GEOS becomes liblwgeom (and then we 
> are back
> to where we were)
>

GEOS alone can't directly support this kind of "advanced" operations;
liblwgeom introduces a further added value, and such an added value
isn't at all marginal because it effectively consists in several
thousands lines of well established and thoroughly tested code.
so a real problem surely exists.

bye Sandro




More information about the postgis-devel mailing list