h3_polyfillash3string fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai STRING) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.

Sintaks

h3_polyfillash3string ( geographyExpr, resolutionExpr )

Argumen

  • geographyExpr: Ekspresi BINER atau STRING yang mewakili geografi areal (poligon atau multipoligon) di WKB, WKT, atau GeoJSON. Geografi ini diharapkan memiliki koordinat bujur dan lintang dalam derajat yang mengacu pada sistem referensi koordinat WGS84 .
  • resolutionExpr: Ekspresi INT, yang nilainya diharapkan antara 0 dan 15 inklusif, menentukan resolusi untuk ID sel H3.

Mengembalikan

ARRAY nilai STRING yang sesuai dengan ID sel H3, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.

Fungsi mengembalikan NULL jika salah satu ekspresi input adalah NULL. Jika argumen input pertama berjenis BINARY, nilai input diharapkan menjadi deskripsi WKB dari poligon atau multipoligon. Jika argumen input pertama berjenis STRING, nilai input diharapkan menjadi WKT atau deskripsi GeoJSON dari poligon atau multipoligon. Dimensi poligon input atau multipoligon dapat berupa 2D, 3DZ, 3DM, atau 4D.

Kondisi kesalahan

  • Jika geographyExpr berjenis BINARY dan nilainya adalah WKB yang tidak valid atau tidak mewakili poligon atau multipoligon, fungsi mengembalikan WKB_PARSE_ERROR.
  • Jika geographyExpr berjenis STRING dan nilainya adalah WKT yang tidak valid atau tidak mewakili poligon atau multipoligon, fungsi mengembalikan WKT_PARSE_ERROR.
  • Jika geographyExpr berjenis STRING dan nilainya adalah GeoJSON yang tidak valid atau tidak mewakili poligon atau multipoligon, fungsi mengembalikan GEOJSON_PARSE_ERROR.
  • Jika resolutionExpr lebih kecil dari 0 atau lebih besar dari 15, fungsi mengembalikan H3_INVALID_RESOLUTION_VALUE.

Contoh

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_polyfillash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

-- Feeding an empty linestring in GeoJSON format (as opposed to a polygon or multipolygon).
> SELECT h3_polyfillash3string('{"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_polyfillash3string(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_polyfillash3string('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_polyfillash3string('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