Delen via


h3_polyfillash3-functie

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

Retourneert een MATRIX van H3-cel-id's (weergegeven als BIGINT) die overeenkomen met zeshoeken of vijfhoeken, van de opgegeven resolutie, die zijn opgenomen in de invoer geografie.

Syntaxis

h3_polyfillash3 ( geographyExpr, resolutionExpr )

Argumenten

  • geographyExpr: Een BINAIRE of TEKENREEKS-expressie die een areale geografie (veelhoek of multipolygon) vertegenwoordigt in WKB, WKT of GeoJSON. De geografie heeft naar verwachting lengte- en breedtegraadcoördinaten in graden die verwijzen naar het WGS84-coördinaatreferentiesysteem .
  • resolutionExpr: Een INT-expressie, waarvan de waarde naar verwachting tussen 0 en 15 inclusief is, waarbij de resolutie voor de H3-cel-id's wordt opgegeven.

Retouren

Een MATRIX van BIGINT-waarden die overeenkomen met de H3-cel-id's, van de opgegeven resolutie, die zijn opgenomen in de invoer, zijn geografie.

De functie retourneert NULL als een van de invoerexpressies NULL is. Als het eerste invoerargument van het type BINARY is, is de invoerwaarde naar verwachting de WKB-beschrijving van een veelhoek of een multipolygon. Als het eerste invoerargument van het type STRING is, is de invoerwaarde naar verwachting de WKT of de GeoJSON-beschrijving van een veelhoek of een multipolygon. De dimensie van de invoermagon of multipolygon kan 2D, 3DZ, 3DM of 4D zijn.

Foutvoorwaarden

  • Als geographyExpr het type BINARY is en de waarde een ongeldige WKB is of geen veelhoek of multipolygon vertegenwoordigt, retourneert de functie WKB_PARSE_ERROR.
  • Als geographyExpr van het type STRING is en de waarde een ongeldige WKT is of geen veelhoek of multipolygon vertegenwoordigt, retourneert de functie WKT_PARSE_ERROR.
  • Als geographyExpr het type STRING is en de waarde een ongeldige GeoJSON is of geen veelhoek of multipolygon vertegenwoordigt, retourneert de functie GEOJSON_PARSE_ERROR.
  • Als resolutionExpr deze kleiner is dan 0 of groter 15is, retourneert de functie H3_INVALID_RESOLUTION_VALUE.

Voorbeelden

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_polyfillash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
  [586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
  [586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]

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