[postgis-devel] SFCGAL ST_3DIntersects and ST_3DIntersection only does surface intersection

Paragon Corporation lr at pcorp.us
Thu Mar 5 20:02:44 PST 2015


I thought that in PostGIS 2.2 that if I used the ST_Extrude functions, then
the solid bit would be set and the 3D intersection I would get would be more
than a surface intersection.

I guess I was mistaken as suggested by this exercise.

set postgis.backend = sfcgal;
WITH pa AS ( SELECT
ST_Extrude(ST_Force3D(ST_GeomFromText('MULTIPOLYGON(((6011980.6923649
2117710.26819432,6011983.40466805 2117690.92097183,
6011988.97899699 2117691.72493859,6012014.67481019
2117512.89736198,6011838.71290818 2117490.73975961,6011813.97754787
2117666.48492323,
6011961.83622488 2117687.8102276,6011958.87617183
2117707.03845887,6011980.6923649 2117710.26819432)))',2227)),0,0,860) As
geom ),
drone As ( SELECT 
    ST_Translate( 
        ST_Force3D( 
            ST_Buffer(ST_Transform(ST_GeomFromText('POINT(-122.4028
37.7952)',4326),2227),2) ),
        0, 0, z) As geom, z
 FROM generate_series(500,1000, 500) As z )
SELECT z, ST_AsText(ST_3DIntersection(drone.geom, pa.geom))
FROM drone , pa;


Which outputs:

500;GEOMETRYCOLLECTION EMPTY
1000;GEOMETRYCOLLECTION EMPTY


Is this going to change once the ST_MakeSolid function is introduced, and on
an additional note when can we expect that to land as discussed in:

http://lists.osgeo.org/pipermail/postgis-devel/2015-January/024710.html



Thanks,
Regina





More information about the postgis-devel mailing list