29 votos

¿Cuál es la unidad utilizada en ST_Distance()?

Me pregunto cuál es la unidad de la carroza que está siendo devuelta de ST_Distance .

En la documentación dice:

...distancia mínima cartesiana (basada en la ref. espacial) entre dos geometrías en unidades proyectadas.

¿Qué son estas unidades proyectadas?

La geometría se almacena en un campo: geometry(Point,4326) .

42voto

Lars Mæhlum Puntos 4569

Creo que esta es la pregunta más frecuente en la lista de PostGIS a lo largo del tiempo :-)

Si sus datos están en el SRID 4326 y utiliza geometry escriba el resultado no dará ningún significado. Está en grados.

Para obtener el resultado en metros sólo hay que tirar a geography tipo y ST_Distance calculará la distancia a lo largo del gran círculo y regresará en metros.

geometry(Point,4326)::geography

Otra opción es proyectar sus datos a alguna proyección local basada en una unidad adecuada. Entonces la respuesta estará en esa unidad.

4voto

De http://postgis.net/docs/ST_Distance.html

--Ejemplo de geometría - unidades en grados planares 4326 es WGS 84 largo lat unidad=grados

Si ST_Distance se le dan dos geometrías, asume que esas geometrías están realmente en coordenadas cartesianas (o planas). Por lo tanto, las unidades son las mismas que las de las coordenadas normalmente metros o pies.

Su problema parece ser que su sistema de referencia espacial, 4326, en realidad utiliza coordenadas geográficas (angulares) - grados de longitud - por lo que los resultados son en grados (algo sin sentido).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X