الاسم
ST_StartPoint — تُعيد النقطة الأولى من خط (LineString).
المختصر
geometry ST_StartPoint(geometry geomA);
الوصف
تُعيد النقطة الأولى من شكل LINESTRING أو CIRCULARLINESTRING بوصفها POINT. وتُعيد NULL إذا لم يكن المُدخل LINESTRING أو CIRCULARLINESTRING.
تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM 3: 7.1.3
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.
|
|
|
حُسّنت في: 3.2.0 تُعيد نقطة لجميع الأشكال الهندسية. وكان السلوك السابق يُعيد NULL إذا لم يكن المُدخل خطًا. تغيّرت في: 2.0.0 لم تعد تعمل مع الخطوط المتعددة (MultiLineStrings) ذات الشكل الواحد. في الإصدارات الأقدم من PostGIS كان الخط المتعدد المكوّن من خط واحد يعمل مع هذه الدالة دون مشكلة ويُعيد نقطة البداية. أما في 2.0.0 فتُعيد NULL ببساطة كأي خط متعدد آخر. كان السلوك القديم ميزة غير موثقة، لكن من افترضوا أن بياناتهم مخزنة كـ LINESTRING قد يجدون أنها تُعيد NULL في 2.0.0. |
أمثلة
نقطة بداية خط (LineString)
SELECT ST_AsText(ST_StartPoint('LINESTRING(0 1, 0 2)'::geometry));
st_astext
------------
POINT(0 1)
نقطة بداية شكل ليس خطًا هي NULL
SELECT ST_StartPoint('POINT(0 1)'::geometry) IS NULL AS is_null;
is_null
----------
t
نقطة بداية خط ثلاثي الأبعاد
SELECT ST_AsEWKT(ST_StartPoint('LINESTRING(0 1 1, 0 2 2)'::geometry));
st_asewkt
------------
POINT(0 1 1)
نقطة بداية قوس دائري (CircularString)
SELECT ST_AsText(ST_StartPoint('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 6 3)'::geometry));
st_astext
------------
POINT(5 2)