5 votos

Valor incorrecto en ST_distance entre dos líneas

Tengo dos geometrías (MULTILINESTRING, tipo 4326). Me los carga (una base de datos sql con estos valores) en QGIS y su distancia es de alrededor de 4 km (lo he comprobado con el archivo original en kml).

Distance betwen two lines

Cuando me mida la distancia entre ellos a través de PostGIS y me dieron un valor incorrecto:

select st_distance('0105000020E6100000010000000102000000020000000000000048A057C06E352565BCA1414000000000880855C02737039CC94E4240'::geography, '0105000020E6100000010000000102000000020000000000000078F757C04DE67241D707444000000000885157C037F73119779E3E40'::geography)

Devuelve 0 en lugar de 4 o 4000

10voto

MBCook Puntos 8316

Con el PostGIS geography tipo de datos, cada par de puntos a lo largo de un LineString define un gran círculo en el arco, no es un segmento de recta en un plano Cartesiano. Y los dos arcos definidos por los aportes que se cruzan, de ahí el reporte de distancia de cero.

Para visualizar esto, puede utilizar la ST_Segmentize función para agregar más vértices a lo largo de sus geografías. Al hacer esto, la forma del arco se hace evidente y se puede ver la intersección de las geografías. enter image description here:

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