Opened 6 years ago

Closed 4 years ago

#4258 closed enhancement (fixed)

Untangle SFCGAL into its own .so

Reported by: komzpa Owned by: hmercier
Priority: medium Milestone: PostGIS 3.1.0
Component: postgis Version: master
Keywords: Cc:

Description

Per https://lists.osgeo.org/pipermail/postgis-devel/2018-November/027509.html

1. we remove branching on postgis/sfcgal for same functions. They always go to postgis.
2. if SFCGAL func version adds some value or behavior change, we untangle them by names (not just adding _SFCGAL, but semantic difference) and put sfcgal version into postgis_sfcgal extension.
3. functions like ST_StraightSkeleton skeleton straight to postgis_sfcgal.so.
4. postgis.so has no linkage to sfcgal.
5. postgis_sfcgal.so may have linkage to whatever it needs.
6. if there is a difference in implementation (postgis knows no TIN, sfcgal knows no curve) that goes to each of untangled function's manual entry.

Change History (21)

comment:1 by komzpa, 6 years ago

Hugo Mercier <hugo.mercier@…>:

what about something like ST_3DIntersection()
that becomes ST_3DMeshIntersection() + ST_3DVolumeIntersection() in
postgis_sfcgal.so ? With similar prefix "mesh" and "volume" for union,
difference, intersects.

comment:2 by pramsey, 6 years ago

I like that, nice distinction.

comment:3 by hmercier, 6 years ago

"Surface" rather than "Mesh" is probably even better.

And OGC Simple Features speaks about "Solid" geometries rather than "Volume".

comment:4 by komzpa, 6 years ago

In 17092:

SFCGAL: remove ST_Area SFCGAL implementation

References #4258
Closes https://github.com/postgis/postgis/pull/345

comment:5 by komzpa, 6 years ago

In 17093:

[format] clang-format files touched in SFCGAL relayout

References #4258

comment:6 by komzpa, 6 years ago

In 17094:

Remove SFCGAL ST_Distance

References #4258
Closes https://github.com/postgis/postgis/pull/347

comment:7 by komzpa, 6 years ago

In 17100:

Remove SFCGAL 2D overlay functions.

References #4258
Closes https://github.com/postgis/postgis/pull/350

comment:8 by komzpa, 6 years ago

In 17101:

Remove tickets.sql for SFCGAL.

They're same as geos now anyway, no need to test twice.

References #4258

comment:9 by komzpa, 6 years ago

In 17102:

Remove SFCGAL concave_hull tests.

References #4258

comment:10 by hmercier, 6 years ago

I've added a Pull Request on github for the implementation of the new Surface / Solid functions. Tell me if you prefer a patch file

https://github.com/postgis/postgis/pull/351

comment:11 by komzpa, 6 years ago

Hello Hugo, could you please read/reply/address the comments on the Pull request?

comment:12 by hmercier, 6 years ago

Sure, but … I don't see any comments …

comment:13 by komzpa, 6 years ago

Whoops. Looks like github holds them up until you press "submit review", this wasn't this way previously. Can you see them now?

comment:14 by hmercier, 6 years ago

Yes, thanks. I'll have a look

comment:15 by pramsey, 5 years ago

Owner: changed from pramsey to hmercier

comment:16 by komzpa, 5 years ago

In 17263:

Remove postgis.backend switch and SFCGAL versions of functions that have both versions.

Causes #4328

References #4258
Closes https://github.com/postgis/postgis/pull/374

comment:17 by robe, 5 years ago

anything holding this one up — I still see that sfcgal is not a separate postgis_sfcgal yet.

comment:18 by pramsey, 5 years ago

Resolution: fixed
Status: newclosed

comment:19 by robe, 4 years ago

Milestone: PostGIS 3.0.0PostGIS 3.1.0
Resolution: fixed
Status: closedreopened

I still see only one .so - a postgis-3.so (no postgis_sfcgal.so). This seems to have been never completed

comment:20 by robe, 4 years ago

Okay I have a pull request now - which I think works. I'll do a garden test before I push into master

Pull request here for anyone that wants to try it.

https://git.osgeo.org/gitea/postgis/postgis/pulls/48

comment:21 by Regina Obe <lr@…>, 4 years ago

Resolution: fixed
Status: reopenedclosed

In 962ef92/git:

Split postgis-sfcgal lib from postgis lib, closes #4258

closes https://git.osgeo.org/gitea/postgis/postgis/pulls/48

Note: See TracTickets for help on using tickets.