GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.14. معالجة الأشكال الهندسية
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_ReducePrecision

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

الاسم

ST_ReducePrecision — تُعيد شكلاً هندسياً صالحاً بنقاط مقرّبة إلى تسامح شبكة.

المختصر

geometry ST_ReducePrecision(geometry g, float8 gridsize);

الوصف

تُعيد شكلاً هندسياً صالحاً بعد تقريب جميع نقاطه إلى تسامح الشبكة المُمرّر، وإزالة المعالم الأصغر من التسامح.

على خلاف ST_SnapToGrid، سيكون الشكل المُعاد صالحاً، بلا تقاطعات ذاتية في الحلقات ولا مكوّنات منهارة.

يمكن استخدام تقليل الدقة من أجل:

  • مطابقة دقة الإحداثيات مع دقة البيانات

  • تقليل عدد الإحداثيات اللازمة لتمثيل شكل هندسي

  • ضمان إخراج أشكال صالحة إلى صيغ تستخدم دقة أقل (مثل الصيغ النصية WKT وGeoJSON وKML عندما يكون عدد المنازل العشرية في الناتج محدوداً).

  • تصدير أشكال صالحة إلى أنظمة تستخدم دقة أقل أو محدودة (مثل SDE، وقيمة التسامح في Oracle)

متاحة منذ: 3.1.0.

تتطلب GEOS >= 3.9.0.

أمثلة

SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 0.1));
    st_astext
-----------------
 POINT(1.4 19.3)

SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 1.0));
  st_astext
-------------
 POINT(1 19)

SELECT ST_AsText(ST_ReducePrecision('POINT(1.412 19.323)', 10));
  st_astext
-------------
 POINT(0 20)

يمكن أن يقلّل تقليل الدقة عدد الرؤوس

SELECT ST_AsText(ST_ReducePrecision('LINESTRING (10 10, 19.6 30.1, 20 30, 20.3 30, 40 40)', 1));
  st_astext
-------------
 LINESTRING (10 10, 20 30, 40 40)

يُقسّم تقليل الدقة المضلعات عند الحاجة لضمان الصلاحية

SELECT ST_AsText(ST_ReducePrecision('POLYGON ((10 10, 60 60.1, 70 30, 40 40, 50 10, 10 10))', 10));
  st_astext
-------------
 MULTIPOLYGON (((60 60, 70 30, 40 40, 60 60)), ((40 40, 50 10, 10 10, 40 40)))

انظر أيضًا

ST_SnapToGrid, ST_Simplify, ST_SimplifyVW