تبدّل الدالة flipCoordinates إحداثيات نقطة أو حلقة أو مضلع أو متعدد الأضلاع. ويكون ذلك مفيدًا، على سبيل المثال، عند التحويل بين أنظمة الإحداثيات التي يختلف فيها ترتيب خط العرض وخط الطول.
flipCoordinates(coordinates)
coordinates — Tuple يمثّل نقطة (x, y)، أو مصفوفة من Tupleات مماثلة تمثّل حلقة أو مضلعًا أو متعدد الأضلاع. تشمل أنواع الإدخال المدعومة ما يلي:
- Point: Tuple
(x, y) حيث تكون x وy قيمًا من نوع Float64.
- Ring: مصفوفة من النقاط
[(x1, y1), (x2, y2), ...].
- Polygon: مصفوفة من الحلقات
[ring1, ring2, ...]، حيث تكون كل حلقة مصفوفة من النقاط.
- متعدد الأضلاع: مصفوفة من المضلعات
[polygon1, polygon2, ...].
تُعيد الدالة المُدخل بعد تبديل الإحداثيات. على سبيل المثال:
- تتحول النقطة
(x, y) إلى (y, x).
- تتحول الحلقة
[(x1, y1), (x2, y2)] إلى [(y1, x1), (y2, x2)].
- تُعالَج البُنى المتداخلة مثل المضلعات ومتعددات الأضلاع بشكلٍ تكراري.
مثال 1: تبديل إحداثيات نقطة واحدة
SELECT flipCoordinates((10, 20)) AS flipped_point
┌─flipped_point─┐
│ (20,10) │
└───────────────┘
المثال 2: عكس مصفوفة من النقاط (Ring)
SELECT flipCoordinates([(10, 20), (30, 40)]) AS flipped_ring
┌─flipped_ring──────────────┐
│ [(20,10),(40,30)] │
└───────────────────────────┘
SELECT flipCoordinates([[(10, 20), (30, 40)], [(50, 60), (70, 80)]]) AS flipped_polygon
┌─flipped_polygon──────────────────────────────┐
│ [[(20,10),(40,30)],[(60,50),(80,70)]] │
└──────────────────────────────────────────────┘
مثال 4: عكس متعدد الأضلاع
SELECT flipCoordinates([[[10, 20], [30, 40]], [[50, 60], [70, 80]]]) AS flipped_multipolygon
┌─flipped_multipolygon──────────────────────────────┐
│ [[[20,10],[40,30]],[[60,50],[80,70]]] │
└───────────────────────────────────────────────────┘
آخر تعديل في ٢٩ يونيو ٢٠٢٦