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