En realidad, tanto el manual como el artículo mencionado están bien. Esa función te devuelve exactamente lo que te dice:
Cita: GLength
Devuelve la longitud del valor LineString ls como un número de doble precisión
en su sistema de referencia espacial asociado.
Código MySQL:
Ver originalmysql
> SET @ls
= 'LineString(1 1,2 2,3 3)';+----------------------------+
+----------------------------+
| 2.8284271247462 |
+----------------------------+
Lo que no estás teniendo en cuenta es lo que significa
en su sistema de referencia espacial asociado. Eso significa que el valor devuelto está en la misma representación usada con los valores que se ingresaron.
Esto significa que lo que debes hacer es convertir ese valor en una medida de kilómetros o metros para obtener el valor real. Si cada grado representa aproximadamente 111 Km, el resultado de la conversión sería de cerca de 149 metros...
Metros más, metros menos...