Name

ST_Length — Gibt den geometrischen Schwerpunkt einer Geometrie zurück.

Synopsis

float ST_Length(geometry a_2dlinestring);

float ST_Length(geography geog, boolean use_spheroid = true);

Beschreibung

Beim geometrischen Datentyp wird die kartesische 2D Länge der Geometrie zurückgegeben. Dabei muss es sich um einen LineString, einen MultiLineString, eine ST_Curve oder eine ST_MultiCurve handeln. Bei einer flächigen Geometrie wird 0 zurückgegeben. Für eine flächige Geometrie können Sie ST_Perimeter verwenden. Bei den geometrischen Datentypen sind die Einheiten für die Längenmessungen durch das Koordinatenreferenzsystem festgelegt.

For geography types: computation is performed using the inverse geodesic calculation. Units of length are in meters. The spheroid is specified by the SRID; when no SRID is provided, WGS84 is used. If use_spheroid = false, then the calculation is based on a sphere instead of a spheroid.

Zur Zeit ein Synonym für ST_Length2D; dies kann sich allerdings ändern, wenn höhere Dimensionen unterstützt werden.

[Warning]

Änderung: 2.0.0 Wesentliche Änderung -- In früheren Versionen ergab die Anwendung auf ein MULTI/POLYGON vom geographischen Datentyp den Umfang des POLYGON/MULTIPOLYGON. In 2.0.0 wurde dies geändert und es wird jetzt 0 zurückgegeben, damit es mit der Verhaltensweise beim geometrischen Datentyp übereinstimmt. Verwenden Sie bitte ST_Perimeter, wenn Sie den Umfang eines Polygons wissen wollen

[Note]

Beim geographischer Datentyp werden die Messungen standardmäßig am Referenzellipsoid durchgeführt. Für die schnellere, aber ungenauere Berechnung auf einer Kugel können Sie ST_Length(gg,false) verwenden;

Diese Methode implementiert die OGC Simple Features Implementation Specification for SQL 1.1. s2.1.5.1

Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM 3: 7.1.2, 9.3.4

Verfügbarkeit: 1.5.0 Unterstützung von geograpischen Koordinaten.

Beispiele mit dem geometrischen Datentyp

Gibt die Länge eines Linienstücks zurück. Beachten Sie, dass die Einheit Fuß ist, da EPSG:2249 "Massachusetts State Plane Feet" ist

SELECT ST_Length(ST_GeomFromText('LINESTRING(743238 2967416,743238 2967450,743265 2967450,
743265.625 2967416,743238 2967416)',2249));

st_length
---------
 122.630744000095


--Transforming WGS 84 LineString to Massachusetts state plane meters
SELECT ST_Length(
        ST_Transform(
                ST_GeomFromEWKT('SRID=4326;LINESTRING(-72.1260 42.45, -72.1240 42.45666, -72.123 42.1546)'),
                26986
        )
);

st_length
---------
34309.4563576191
                        

Beispiele für den geographischen Datentyp 

Gibt die Länge einer Linie zurück, die in geographischen WGS 84 Koordinaten vorliegt.

-- the default calculation uses a spheroid
SELECT ST_Length(the_geog) As length_spheroid,  ST_Length(the_geog,false) As length_sphere
FROM (SELECT ST_GeographyFromText(
'SRID=4326;LINESTRING(-72.1260 42.45, -72.1240 42.45666, -72.123 42.1546)') As the_geog)
 As foo;

 length_spheroid  |  length_sphere
------------------+------------------
 34310.5703627288 | 34346.2060960742