Dans PostGIS, la ST_length()
fonction renvoie la longueur d'une chaîne de lignes dans certaines unités, mais pas en mètres.
Y a-t-il une fonction comme ST_Length()
mais en mètres?
St_Length () renvoie la longueur dans les unités de son système de référence spatiale. Si vous souhaitez obtenir des compteurs, vous devrez transformer votre fonction en un SRS différent qui utilise les compteurs comme unités. Cela peut être fait à la volée, alors ne vous inquiétez pas d'écrire un autre ensemble de données.
SELECT ST_AsText(ST_Transform(the_geom,26915)) from my_table;
Dans cet exemple, SRID 26915 est UTM Zone 15 N, NAD83.
Il semble que depuis PostGIS 2.0 (peut-être avant), vous pouvez également le faire
ST_Length
en refondant la géométrie à la géographie:ST_Length(geom::geography)
Par exemple, la distance entre 50 ° N, 12 ° E et 51 ° N, 13 ° E:
qui donne
la source
Exemples de requête SQL: comment calculer la longueur d'une polyligne-géométrie-pour-plusieurs-tables-en-postgis
Requête SQL (longueur en km (/ 1000 - supprimer pour les mètres)):
la source
Utilisez la formule suivante:
la source