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

ST_Within

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

الاسم

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

المختصر

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

boolean ST_Within( raster rastA , raster rastB );

الوصف

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

[ملاحظة]

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

[ملاحظة]

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

[ملاحظة]

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

متاحة منذ: 2.1.0

أمثلة

SELECT r1.rid, r2.rid, ST_Within(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;

 rid | rid | st_within
-----+-----+-----------
   2 |   1 | f
   2 |   2 | t