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

ST_LengthSpheroid

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

الاسم

ST_LengthSpheroid — تُعيد الطول/المحيط ثنائي أو ثلاثي الأبعاد لشكل بإحداثيات خط الطول/خط العرض على شكل إهليلجي.

المختصر

float ST_LengthSpheroid(geometry a_geometry, spheroid a_spheroid);

الوصف

تحسب طول شكل هندسي أو محيطه على شكل إهليلجي. وهذا مفيد إذا كانت إحداثيات الشكل بخط الطول/خط العرض وكان المطلوب الحصول على الطول دون إعادة إسقاط. يُحدَّد الشكل الإهليلجي بقيمة نصية على النحو التالي:


SPHEROID[<NAME
>,<SEMI-MAJOR AXIS
>,<INVERSE FLATTENING
>]
 

على سبيل المثال:

SPHEROID["GRS_1980",6378137,298.257222101]

متاحة منذ: 1.2.2

تغيّرت في: 2.2.0 في الإصدارات السابقة كانت تُسمّى ST_Length_Spheroid وكان لها الاسم البديل ST_3DLength_Spheroid

تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.

أمثلة

SELECT ST_LengthSpheroid( geometry_column,
                          'SPHEROID["GRS_1980",6378137,298.257222101]' )
                          FROM geometry_table;

SELECT ST_LengthSpheroid( geom, sph_m ) As tot_len,
ST_LengthSpheroid(ST_GeometryN(geom,1), sph_m) As len_line1,
ST_LengthSpheroid(ST_GeometryN(geom,2), sph_m) As len_line2
                          FROM (SELECT ST_GeomFromText('MULTILINESTRING((-118.584 38.374,-118.583 38.5),
        (-71.05957 42.3589 , -71.061 43))') As geom,
CAST('SPHEROID["GRS_1980",6378137,298.257222101]' As spheroid) As sph_m)  as foo;
        tot_len      |    len_line1     |    len_line2
------------------+------------------+------------------
 85204.5207562955 | 13986.8725229309 | 71217.6482333646

 --3D
SELECT ST_LengthSpheroid( geom, sph_m ) As tot_len,
ST_LengthSpheroid(ST_GeometryN(geom,1), sph_m) As len_line1,
ST_LengthSpheroid(ST_GeometryN(geom,2), sph_m) As len_line2
                          FROM (SELECT ST_GeomFromEWKT('MULTILINESTRING((-118.584 38.374 20,-118.583 38.5 30),
        (-71.05957 42.3589 75, -71.061 43 90))') As geom,
CAST('SPHEROID["GRS_1980",6378137,298.257222101]' As spheroid) As sph_m)  as foo;

         tot_len      |    len_line1    |    len_line2
------------------+-----------------+------------------
 85204.5259107402 | 13986.876097711 | 71217.6498130292

انظر أيضًا

ST_GeometryN, ST_Length