Delen via


h3_coverash3-functie

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

Hiermee wordt een ARRAY met BIGINT-waarden geretourneerd die H3-cel-ID's vertegenwoordigen. Deze waarden komen overeen met de minimale set zeshoeken of vijfhoeken, van de opgegeven resolutie, die volledig de invoer van lineaire of areale geografie dekt.

Syntaxis

h3_coverash3 ( geographyExpr, resolutionExpr )

Argumenten

  • geographyExpr: Een BINAIRE of TEKENREEKS expressie die een lineaire (linestring of multilinestring) of een areaal (veelhoek of multipolygon) geografische representatie vertegenwoordigt in WKB, WKT of GeoJSON. De geografie moet lengte- en breedtegraadcoördinaten hebben in graden die verwijzen naar het WGS84-coördinaatreferentiesysteem .
  • resolutionExpr: Een INT-expressie, met een waarde tussen 0 en 15 inclusief, waarmee de resolutie voor de H3-cel-id's wordt opgegeven.

Retouren

Een ARRAY van BIGINT-waarden die overeenkomen met de minimale set H3-cel-id's, van de opgegeven resolutie, die volledig de lineaire of areale geografie van de invoer dekken.

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

Foutvoorwaarden

  • Als geographyExpr van het type BINARY is en de waarde een ongeldige WKB is of geen lijnstring, veelhoek, multilijnstring 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 lijnentring, veelhoek, multilinestring of multipolygon vertegenwoordigt, retourneert de functie WKT_PARSE_ERROR.
  • Als geographyExpr van het type STRING is en de waarde een ongeldige GeoJSON is of geen lijnentring, veelhoek, multilinestring of multipolygon vertegenwoordigt, retourneert de functie GEOJSON_PARSE_ERROR.
  • Als resolutionExpr kleiner is dan 0 of groter dan 15, retourneert de functie H3_INVALID_RESOLUTION_VALUE.

Voorbeelden

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0);
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0);
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1);
  [582248581512036351, 581698825698148351, 581707621791170559, 581716417884192767, 581641651093503999, 581650447186526207, 581672437419081727]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3('{"type":"MultiPoint","coordinates":[]}', 2);
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"MultiPoint"' at position 9

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_coverash3(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_coverash3('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_coverash3('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