[postgis-devel] Polyhedral Containment

Paragon Corporation lr at pcorp.us
Wed Feb 25 12:45:18 PST 2015


Paul,

With the new function that Vince is going to put in, it would handle this.

 

And would be something like

 

SELECT ST_3DIntersects( 

ST_MakeSolid( 'POLYHEDRALSURFACE( 

 ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),  

 ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), 

 ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), 

 ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),  

 ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)),  

 ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) 

 )'::geometry), 'POINT(0.5 0.5 0.5)'::geometry);

 

Shame on you for not casting to geometry :)

 

See this note:

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

 

Hope that helps,

Regina

http://www.postgis.us

http://postgis.net

 

 

From: postgis-devel-bounces at lists.osgeo.org [mailto:postgis-devel-bounces at lists.osgeo.org] On Behalf Of Paul Ramsey
Sent: Wednesday, February 25, 2015 3:03 PM
To: PostGIS Development Discussion
Subject: [postgis-devel] Polyhedral Containment

 

Is there a 3d function that can answer this question and return true? (volumetric containment?)

 

ST_3dIntersects(

 'POLYHEDRALSURFACE( 

 ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),  

 ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), 

 ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), 

 ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),  

 ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)),  

 ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) 

 )', 'POINT(0.5 0.5 0.5)');

 

 

-- 
Paul Ramsey
http://cleverelephant.ca

http://postgis.net 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20150225/7f1ac277/attachment.html>


More information about the postgis-devel mailing list