2 votos

ST_ShortestLine da resultados diferentes para las proyecciones 4326 y 900913

Estoy intentando entender cómo funcionan ST_ShortestLine (y ST_Distance y ST_LineLocatePoint) con diferentes proyecciones. El resultado de la línea más corta difiere según la proyección que utilice (4326 o 900913).

Este es el resultado visualizado como 4326 (rosa es ST_ShortestLine en la geometría dejada en 4326, azul es ST_ShortestLine en la geometría transformada a 900913)

enter image description here

Y este es el mismo resultado visualizado como 900913 (rosa es ST_ShortestLine en la geometría dejada en 4326, azul es ST_ShortestLine en la geometría transformada a 900913)

enter image description here

Como puedes ver, ambas son la línea más corta dependiendo de la proyección en la que las visualices. Entonces, ¿cuál es la "línea más corta" correcta en la realidad? Lo que estoy visualizando aquí es el punto más cercano de una carretera a una parada de autobús: la pequeña diferencia en el resultado es realmente importante para la precisión geográfica.

Si ayuda, la salida final para estos datos será en la proyección 900913 (D3.js). Estoy feliz de ir con la salida 900913 transformado, sólo quiero entender lo que está pasando y cuál es en realidad verdaderamente más corto.

3voto

ALTN Puntos 33

Como dice Mike, lo mejor es utilizar un sistema de proyección local, ya que en distancias cortas (menos de 20 km) la Tierra es casi plana. Por tanto, las mediciones realizadas en el plano de proyección son muy precisas.

Sólo hay que tener en cuenta que para distancias más largas hay que hacer varias correcciones. Esto se debe a la forma elipsoidal de la Tierra.

Una buena forma de verlo es;

Si un avión vuela de Londres a Tokio, recorrerá la distancia más corta entre ambos puntos. Esta "distancia más corta" será a lo largo de un arco (siguiendo la curvatura de la Tierra).

Shortest distance between two points

En la imagen de arriba he utilizado una esfera para demostrar la idea. Es lo mismo si se utiliza un elipsoide, es decir, el elipsoide WGS84 utilizado habitualmente para las proyecciones.

Cuando la trayectoria del avión se proyecta a un plano será como una línea curva. Esta línea curva es de hecho la distancia más corta entre los dos puntos y no la distancia en línea recta entre los dos puntos en la proyección del plano.

Esta diferencia entre la distancia más corta de la proyección (línea recta) y la distancia más corta real (línea curva) se regirá por algún factor de escala. El factor de escala depende en gran medida de la distancia entre los dos puntos, del elipsoide utilizado para la proyección, de la propia proyección y de la distancia de los puntos al meridiano central (por ejemplo, el meridiano de Greenwich o el que utilice su sistema local).

UTM projection

En la imagen superior, el meridiano central es el que coincide con la línea roja de la derecha. (Esta es una imagen de la proyección UTM)

En factor de escala aquí es menor en el meridiano central que en los extremos de la proyección, especialmente cerca de los polos.

2voto

hernan43 Puntos 566

Observe también las longitudes de las líneas de las dos proyecciones con ST_Length y verá cifras totalmente distintas, ya que las unidades de medida son diferentes (grados frente a metros).

El cálculo más aproximado basado en la distancia física es con el Mercator esférico proyección, 900913.

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