h3_tessellateaswkb
işlevi
Şunlar için geçerlidir: Databricks Runtime 14.2 ve üzeri
Belirtilen çözünürlükte H3 hücreleri kullanarak giriş coğrafyasının döşemesini döndürür. Döşeme, her biri döşemenin bir öğesini temsil eden bir dizi yapısıyla temsil edilir. Döşemenin her öğesi bir H3 hücre kimliğinden (uzun bir tamsayı olarak gösterilir), giriş coğrafyasının hücreyi tamamen kaplayıp kapsamadığını gösteren boole değerinden ve giriş coğrafyasının H3 hücresiyle kesişiminin WKB açıklamasına karşılık gelen bir İkiLI değerden oluşur.
Döndürülen H3 hücreleri, giriş coğrafyasını tamamen kapsayan, belirtilen çözünürlükte, toplu olarak minimum bir altıgen veya beşgen kümesi oluşturur. Döndürülen coğrafyalar (WKB gösterimleri aracılığıyla) giriş coğrafyasının bir döşemesini oluşturur.
Söz dizimi
h3_tessellateaswkb ( geographyExpr, resolutionExpr )
Bağımsız değişkenler
geographyExpr
: WKB, WKT veya GeoJSON'daki bir coğrafyayı 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
: H3 hücre kimlikleri için çözünürlüğü belirten ve15
dahil0
olan bir değere sahip bir INT ifadesi.
Döndürülenler
Adlandırılmış yapı dizisi, sırasıyla , core
ve chip
adlı cellid
BIGINT, BOOLEAN ve BINARY türünde üç alana sahip, belirtilen çözünürlükte H3 hücreleri ile giriş coğrafyasının döşemesini temsil eder.
Yapıdaki ilk alan bir H3 hücre kimliğidir (uzun bir tamsayı olarak gösterilir). Yapıdaki ikinci alan, H3 hücresinin çekirdek bir hücre olup olmadığını belirten bir Boole değeridir; bu durumda alanın değeri true
olur veya değildir; bu durumda alanın değeri olur false
. Çekirdek hücre, giriş coğrafyası tarafından tamamen kapsanan bir H3 hücresidir (yani giriş coğrafyasıyla kesişimi hücrenin kendisidir). Üçüncü alan, giriş coğrafyası ile H3 hücresinin kesişimi olan coğrafyanın WKB açıklamasını temsil eden bir BINARY değeridir. Döndürülen H3 hücreleri, giriş coğrafyasının en düşük kapsama kümesini toplu olarak oluşturur. Döndürülen WKB açıklamalarına karşılık gelen coğrafyalar, giriş coğrafyasının bir döşemesini (ayrıştırma) topluca oluşturur.
giriş ifadelerinden herhangi biri ise NULL
işlevi döndürürNULL
.
İlk giriş bağımsız değişkeni binary türündeyse, giriş değerinin bir noktanın, çizgi dizesinin , çokgenin, çok noktalı, çok satırlı veya çok köşeli ayrıcın WKB açıklaması olması beklenir.
İlk giriş bağımsız değişkeni STRING türündeyse, giriş değerinin bir nokta, çizgi dizesi, çokgen, çok noktalı, çok satırlı veya çok köşeli ayrıcın WKT veya GeoJSON açıklaması olması beklenir.
Giriş coğrafyasının boyutu 2B, 3DZ, 3DM veya 4D olabilir.
Hata koşulları
- binary türündeyse
geographyExpr
ve değer geçersiz bir WKB ise veya geometri koleksiyonunu temsil ederse işlev WKB_PARSE_ERROR döndürür. - STRING türündeyse
geographyExpr
ve değer geçersiz bir WKT ise veya geometri koleksiyonunu temsil ederse işlev WKT_PARSE_ERROR döndürür. - STRING türündeyse
geographyExpr
ve değer geçersiz bir GeoJSON ise veya geometri koleksiyonunu temsil ederse 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
> SELECT h3_h3tostring(cellid), core, hex(chip) FROM (SELECT inline(h3_tessellateaswkb('MULTIPOINT(20 0,20 10,40 30)', 0))) ORDER BY 1
802dfffffffffff false 010100000000000000000044400000000000003E40
806bfffffffffff false 010400000002000000010100000000000000000034400000000000000000010100000000000000000034400000000000002440
-- Feeding an empty geometry collection in GeoJSON format (geometry collections are not supported).
> SELECT h3_tessellateaswkb('{"type":"GeometryCollection","geometries":[]}', 2)
[GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"GeometryCollection"' at position 9 SQLSTATE: 22023
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_tessellateaswkb(unhex('020700000000'), 2)
[WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1 SQLSTATE: 22023
-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_tessellateaswkb('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 SQLSTATE: 22023
-- Resolution is out of range.
> SELECT h3_tessellateaswkb('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 SQLSTATE: 22023