Dela via


Funktionen h3_coverash3

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare

Returnerar en MATRIS med BIGINT-värden som representerar H3-cell-ID:er. Dessa värden motsvarar den minimala uppsättningen sexhörningar eller pentagoner, av den angivna upplösningen som helt täcker indataradiska eller areala geografiska områden.

Syntax

h3_coverash3 ( geographyExpr, resolutionExpr )

Argument

  • geographyExpr: Ett binärt uttryck eller STRING-uttryck som representerar ett linjärt (linjediagram eller flera linjer) eller arealgeografi (polygon eller multipolygon) i WKB, WKT eller GeoJSON. Geografin måste ha longitud- och latitudkoordinater i grader som refererar till WGS84-koordinatreferenssystemet .
  • resolutionExpr: Ett INT-uttryck, med ett värde mellan 0 och 15 inkluderande, som anger upplösningen för H3-cell-ID:t.

Returer

En MATRIS med BIGINT-värden som motsvarar den minimala uppsättningen H3-cell-ID:er, av den angivna upplösningen, som helt täcker indataradiska eller areala geografiska områden.

Funktionen returnerar NULL om något av indatauttrycken är NULL. Om det första indataargumentet är av typen BINARY måste indatavärdet vara WKB-beskrivningen av en polygon eller en multipolygon. Om det första indataargumentet är av typen STRING måste indatavärdet vara antingen WKT- eller GeoJSON-beskrivningen för en linjedragning, polygon, multilinestring eller multipolygon. Dimensionen för indatalinjer, polygon, multilinestring eller multipolygon kan vara 2D, 3DZ, 3DM eller 4D.

Feltillstånd

  • Om geographyExpr är av typen BINARY och värdet antingen är en ogiltig WKB eller inte representerar en linjedragning, polygon, multilinestring eller multipolygon, returnerar funktionen WKB_PARSE_ERROR.
  • Om geographyExpr är av typen STRING och värdet antingen är en ogiltig WKT eller inte representerar en linjering, polygon, multilinestring eller multipolygon, returnerar funktionen WKT_PARSE_ERROR.
  • Om geographyExpr är av typen STRING och värdet antingen är en ogiltig GeoJSON eller inte representerar en linjering, polygon, multilinestring eller multipolygon, returnerar funktionen GEOJSON_PARSE_ERROR.
  • Om resolutionExpr är mindre än 0 eller större än 15returnerar funktionen H3_INVALID_RESOLUTION_VALUE.

Exempel

-- 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