Aracılığıyla paylaş


H3 jeo-uzamsal işlevleri

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

H3, genel bir kılavuz dizinleme sistemidir. Kılavuz sistemleri, bir yüzeyi döşemek için dikdörtgenler veya üçgenler gibi bir şekil kullanır ve bu örnekte dünya yüzeyidir. H3 sistemi altıgenleri (ve birkaç beşgeni) kullanacak şekilde tasarlanmıştır ve hiyerarşisinde 16 düzey çözünürlük sunar. Daha yüksek çözünürlüklerde, mozaik şekiller daha küçüktür.

H3 ifadeleri yalnızca Databricks SQL pro ve sunucusuz katmanlarında Foton özellikli kümelerde ve Databricks SQL ambarlarında desteklenir.

H3 çözünürlükleri ve H3'ün çıkış noktaları hakkında daha fazla bilgi edinin.

Ayrıca bkz:

Jeo-Uzamsal Analiz için H3

H3, uzamsal verileri işlemek ve analiz etmek için ortak bir deseni destekler. İlk olarak standart biçimlerden (enlem ve boylam, İyi bilinen metin (WKT), İyi bilinen ikili (WKB) veya GeoJSON'dan H3 hücre kimliklerine jeo-uzamsal verilerin dizinini oluşturun. Tek bir veri kümesiyle, konum temelli soruları yanıtlamak için hücre kimliğine göre toplama yapabilirsiniz. Birden çok dizine alınmış veri kümesiyle, hücre kimliklerini kullanarak bunları birleştirerek birbirinden farklı veri kümelerinin birbirleriyle ilişkisini ortaya çıkarabilirsiniz. Veri kümelerinin bu birleşimi, uzamsal bir koşula gerek kalmadan bir uzamsal birleşimdir.

Databricks içinde H3 kullanmanın avantajları nelerdir?

H3 dizinli verilerinizin verimli bir şekilde depolanması ve düzeni için Delta Lake özelliklerinden yararlanın. Delta Lake'in Z sıralamalı OPTIMIZE işlemi (H3 hücre kimliklerinde) verileri uzamsal olarak birlikte bulmanıza olanak tanır. Ayrıca Delta Lake'in veri atlama algoritmaları, okunması gereken veri hacmini akıllı bir şekilde azaltmak için ortak yerellik kullanır.

Verilerle çalışma konusunda esnekliğiniz vardır. Büyük tamsayılar veya dizeler olarak depolanan H3 hücre kimlikleriyle çalışmayı seçebilirsiniz. H3 hücre kimliklerini kullanarak en iyi performans için büyük tamsayı gösterimini kullanın. H3 ifadelerinin ayrıntılı kullanımı için SQL başvuru kılavuzuna bakın.

Not

H3 kitaplığını yüklemeniz gerekmez. Databricks Runtime 11.2'den başlayarak H3 Java kitaplığının 3.7.0 sürümü kullanılarak Databricks Runtime'a görünür bir bağımlılık olarak eklenir.

H3 almak için Databricks işlevlerini içeri aktarma (Databricks Runtime)

Databricks SQL ve Spark SQL için içeri aktarma gerekmez.

Not defterlerinde Python veya Scala için H3 işlevlerini içeri aktarmak için aşağıdaki komutları kullanın:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

H3 jeo-uzamsal işlevlerinin listesi (Databricks SQL)

İçeri Aktar

İşlev Açıklama
h3_coverash3(geographyExpr, resolutionExpr) Belirtilen çözünürlüğün en az onaltılık veya beşgen kümesine karşılık gelen ve giriş doğrusal veya areal coğrafyasını tamamen kapsayan H3 hücre kimliklerinden oluşan bir DIZI (BIGINT olarak gösterilir) döndürür.
h3_coverash3string(geographyExpr, resolutionExpr) Belirtilen çözünürlüğün en az onaltılık veya beşgen kümesine karşılık gelen ve giriş doğrusal veya areal coğrafyasını tamamen kapsayan H3 hücre kimliklerinden oluşan bir DIZI (STRING olarak temsil edilir) döndürür.
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) Belirtilen çözünürlükte sağlanan boylam ve enlem ile ilgili H3 hücre kimliğini (BIGINT olarak) döndürür.
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) Belirtilen çözünürlükte sağlanan boylam ve enleme karşılık gelen H3 hücre kimliğini (onaltılık DIZE olarak) döndürür.
h3_pointash3(geographyExpr, resolutionExpr) Belirtilen çözünürlükte sağlanan noktaya karşılık gelen H3 hücre kimliğini (BIGINT olarak) döndürür.
h3_pointash3string(geographyExpr, resolutionExpr) Belirtilen çözünürlükte sağlanan noktaya karşılık gelen H3 hücre kimliğini (DIZE olarak) döndürür.
h3_polyfillash3(geographyExpr, resolutionExpr) 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.
h3_polyfillash3string(geographyExpr, resolutionExpr) Giriş yan coğrafyası tarafından kapsanan belirtilen çözünürlüğün altıgenlerine veya beşgenlerine karşılık gelen H3 hücre kimliklerinden oluşan bir DIZI (STRING olarak temsil edilir) döndürür.
h3_tessellateaswkb(geographyExpr, resolutionExpr) Belirtilen çözünürlükte H3 hücreleri kullanarak giriş coğrafyasının döşemesini döndürür.
h3_try_polyfillash3(geographyExpr, resolutionExpr) 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.
h3_try_polyfillash3string(geographyExpr, resolutionExpr) Giriş yan coğrafyası tarafından kapsanan belirtilen çözünürlüğün altıgenlerine veya beşgenlerine karşılık gelen H3 hücre kimliklerinden oluşan bir DIZI (STRING olarak temsil edilir) döndürür.

Export

İşlev Açıklama
h3_boundaryasgeojson(h3CellIdExpr) GeoJSON biçimindeki giriş H3 hücresinin çokgen sınırını döndürür.
h3_boundaryaswkb(h3CellIdExpr) WKB biçimindeki giriş H3 hücresinin çokgen sınırını döndürür.
h3_boundaryaswkt(h3CellIdExpr) WKT biçimindeki giriş H3 hücresinin çokgen sınırını döndürür.
h3_centerasgeojson(h3CellIdExpr) Giriş H3 hücresinin merkezini GeoJSON biçiminde bir nokta olarak döndürür.
h3_centeraswkb(h3CellIdExpr) Giriş H3 hücresinin merkezini WKB biçiminde bir nokta olarak döndürür.
h3_centeraswkt(h3CellIdExpr) Giriş H3 hücresinin merkezini WKT biçiminde bir nokta olarak döndürür.

Dönüşümler

İşlev Açıklama
h3_h3tostring(h3CellIdExpr) Giriş H3 hücre kimliğini eşdeğer onaltılık dize gösterimine dönüştürür.
h3_stringtoh3(h3CellIdStringExpr) Bir H3 hücre kimliğini temsil eden onaltılık bir dize olması beklenen giriş dizesini H3 hücre kimliğinin ilgili BIGINT gösterimine dönüştürür.

Koşullar

İşlev Açıklama
h3_ischildof(h3CellId1Expr, h3CellId2Expr) İlk H3 hücre kimliği ikinci H3 hücre kimliğine eşitse veya alt öğeyse true döndürür.
h3_ispentagon(h3CellIdExpr) BIGINT veya onaltılık STRING girişi beşgen bir H3 hücresine karşılık geliyorsa veya karşılık geliyorsa true döndürür.

Geçerlilik

İşlev Açıklama
h3_isvalid(expr) BIGINT veya STRING girişi geçerli bir H3 hücre kimliğiyse true döndürür.
h3_try_validate(h3CellIdExpr) Geçerli bir H3 hücre kimliğine karşılık geliyorsa BIGINT veya STRING türündeki giriş değerini veya aksi takdirde NULL değerini döndürür.
h3_validate(h3CellIdExpr) Geçerli bir H3 hücre kimliğine karşılık geliyorsa, BIGINT veya STRING türünde bir giriş değeri döndürür veya aksi takdirde bir hata yayar.
İşlev Açıklama
h3_distance(h3CellId1Expr, h3CellId2Expr) İki giriş H3 hücre kimliklerinin kılavuz uzaklığı döndürür.
h3_hexring(h3CellIdExpr, kExpr) Merkez H3 hücresinde ortalanmış ve kaynak H3 hücresinden kılavuz uzaklığında k olan boş bir altıgen halka oluşturan bir H3 hücre kimlikleri dizisi döndürür.
h3_kring(h3CellIdExpr, kExpr) Kaynak hücre kimliğinin (kılavuz) uzaklığındaki k H3 hücre kimliklerini döndürür.
h3_kringdistances(h3CellIdExpr, kExpr) Kaynak H3 hücre kimliğinden kılavuz uzaklığındaki k tüm H3 hücre kimliklerini (uzun tamsayılar veya dizeler olarak gösterilir) ve kaynak H3 hücre kimliğinden uzaklıklarını döndürür.
h3_try_distance(h3CellId1Expr, h3CellId2Expr) Aynı çözünürlükteki iki giriş H3 hücre kimliklerinin kılavuz uzaklıklarını veya uzaklık tanımlanmamışsa NULL değerini döndürür.

Geçişi

İşlev Açıklama
h3_maxchild(h3CellIdExpr, resolutionExpr) Belirtilen çözünürlükte giriş H3 hücresinin en büyük değerinin alt öğesini döndürür.
h3_minchild(h3CellIdExpr, resolutionExpr) Belirtilen çözünürlükte giriş H3 hücresinin en düşük değerinin alt öğesini döndürür.
h3_resolution(h3CellIdExpr) Giriş H3 hücre kimliğinin çözünürlüğünü döndürür.
h3_tochildren(h3CellIdExpr, resolutionExpr) Belirtilen çözünürlükte giriş H3 hücre kimliğinin alt H3 hücre kimliklerinden oluşan bir dizi döndürür.
h3_toparent(h3CellIdExpr, resolutionExpr) Belirtilen çözünürlükte giriş H3 hücre kimliğinin üst H3 hücre kimliğini döndürür.

Sıkıştırma

İşlev Açıklama
h3_compact(h3CellIdsExpr) H3 hücre kimliklerinin giriş kümesini mümkün olan en iyi şekilde sıkıştırıyor.
h3_uncompact(h3CellIdsExpr, resolutionExpr) H3 hücre kimliklerinin giriş kümesini belirtilen çözünürlüğe göre çözer.