fungsi h3_try_coverash3string

Berlaku untuk:ditandai ya Databricks SQL ditandai ya Databricks Runtime 16.3 ke atas

Fungsi ini berperilaku sama dengan h3_coverash3string, tetapi mengembalikan NULL sebagai gantinya jika argumen pertama tidak valid. Ini mengembalikan sebuah ARRAY dari nilai BIGINT yang mewakili ID sel H3. Nilai-nilai ini sesuai dengan sekumpulan segi enam atau segi lima minimal pada resolusi yang ditentukan yang sepenuhnya mencakup geografi linier atau areal yang diinput.

Sintaksis

h3_try_coverash3string ( geographyExpr, resolutionExpr )

Argumen

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

Pengembalian Barang

Nilai ARRAY yang BIGINT sesuai dengan sekumpulan segi enam atau segi lima minimal pada resolusi yang ditentukan yang sepenuhnya mencakup geografi linier atau areal input.

Fungsi mengembalikan NULL jika salah satu ekspresi input adalah NULL. Jika argumen input pertama berjenis BINARY, nilai input harus berupa deskripsi WKB dari linestring, poligon, multilinestring, atau multipolygon. Jika argumen input pertama berjenis STRING, nilai input harus berupa WKT atau deskripsi GeoJSON dari linestring, poligon, multilinestring, atau multipoligon. Dimensi dari linestring input, poligon, multilinestring, atau multipoligon bisa berupa 2D, 3DZ, 3DM, atau 4D. Fungsi mengembalikan NULL jika argumen pertama sesuai dengan WKB, WKT, atau GeoJSON yang tidak valid atau tidak mewakili linestring, poligon, multilinestring, atau multipoligon.

Kondisi kesalahan

Contoh

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0);
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0);
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3string('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1);
  [8148fffffffffff, 8129bffffffffff, 812a3ffffffffff, 812abffffffffff, 81267ffffffffff, 8126fffffffffff, 81283ffffffffff]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_try_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2);
  null

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_try_coverash3string(unhex('020700000000'), 2);
  null

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_try_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2);
  null

-- Resolution is out of range.
> SELECT h3_try_coverash3string('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