En PostGIS, la ST_length()
función devuelve la longitud de una cadena lineal en algunas unidades, pero no en metros.
¿Hay una función como ST_Length()
pero en metros?
St_Length () devuelve la longitud en las unidades de su Sistema de referencia espacial. Si desea obtener medidores, deberá transformar su función a un SRS diferente que use medidores como unidades. Esto se puede hacer sobre la marcha, así que no se preocupe por escribir otro conjunto de datos.
SELECT ST_AsText(ST_Transform(the_geom,26915)) from my_table;
En este ejemplo, SRID 26915 es UTM Zone 15 N, NAD83.
Parece que desde PostGIS 2.0 (tal vez antes) también puede hacer esto
ST_Length
al cambiar la geometría a la geografía:ST_Length(geom::geography)
Por ejemplo, la distancia entre 50 ° N, 12 ° E y 51 ° N, 13 ° E:
lo que da
fuente
Ejemplos de solicitud de SQL: cómo calcular la longitud de la polilínea-geometría-para-varias-tablas-en-postgis
Solicitud de SQL (longitud en km (/ 1000 -delete para metros)):
fuente
Use la siguiente fórmula:
fuente