GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.12. دوال القياس
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_Angle

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

الاسم

ST_Angle — تُعيد الزاوية بين متجهين معرّفين بـ 3 أو 4 نقاط، أو بخطين.

المختصر

float ST_Angle(geometry point1, geometry point2, geometry point3, geometry point4);

float ST_Angle(geometry line1, geometry line2);

الوصف

تحسب الزاوية باتجاه عقارب الساعة بين متجهين.

الصيغة 1: تحسب الزاوية المحصورة بين النقاط P1-P2-P3. وإذا قُدِّمت نقطة رابعة، تحسب الزاوية بين P1-P2 وP3-P4

الصيغة 2: تحسب الزاوية بين متجهين S1-E1 وS2-E2، معرّفين بنقطتي البداية والنهاية للخطين المُدخلين

الناتج زاوية موجبة بين 0 و2π راديان. ويمكن تحويل الناتج بالراديان إلى درجات باستخدام دالة PostgreSQL degrees().

لاحظ أن ST_Angle(P1,P2,P3) = ST_Angle(P2,P1,P2,P3).

متاحة منذ: 2.5.0

أمثلة

الزاوية بين ثلاث نقاط

SELECT degrees( ST_Angle('POINT(0 0)', 'POINT(10 10)', 'POINT(20 0)') );

 degrees
---------
     270

الزاوية بين متجهين معرّفين بأربع نقاط

SELECT degrees( ST_Angle('POINT (10 10)', 'POINT (0 0)', 'POINT(90 90)', 'POINT (100 80)') );

      degrees
-------------------
 269.9999999999999

الزاوية بين متجهين معرّفين بنقاط بداية الخطوط ونهايتها

SELECT degrees( ST_Angle('LINESTRING(0 0, 0.3 0.7, 1 1)', 'LINESTRING(0 0, 0.2 0.5, 1 0)') );

      degrees
--------------
           45

انظر أيضًا

ST_Azimuth