[PostGIS] #5405: Reexpose SFCGAL ST_3DIntersects and ST_3DDistance perhaps as CG_3DIntersects, CG_3DDistance, CG_3DIntersection (was: Reexpose SFCGAL ST_3DIntersects and ST_3DDistance perhaps as SC_3DIntersects, SC_3DDistance)

PostGIS trac at osgeo.org
Thu Nov 9 08:17:42 PST 2023


#5405: Reexpose SFCGAL ST_3DIntersects and ST_3DDistance perhaps as
CG_3DIntersects, CG_3DDistance, CG_3DIntersection
--------------------------+---------------------------
  Reporter:  robe         |      Owner:  robe
      Type:  enhancement  |     Status:  new
  Priority:  medium       |  Milestone:  PostGIS 3.5.0
 Component:  sfcgal       |    Version:  master
Resolution:               |   Keywords:
--------------------------+---------------------------
Changes (by robe):

 * version:  3.3.x => master
 * type:  defect => enhancement
 * summary:
     Reexpose SFCGAL ST_3DIntersects and ST_3DDistance perhaps as
     SC_3DIntersects, SC_3DDistance
     =>
     Reexpose SFCGAL ST_3DIntersects and ST_3DDistance perhaps as
     CG_3DIntersects, CG_3DDistance, CG_3DIntersection


Old description:

> There were several functions we got rid of when we removed the backend
> GUC in postgis.  These were functions that had the same name in both
> PostGIS proper and SFCGAL, but hte SFCGAL variant would take oever when
> you did
>
> set postgis.backend=sfcgal
>
> From the 3.0 credits here is what we have
>

> {{{
> ST_3DDistance - Changed: 3.0.0 - SFCGAL version removed Returns the 3D
> cartesian minimum distance (based on spatial ref) between two geometries
> in projected units.
>
> ST_3DIntersects - Changed: 3.0.0 SFCGAL backend removed, GEOS backend
> supports TINs. Returns TRUE if the Geometries "spatially intersect" in 3D
> - only for points, linestrings, polygons, polyhedral surface (area).
>
> ST_Intersection - Changed: 3.0.0 does not depend on SFCGAL. (T)Returns a
> geometry that represents the shared portion of geomA and geomB.
> ST_Intersects - Changed: 3.0.0 SFCGAL version removed. Returns TRUE if
> the Geometries/Geography "spatially intersect in 2D" - (share any portion
> of space) and FALSE if they don't (they are Disjoint). For geography
> tolerance is 0.00001 meters (so any points that close are considered to
> intersect)
> }}}
>
> I don't think there is a need to reexpose ST_Intersection and
> ST_Intersects as I think that was mostly to handle 2D TINS which don't
> have a solid counterpart.
>
> I think ST_3DDistance and ST_3DIntersects that SFCGAL provided are still
> useful for true surfaces that are solids.
>
> I don't think we settled on a prefix for these.  I was thinking SC or SG
> or CG.

New description:

 There were several functions we got rid of when we removed the backend GUC
 in postgis.  These were functions that had the same name in both PostGIS
 proper and SFCGAL, but hte SFCGAL variant would take oever when you did

 set postgis.backend=sfcgal

 From the 3.0 credits here is what we have


 {{{
 ST_3DDistance - Changed: 3.0.0 - SFCGAL version removed Returns the 3D
 cartesian minimum distance (based on spatial ref) between two geometries
 in projected units.

 ST_3DIntersects - Changed: 3.0.0 SFCGAL backend removed, GEOS backend
 supports TINs. Returns TRUE if the Geometries "spatially intersect" in 3D
 - only for points, linestrings, polygons, polyhedral surface (area).

 ST_Intersection - Changed: 3.0.0 does not depend on SFCGAL. (T)Returns a
 geometry that represents the shared portion of geomA and geomB.
 ST_Intersects - Changed: 3.0.0 SFCGAL version removed. Returns TRUE if the
 Geometries/Geography "spatially intersect in 2D" - (share any portion of
 space) and FALSE if they don't (they are Disjoint). For geography
 tolerance is 0.00001 meters (so any points that close are considered to
 intersect)
 }}}

 I don't think there is a need to reexpose ST_Intersection and
 ST_Intersects as I think that was mostly to handle 2D TINS which don't
 have a solid counterpart.

 I think ST_3DDistance and ST_3DIntersects that SFCGAL provided are still
 useful for true surfaces that are solids.

 I don't think we settled on a prefix for these.  I was thinking SC or SG
 or CG.

 I'm adding the CG_3DIntersection even though we don't have an overlap yet
 between PostGIS and SFCGAL. This one I think we should deprecate the old
 and have the new name, but keep both for now, until if (GEOS or PostGIS
 proper offers a ST_3DIntersection)

--
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5405#comment:1>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list