h3_coverash3string وظيفه

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

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

بناء الجملة

h3_coverash3 ( geographyExpr, resolutionExpr )

الوسيطات

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

المرتجعات

صفيف من قيم STRING مطابقة لمجموعة الحد الأدنى من معرفات الخلايا H3، للدقة المحددة، التي تغطي بشكل كامل خطي الإدخال أو الجغرافيا العرية.

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

حالات الخطأ

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

الأمثلة

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3string('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
  [8148fffffffffff, 8129bffffffffff, 812a3ffffffffff, 812abffffffffff, 81267ffffffffff, 8126fffffffffff, 81283ffffffffff]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"MultiPoint"' at position 9

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

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_coverash3string('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

-- Resolution is out of range.
> SELECT h3_coverash3string('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