الانتقال إلى المحتوى الرئيسي

flipCoordinates

تبدّل الدالة 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)]         │
└───────────────────────────┘

مثال 3: قلب مضلع

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]]]             │
└───────────────────────────────────────────────────┘
آخر تعديل في ٢٩ يونيو ٢٠٢٦