h3_polyfillash3
işlevi
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 11.3 LTS ve üzeri
Giriş areal coğrafyasının içerdiği belirtilen çözünürlüğün altıgenlerine veya beşgenlerine karşılık gelen H3 hücre kimliklerinden oluşan bir DIZI (BIGINT olarak gösterilir) döndürür.
Söz dizimi
h3_polyfillash3 ( geographyExpr, resolutionExpr )
Bağımsız değişkenler
geographyExpr
: WKB, WKT veya GeoJSON'da bir areal coğrafyayı (çokgen veya çok kutuplu) temsil eden binary veya STRING ifadesi. Coğrafyanın WGS84 koordinat başvuru sistemine başvuran derecelerde boylam ve enlem koordinatlarına sahip olması beklenir.resolutionExpr
: Değerinin arasında0
ve15
kapsayıcı olması beklenen, H3 hücre kimliklerinin çözünürlüğünü belirten bir INT ifadesi.
Döndürülenler
Girişin içerdiği, belirtilen çözünürlüğün H3 hücre kimliklerine karşılık gelen BIGINT değerlerinin DIZISI.
Giriş ifadelerinden herhangi biri NULL ise işlev NULL döndürür. İlk giriş bağımsız değişkeni binary türündeyse, giriş değerinin çokgen veya çok kutuplu bir WKB açıklaması olması beklenir. İlk giriş bağımsız değişkeni STRING türündeyse, giriş değerinin bir çokgen veya çok köşeligenin WKT veya GeoJSON açıklaması olması beklenir. Giriş çokgeninin veya çok kutuplunun boyutu 2B, 3DZ, 3DM veya 4D olabilir.
Hata koşulları
- binary türündeyse ve değer geçersiz bir WKB ise veya çokgen veya çok köşeligen temsil etmiyorsa
geographyExpr
, işlev WKB_PARSE_ERROR döndürür. - STRING türündeyse ve değer geçersiz bir WKT ise veya çokgen veya çok kutuplu bir değeri temsil etmiyorsa
geographyExpr
, işlev WKT_PARSE_ERROR döndürür. - STRING türündeyse ve değer geçersiz bir GeoJSON ise veya çokgen veya çok kutuplu bir değeri temsil etmiyorsa
geographyExpr
, işlev GEOJSON_PARSE_ERROR döndürür. - değerinden küçük
0
veya daha15
büyükseresolutionExpr
işlev H3_INVALID_RESOLUTION_VALUE döndürür.
Örnekler
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_polyfillash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- Feeding an empty linestring in GeoJSON format (as opposed to a polygon or multipolygon).
> SELECT h3_polyfillash3('{"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_polyfillash3(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_polyfillash3('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_polyfillash3('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