h3_coverash3 وظيفه

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

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

بناء الجملة

h3_coverash3 ( geographyExpr, resolutionExpr )

الوسيطات

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

المرتجعات

صفيف من قيم BIGINT المقابلة للحد الأدنى من مجموعة معرفات الخلية 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_coverash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
  [582248581512036351, 581698825698148351, 581707621791170559, 581716417884192767, 581641651093503999, 581650447186526207, 581672437419081727]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3('{"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_coverash3(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_coverash3('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_coverash3('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