ST_LengthSpheroid — Gibt den geometrischen Schwerpunkt einer Geometrie zurück.
float ST_LengthSpheroid(
geometry a_geometry, spheroid a_spheroid)
;
Berechnet die/den Länge/Umfang einer Geometrie auf einem Ellipsoid. Dies ist nützlich wenn die Koordinaten der Geometrie in Länge und Breite vorliegen, und die Länge der Geometrie ohne benötigt wird, ohne dass umprojiziert werden muss. Das Ellipsoid ist ein eigener Datentyp und kann wie folgt erstellt werden:
SPHEROID[<NAME
>,<SEMI-MAJOR AXIS
>,<INVERSE FLATTENING
>]
Geometrie Beispiel
SPHEROID["GRS_1980",6378137,298.257222101]
Verfügbarkeit: 1.2.2
Änderung: 2.2.0 In Vorgängerversionen als ST_Length_Spheroid bezeichet.und mit dem Alias "ST_3DLength_Spheroid" versehen
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
SELECT ST_LengthSpheroid( geometry_column, 'SPHEROID["GRS_1980",6378137,298.257222101]' ) FROM geometry_table; SELECT ST_LengthSpheroid( geom, sph_m ) As tot_len, ST_LengthSpheroid(ST_GeometryN(geom,1), sph_m) As len_line1, ST_LengthSpheroid(ST_GeometryN(geom,2), sph_m) As len_line2 FROM (SELECT ST_GeomFromText('MULTILINESTRING((-118.584 38.374,-118.583 38.5), (-71.05957 42.3589 , -71.061 43))') As geom, CAST('SPHEROID["GRS_1980",6378137,298.257222101]' As spheroid) As sph_m) as foo; tot_len | len_line1 | len_line2 ------------------+------------------+------------------ 85204.5207562955 | 13986.8725229309 | 71217.6482333646 --3D SELECT ST_LengthSpheroid( geom, sph_m ) As tot_len, ST_LengthSpheroid(ST_GeometryN(geom,1), sph_m) As len_line1, ST_LengthSpheroid(ST_GeometryN(geom,2), sph_m) As len_line2 FROM (SELECT ST_GeomFromEWKT('MULTILINESTRING((-118.584 38.374 20,-118.583 38.5 30), (-71.05957 42.3589 75, -71.061 43 90))') As geom, CAST('SPHEROID["GRS_1980",6378137,298.257222101]' As spheroid) As sph_m) as foo; tot_len | len_line1 | len_line2 ------------------+-----------------+------------------ 85204.5259107402 | 13986.876097711 | 71217.6498130292