funktion st_length

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime 17.1 och senare

Important

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Anmärkning

Den här funktionen är inte tillgänglig på de klassiska Databricks SQL-lagerhus. Mer information om Databricks SQL-lager finns i SQL-lagertyper.

Returnerar längden på indata GEOGRAPHY eller GEOMETRY värde.

Syntax

st_length ( geoExpr )

Arguments

  • geoExpr: Ett GEOGRAPHY- eller GEOMETRY-värde.

Returns

Ett värde av typen DOUBLE, som representerar längden på indata GEOGRAPHY eller GEOMETRY värde.

Om indata är ett GEOGRAPHY värde returnerar funktionen 2D-geodesisk längd för den linjära delen av GEOGRAPHY värdet. Mer specifikt returnerar funktionen den geodesiska längden för linjer och summan av längden på linjerna i en multilinestring. För icke-linjära geografiska områden (punkter, polygoner, multipunkter och multipolygoner) returneras 0, medan för geometrisamlingar returnerar funktionen summan av längden på elementen i samlingen. Resultatet beräknas genom att utföra den geodesiska omvända beräkningen med förutsättningen att WGS84-ellipsoiden används. Resultatets enheter är mätare.

Om indata är ett GEOMETRY värde returnerar funktionen 2D-kartesiansk längd för den linjära delen av GEOMETRY värdet. Mer specifikt returnerar funktionen 2D-kartesisk längd för linjedragningar och summan av längden på linjerna i en multilinestring. För icke-linjära geometrier (punkter, polygoner, multipunkter och multipolygoner) returneras 0, medan den för geometrisamlingar returnerar summan av längden på elementen i samlingen. Resultatets enheter är de som ingår i det rumsliga referenssystemet för indatavärdet GEOMETRY .

Funktionen returnerar NULL om någon av indata är NULL.

Examples

-- Returns the length of a 2D Cartesian linestring.
> SELECT round(st_length(st_geomfromtext('LINESTRING(10 34,44 57,30 24)')), 8);
  76.89564816