h3_polyfillash3string وظيفه

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

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

بناء الجملة

h3_polyfillash3string ( 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_polyfillash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

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

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_polyfillash3string(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_polyfillash3string('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_polyfillash3string('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