- Catégories :
ST_LENGTH¶
Renvoie la longueur géodésique du ou des LineString dans un objet GEOGRAPHY ou la longueur euclidienne du ou des LineString dans un objet GEOMETRY.
Syntaxe¶
ST_LENGTH( <geography_or_geometry_expression> )
Arguments¶
geography_or_geometry_expression
L’argument doit être de type GEOGRAPHY ou GEOMETRY.
Renvoie¶
Renvoie une valeur REAL, qui représente la longueur :
Pour les valeurs d’entrée GEOGRAPHY, la longueur est en mètres.
Pour les valeurs d’entrée GEOMETRY, la longueur est calculée avec les mêmes unités que celles utilisées pour définir les coordonnées d’entrée.
Notes sur l’utilisation¶
Si
geography_or_geometry_expression
n’est pas un LineString, MultiLineString ou un GeometryCollection contenant des chaînes de lignes, ST_LENGTH renvoie 0.Si
geography_or_geometry_expression
est un GeometryCollection, ST_LENGTH renvoie la somme des longueurs des chaînes de lignes de la collection.Si vous voulez la longueur du périmètre d’un polygone, utilisez plutôt la fonction ST_PERIMETER.
Exemples¶
Exemples GEOGRAPHY¶
Cela montre la longueur en mètres d’un degré d’arc à l’équateur :
SELECT ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')); +---------------------------------------------------------+ | ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')) | |---------------------------------------------------------| | 111195.101177484 | +---------------------------------------------------------+
Exemples GEOMETRY¶
Les exemples suivants montrent comment utiliser la fonction ST_LENGTH.
SELECT ST_LENGTH(g), ST_ASWKT(g) FROM (SELECT TO_GEOMETRY(column1) AS g FROM VALUES ('POINT(1 1)'), ('LINESTRING(0 0, 1 1)'), ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));+--------------+--------------------------------+ | ST_LENGTH(G) | ST_ASWKT(G) | |--------------+--------------------------------| | 0 | POINT(1 1) | | 1.414213562 | LINESTRING(0 0,1 1) | | 0 | POLYGON((0 0,0 1,1 1,1 0,0 0)) | +--------------+--------------------------------+