h3_tessellateaswkb دالة

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 14.2 وما فوق

إرجاع tessellation لجغرافية الإدخال باستخدام خلايا H3 بدقة محددة. يتم تمثيل tessellation بواسطة صفيف من البنيات، يمثل كل عنصر من عناصر tessellation. يتكون كل عنصر من عناصر tessellation من معرف خلية H3 (ممثل كعدد صحيح طويل)، وقيمة منطقية تشير إلى ما إذا كانت جغرافية الإدخال تغطي الخلية بالكامل، وقيمة BINARY مطابقة لوصف WKB لتقاطع جغرافية الإدخال مع الخلية H3.

تشكل الخلايا H3 التي تم إرجاعها بشكل جماعي الحد الأدنى من مجموعة التغطية من السداسيات أو البنتاغونات، بدقة محددة، والتي تغطي جغرافية الإدخال بالكامل. تشكل المناطق الجغرافية التي تم إرجاعها (عبر تمثيلاتها في WKB ) تجسيدا لجغرافيا الإدخال.

بناء الجملة

h3_tessellateaswkb ( geographyExpr, resolutionExpr )

الوسيطات

  • geographyExpr: تعبير ثنائي أو سلسلة يمثل جغرافيا في WKB أو WKT أو GeoJSON. ومن المتوقع أن يكون للجغرافيا إحداثيات خط الطول وخط العرض بالدرجات التي تشير إلى النظام المرجعي إحداثيات WGS84 .
  • resolutionExpr: تعبير INT، بقيمة بين 0 و 15 شامل، يحدد دقة معرفات الخلية H3.

المرتجعات

صفيف من البنيات المسماة بثلاثة حقول من النوع BIGINT و BOOLEAN و BINARY، المسماة cellid، coreو، و chip، على التوالي، تمثل تجميل جغرافيا الإدخال مع خلايا H3 بالدقة المحددة.

الحقل الأول في البنية هو معرف خلية H3 (ممثل كعدد صحيح طويل). الحقل الثاني في البنية هو قيمة منطقية تشير إلى ما إذا كانت الخلية H3 خلية أساسية، وفي هذه الحالة تكون قيمة true الحقل أم لا، وفي هذه الحالة تكون قيمة الحقل هي false. الخلية الأساسية هي خلية H3 تغطيها جغرافية الإدخال بالكامل (أي أن تقاطعها مع جغرافية الإدخال هو الخلية نفسها). الحقل الثالث هو قيمة BINARY تمثل وصف WKB للجغرافيا التي هي تقاطع جغرافية الإدخال والخلية H3. تشكل خلايا H3 التي تم إرجاعها بشكل جماعي الحد الأدنى من مجموعة تغطية جغرافية الإدخال. تشكل المناطق الجغرافية، المقابلة لأوصاف WKB التي تم إرجاعها، بشكل جماعي تجميل (تحليل) لجغرافية الإدخال.

ترجع NULL الدالة إذا كان أي من تعبيرات الإدخال هو NULL. إذا كانت وسيطة الإدخال الأولى من النوع BINARY، فمن المتوقع أن تكون قيمة الإدخال وصف WKB لنقطة أو سلسلة خطوط أو مضلع أو نقاط متعددة أو سلاسل متعددة أو متعددة الاتجاهات. إذا كانت وسيطة الإدخال الأولى من النوع STRING، فمن المتوقع أن تكون قيمة الإدخال إما WKT أو وصف GeoJSON لنقطة أو سلسلة خطوط أو مضلع أو نقاط متعددة أو سلاسل متعددة أو متعددة المسارات. يمكن أن يكون بعد جغرافيا الإدخال 2D أو 3DZ أو 3DM أو 4D.

حالات الخطأ

  • إذا كانت geographyExpr من النوع BINARY والقيمة إما WKB غير صالحة أو تمثل مجموعة هندسية، ترجع الدالة WKB_PARSE_ERROR.
  • إذا كانت geographyExpr من النوع STRING والقيمة إما WKT غير صالحة أو تمثل مجموعة هندسية، ترجع الدالة WKT_PARSE_ERROR.
  • إذا كانت geographyExpr من النوع STRING والقيمة إما GeoJSON غير صالحة أو تمثل مجموعة هندسية، ترجع الدالة GEOJSON_PARSE_ERROR.
  • إذا كانت resolutionExpr أصغر من 0 أو أكبر من 15، ترجع الدالة H3_INVALID_RESOLUTION_VALUE.

الأمثلة

> SELECT h3_h3tostring(cellid), core, hex(chip) FROM (SELECT inline(h3_tessellateaswkb('MULTIPOINT(20 0,20 10,40 30)', 0))) ORDER BY 1
  802dfffffffffff     false 010100000000000000000044400000000000003E40
  806bfffffffffff     false 010400000002000000010100000000000000000034400000000000000000010100000000000000000034400000000000002440

-- Feeding an empty geometry collection in GeoJSON format (geometry collections are not supported).
> SELECT h3_tessellateaswkb('{"type":"GeometryCollection","geometries":[]}', 2)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"GeometryCollection"' at position 9 SQLSTATE: 22023

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_tessellateaswkb(unhex('020700000000'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1 SQLSTATE: 22023

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2)
  [WKT_PARSE_ERROR] Error parsing WKT: Found non-closed ring at position 80 SQLSTATE: 22023

-- Resolution is out of range.
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive SQLSTATE: 22023