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

20

Me pregunto cuál es la unidad del flotador que se devuelve desde ST_Distance .

En la documentación dice:

  

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

¿Qué son estas unidades proyectadas?

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

    
pregunta stUrb 09.11.2013 - 21:48

2 respuestas

32

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 SRID 4326 y utiliza el tipo geometry , el resultado no dará ningún significado. Está en grados.

Para obtener el resultado en metros, conviértalos a geography type 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 una proyección local basada en una unidad adecuada. Entonces la respuesta estará en esa unidad.

    
respondido por el Nicklas Avén 09.11.2013 - 21:59
4

De enlace

  

- Ejemplo de geometría: las unidades en grados planos 4326 son WGS 84 long lat unit = degrees

Si a ST_Distance se le dan dos geometrías, se supone 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, generalmente metros o pies.

Su problema parece ser que su sistema de referencia espacial, 4326, en realidad usa coordenadas geográficas (angulares) (grados de latitud larga), por lo que los resultados están en grados (algo sin sentido).

    
respondido por el Martin F 09.11.2013 - 22:08

Lea otras preguntas en las etiquetas