全部产品
Search
文档中心

:ST_{T|2D|2DT|3D|3DT}Contains

更新时间:Jul 02, 2025

Fungsi ini digunakan untuk memeriksa apakah objek pertama mencakup objek kedua pada sumbu tertentu.

Sintaksis

bool ST_TContains(tsrange r, trajectory traj);
bool ST_TContains(trajectory traj, tsrange r);
bool ST_2DContains(geometry geom, trajectory traj);
bool ST_2DContains(trajectory traj, geometry geom);
bool ST_2DContains(geometry geom, trajectory traj, timestamp ts, timestamp te);
bool ST_2DContains(trajectory traj, geometry geom, timestamp ts, timestamp te);
bool ST_{2D|2DT|3D|3DT}Contains(boxndf box, trajectory traj);
bool ST_{2D|2DT|3D|3DT}Contains(boxndf box, trajectory traj, timestamp ts, timestamp te);

Parameter

ParameterDeskripsi
geomGeometri yang ingin Anda bandingkan.
trajTrajektori yang ingin Anda bandingkan, atau trajektori asli yang mencakup sub-trajektori yang ingin Anda bandingkan.
boxKotak pembatas yang ingin Anda bandingkan.
rRentang waktu untuk kueri.
tsAwal rentang waktu di mana Anda ingin mengekstraksi sub-trajektori. Parameter ini opsional.
teAkhir rentang waktu di mana Anda ingin mengekstraksi sub-trajektori. Parameter ini opsional.

Deskripsi

Fungsi ini memungkinkan Anda memeriksa apakah objek pertama mencakup objek kedua pada sumbu tertentu.

  • Jika geometri ditentukan, fungsi ini membandingkan proyeksi dua dimensi dari trajektori lengkap atau sub-trajektori selama rentang waktu tertentu. Fungsi ini kemudian memeriksa apakah geometri mencakup atau termasuk dalam objek lain yang ditentukan.
  • Jika objek pertama adalah kotak pembatas dan objek kedua adalah trajektori, fungsi ini membandingkan kotak pembatas dengan trajektori untuk memeriksa apakah trajektori atau sub-trajektorinya selama rentang waktu tertentu termasuk dalam kotak pembatas di semua dimensi. Jika kotak pembatas, trajektori, atau sub-trajektori tidak memiliki dimensi tertentu, fungsi ini menganggap dimensi tersebut memiliki nilai apa pun. Dalam hal ini, sumbu dalam dimensi ini secara otomatis memenuhi kondisi yang ditentukan.
Catatan Fungsi ini tidak didukung untuk tipe geometri seperti POLYHEDRALSURFACE.

Contoh

WITH traj AS(
    Select ST_makeTrajectory('STPOINT', 'LINESTRING(0 0, 50 50, 100 100)'::geometry,
                             ('[' || ST_PGEpochToTS(0) || ',' || ST_PGEpochToTS(100) || ')')::tsrange,
                             '{"leafcount":3,"attributes":{"velocity": {"type": "integer", "length": 2,"nullable" : true,"value": [120,130,140]}, "accuracy": {"type": "float", "length": 4, "nullable" : false,"value": [120,130,140]}, "bearing": {"type": "float", "length": 8, "nullable" : false,"value": [120,130,140]}, "acceleration": {"type": "string", "length": 20, "nullable" : true,"value": ["120","130","140"]}, "active": {"type": "timestamp", "nullable" : false,"value": ["Fri Jan 01 11:35:00 2010", "Fri Jan 01 12:35:00 2010", "Fri Jan 01 13:30:00 2010"]}}, "events": [{"2" : "Fri Jan 02 15:00:00 2010"}, {"3" : "Fri Jan 02 15:30:00 2010"}]}') b,
           ST_MakeBox3dt(0,0,0,ST_PgEpochToTS(0), 50,50,50, ST_PgEpochToTS(49)) a
)
SELECT ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)),
       ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)),
       ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)),
       ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)),
       ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)),
       ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)) from traj;
 st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains | st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains | st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains 
---------------+---------------+----------------+----------------+---------------+---------------+----------------+----------------+---------------+---------------+----------------+----------------
 t             | t             | t              | t              | t             | t             | f              | f              | f             | f             | f              | f