Name

ST_3DIntersects — Testar om två geometrier korsar varandra spatialt i 3D - endast för punkter, linestrings, polygoner, polyedrisk yta (area)

Synopsis

boolean ST_3DIntersects( geometry geomA , geometry geomB );

Beskrivning

Overlaps, Touches, Within innebär alla spatial skärning. Om någon av de ovan nämnda returnerar true, så skär geometrierna varandra även spatialt. Disjoint implicerar false för spatial intersektion.

[Note]

Denna funktion inkluderar automatiskt en jämförelse av begränsningsrutor som använder alla spatiala index som finns tillgängliga för geometrierna.

[Note]

På grund av brister i den flytande robustheten korsar geometrier inte alltid varandra på det sätt som man förväntar sig efter geometrisk bearbetning. Till exempel kanske den närmaste punkten på en linestrings till en geometri inte ligger på linestringsen. För den här typen av problem, där ett avstånd på en centimeter bara ska betraktas som en skärningspunkt, använder du ST_3DDWithin.

Ändrad: 3.0.0 SFCGAL backend borttagen, GEOS backend stöder TINs.

Tillgänglighet: 2.0.0

Denna funktion stöder 3d och kommer inte att tappa z-index.

Denna funktion stöder polyedriska ytor.

Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).

Denna metod implementerar SQL/MM-specifikationen. SQL-MM IEC 13249-3: 5.1

Exempel på geometri

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)
    

Exempel på TIN

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