すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_3DIntersects

最終更新日:Jan 15, 2024

このトピックでは、ST_3DIntersects関数について説明します。 この関数は、3D地理グリッドによって表される空間範囲がジオメトリと交差するかどうかを確認します。

構文

bool ST_3DIntersects(geometry geom3d、geomgrid gridcode);
bool ST_3DIntersects(geomgrid gridcode、geometry geom3d);
bool ST_3DIntersects(meshgeom geom3d、geomgrid gridcode);
bool ST_3DIntersects(geomgrid gridcode、meshgeom geom3d);
bool ST_3DIntersects(sfmesh geom3d、geomgrid gridcode);
bool ST_3DIntersects(geomgrid gridcode、sfmesh geom3d);
bool ST_3DIntersects(vomesh geom3d、geomgrid gridcode);
bool ST_3DIntersects(geomgrid gridcode、vomesh geom3d);
bool ST_3DIntersects(geomgrid gridcode1, geomgrid gridcode2); 

パラメーター

パラメーター

説明

gridcode /gridcode1 /gridcode2

地理グリッドオブジェクト。

geom3d

3Dジオメトリ。

説明

この関数は、グリッドとジオメトリの空間関係を返します。 ジオメトリはCGC2000空間参照システムを使用する必要があります。 さらに、ジオメトリの空間参照システム識別子 (SRID) を4490する必要があります。

SELECT ST_3DIntersects(ST_GridFromText('GZ00262064446046072072')) 、'srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry);
 st_3dcross
-----------------
 f

SELECT ST_3DIntersects(ST_GridFromText('GZ0026')) 、st_meshgeomfromtext('srid=4490;SOLID=TRUE;MESHGEOM(PATCH(INDEXSURFACE Z (VERTEX(115.966 38.9757000000001 3000)) 、116 38.9757000000001 3000,116 38.9999999999999 3000,115.966 38.9999999999999 3000,116 38.9999999999999 0、116 38.9757000000001 0,115.966 38.9757000000001 0,115.966 38.9999999999999 0) 、インデックス ((0,1、2) 、(2,3、0) 、(4,5、6) 、(6,7、4) 、(3,7、6) 、(6,0、3) 、(0,6、5) 、(5,1、0) 、(1,5、4) 、(4,2、1) 、(2,4、7) 、(7,3、) 2)))'));
st_3dcross
-----------------
 t

SELECT ST_3DIntersects(ST_GridFromText('GZ00262064')) 、st_meshfromtext (
  '{"version" : 1, "srid" : 4490, "root" : 0, 
  "meshgeoms" : ["MESHGEOM(PATCH(POLYGON Z ((0 0 0,1 0 0,1 1 0,0 1 0,0 0 0)))))"] 、 
  "primitives" : [{"meshgeom" : 0}] 、"nodes" : [{"primitive" : 0,"matrix" : [0.012,0,0,116,0,0.009,0,39,0,0,1000,0,0,0,0,1]}]}');
 st_3dcross
-----------------
 t

SELECT ST_3DIntersects(ST_GridFromText('GZ00262064')) 、ST_VOMeshFromText (
'SRID=4490;LOD=2;VOMESH(VERTEX (116.012 39 0,116 39.009 0,115.988 39 0,116 38.991 0,116 39 1000)) 、FACE(INDEX((0,1,2,3) 、(1,0,4) 、(2,1,4) 、(3,2,4) 、(0,3,4))) 、CELL(INDEX((0,1,2,3,4)) 、DIRECTION(((0,1,1,1,0)))))';
 st_3dcross
-----------------
 t

SELECT ST_3DIntersects(ST_GridFromText('GZ00262064')) 、 
                       ST_GridFromText('GZ00262063');
 st_3dcross
-----------------
 t