Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca tablicę struktur danych reprezentujących układy obejmujące obszar geograficzny w określonej rozdzielczości lub wartość null, jeśli geometria jest nieprawidłowa. Dokładniej mówiąc, elementy zwracanej tablicy są nazwane strukturami z trzema nazwami pól "cellid", "core" i "chip":
- Pole "cellid" zawiera jedną z komórek H3 obejmujących lokalizację geograficzną danych wejściowych.
- Pole "core" określa, czy wielokąt graniczny komórki H3 w polu "cellid" mieści się wewnątrz geograficznego obszaru wejściowego. Może się to zdarzyć tylko w przypadku powierzchniowych danych geoprzestrzennych. Jeśli komórka jest zawarta w lokalizacji geograficznej danych wejściowych, wartość jest ustawiona na
True, a w przeciwnym razie nafalse. - Pole "chip" to przecięcie (kartezjańskie) wielokąta komórki H3, który odpowiada identyfikatorowi komórki H3 w polu "cellid", z geografią źródłową reprezentowaną w formacie WKB. Zestaw identyfikatorów komórek H3 zwracanych jako elementy "cellid" struktur w tablicy jest minimalnym zestawem pokrycia dla lokalizacji geograficznej danych wejściowych.
Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz h3_try_tessellateaswkb funkcja.
Składnia
from pyspark.databricks.sql import functions as dbf
dbf.h3_try_tessellateaswkb(col1=<col1>, col2=<col2>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col1 |
pyspark.sql.Column lub str |
Ciąg reprezentujący lokalizację geograficzną w systemie odniesienia współrzędnych WGS84 w formacie WKT lub GeoJSON albo PLIK BINARNY reprezentujący liniową lub arealną lokalizację geograficzną w systemie odniesienia współrzędnych WGS84 w formacie WKB. |
col2 |
pyspark.sql.Column, str lub int |
Rozdzielczość identyfikatorów komórek H3, które obejmują obszar geograficzny. |
Przykłady
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as f
df = spark.createDataFrame([('MULTIPOINT(20 0,20 10,40 30)', 0),], ['wkt', 'res'])
chips = df.select(f.inline(dbf.h3_try_tessellateaswkb('wkt', 'res')).alias('cell', 'core', 'chip'))
chips.select(dbf.h3_h3tostring('cell').alias('cell'),dbf.st_astext(dbf.st_geomfromwkb('chip')).alias('wkt')).collect()
[Row(cell='802dfffffffffff', wkt='POINT(40 30)'), Row(cell='806bfffffffffff', wkt='MULTIPOINT((20 0),(20 10))')]