Condividi tramite


Funzione st_perimeter

Si applica a:check contrassegnato come sì controllo SQL di Databricks contrassegnato come sì Databricks Runtime 17.1 e versioni successive

Important

Questa funzionalità è in Anteprima Pubblica.

Annotazioni

Questa funzionalità non è disponibile in Databricks SQL Classic Warehouses. Per altre informazioni sui databricks SQL Warehouse, vedere Tipi di SQL Warehouse.

Restituisce il perimetro dell'input identificato da GEOGRAPHY o GEOMETRY.

Syntax

st_perimeter ( geoExpr )

Arguments

  • geoExpr: un valore GEOGRAPHY o GEOMETRY.

Returns

Valore di tipo DOUBLE, che rappresenta il perimetro del valore di input GEOGRAPHY o GEOMETRY.

Se l'input è un GEOGRAPHY valore, la funzione calcola il perimetro geodesico del valore di input GEOGRAPHY. In particolare, restituisce la somma delle lunghezze geodesiche dei segmenti (2D proiezioni) di un poligono e la somma dei perimetri dei poligoni in un multipolygone. Per le geometrie non areali (punti, linee, multipunti e multilinee) viene restituito 0, mentre per le collezioni di geometrie restituisce la somma dei perimetri degli elementi nella collezione. Il risultato viene calcolato eseguendo il calcolo geodesico inverso presupponendo l'ellissoide WGS84. Le unità del risultato sono metri.

Se l'input è un GEOMETRY valore, la funzione restituisce il perimetro cartesiano del valore di input GEOMETRY . In particolare, restituisce la somma delle lunghezze dei segmenti cartesiani (2D) di un poligono e la somma dei perimetri dei poligoni in un multipolygone. Per le geometrie di tipo non areale (punti, linee di stringhe, multipunti e multilinee di stringhe) viene restituito 0, mentre per le collezioni di geometrie restituisce la somma dei perimetri degli elementi nella collezione. Le unità del risultato sono quelle del sistema di riferimento spaziale del valore di input GEOMETRY .

La funzione restituisce NULL se uno degli input è NULL.

Examples

-- Returns the perimeter of a 2D Cartesian polygon with a hole.
> SELECT round(st_perimeter(st_geomfromtext('POLYGON((0 0,50 0,50 50,0 50,0 0),(20 20,25 30,30 20,20 20))')), 2);
  232.36