[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