ST_3DIntersects — Teste si deux géométries se croisent dans l'espace en 3D - uniquement pour les points, les lignes, les polygones, les surfaces polyédriques (aire)
boolean ST_3DIntersects(
geometry geomA , geometry geomB )
;
Overlaps, Touches, Within impliquent tous une intersection spatiale. Si l'un des éléments susmentionnés renvoie un résultat positif, les géométries se recoupent également dans l'espace. Disjoint implique faux pour l'intersection spatiale.
Cette fonction inclut une comparaison de la boîte englobante qui utilise tous les index disponibles sur les géométries. |
En raison des défaillances de la robustesse flottante, les géométries ne se croisent pas toujours comme on s'y attendrait après le traitement géométrique. Par exemple, le point le plus proche d'une géométrie sur une ligne peut ne pas se trouver sur la ligne. Pour ce type de problèmes, lorsqu'une distance d'un centimètre est considérée comme une intersection, utilisez ST_3DDWithin. |
Modifié : 3.0.0 SFCGAL backend supprimé, GEOS backend supporte les TINs.
Disponibilité : 2.0.0
Cette fonction prend en charge la 3D et ne supprime pas l'indice z.
Cette fonction prend en charge les surfaces Polyhedral.
Cette fonction prend en charge les triangles et les réseaux irréguliers triangulés (TIN).
Cette méthode implémente la spécification SQL/MM. SQL-MM IEC 13249-3: 5.1
SELECT ST_3DIntersects(pt, line), ST_Intersects(pt, line) FROM (SELECT 'POINT(0 0 2)'::geometry As pt, 'LINESTRING (0 0 1, 0 2 3)'::geometry As line) As foo; st_3dintersects | st_intersects -----------------+--------------- f | t (1 row)
SELECT ST_3DIntersects('TIN(((0 0 0,1 0 0,0 1 0,0 0 0)))'::geometry, 'POINT(.1 .1 0)'::geometry); st_3dintersects ----------------- t