GISarabia.org
PostGIS › الدليل الرسمي › 11. مرجع الرستر › 11.17. العلاقات المكانية بين الرسترات ونطاقات الرستر
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_Contains

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_Contains — تُعيد true إذا لم تقع أي نقطة من الرستر rastB خارج الرستر rastA، ووقعت نقطة واحدة على الأقل من داخل rastB في داخل rastA.

المختصر

boolean ST_Contains( raster rastA , integer nbandA , raster rastB , integer nbandB );

boolean ST_Contains( raster rastA , raster rastB );

الوصف

يحتوي الرستر rastA الرستر rastB إذا وفقط إذا لم تقع أي نقطة من rastB خارج rastA، ووقعت نقطة واحدة على الأقل من داخل rastB في داخل rastA. إذا لم يُحدَّد رقم النطاق (أو عُيّن إلى NULL)، يؤخذ في الاختبار الغلاف المحدب للرستر فقط. وإذا حُدِّد رقم النطاق، تؤخذ في الاختبار البكسلات ذات القيم (غير NODATA) فقط.

[ملاحظة]

تستفيد هذه الدالة من أي فهارس قد تكون متاحة على الرسترات.

[ملاحظة]

لاختبار العلاقة المكانية بين رستر وشكل هندسي، استخدم ST_Polygon على الرستر، مثل ST_Contains(ST_Polygon(raster), geometry)‎ أو ST_Contains(geometry, ST_Polygon(raster))‎.

[ملاحظة]

ST_Contains()‎ هي معكوس ST_Within()‎. لذا فإن ST_Contains(rastA, rastB)‎ تستلزم ST_Within(rastB, rastA)‎.

متاحة منذ: 2.1.0

أمثلة

-- specified band numbers
SELECT r1.rid, r2.rid, ST_Contains(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1;

NOTICE:  The first raster provided has no bands
 rid | rid | st_contains
-----+-----+-------------
   1 |   1 |
   1 |   2 | f
            
-- no band numbers specified
SELECT r1.rid, r2.rid, ST_Contains(r1.rast, r2.rast) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1;
 rid | rid | st_contains
-----+-----+-------------
   1 |   1 | t
   1 |   2 | f
            

انظر أيضًا

ST_Intersects, ST_Within