No PostGIS, a ST_length()
função retorna o comprimento de uma cadeia de linhas em algumas unidades, mas não em metros.
Existe uma função como ST_Length()
mas em metros?
St_Length () retorna o comprimento nas unidades do seu Sistema de referência espacial. Se você deseja obter medidores, precisará transformar seu recurso em um SRS diferente que use medidores como unidades. Isso pode ser feito imediatamente, portanto, não se preocupe em escrever outro conjunto de dados.
SELECT ST_AsText(ST_Transform(the_geom,26915)) from my_table;
Neste exemplo, SRID 26915 é UTM Zone 15 N, NAD83.
Parece que, desde o PostGIS 2.0 (talvez antes), você também pode fazer isso
ST_Length
reformulando a geometria para a geografia:ST_Length(geom::geography)
Por exemplo, a distância entre 50 ° N, 12 ° E e 51 ° N, 13 ° E:
que dá
fonte
Exemplos de solicitação SQL: como calcular o comprimento da polilinha-geometria para várias tabelas no postgis
Solicitação SQL (comprimento em km (/ 1000 - exclusão por metros)):
fonte
Use a seguinte fórmula:
fonte