1 votos

Consulta de proximidad en Hive utilizando la biblioteca geoespacial de ESRI

Tengo una tabla de líneas y otra de puntos y necesito encontrar todos los pares de línea + punto con una proximidad < 10 metros. La documentación de la biblioteca ESRI hive elude por completo cualquier discusión sobre las unidades para la distancia, pero estoy asumiendo que es en grados fraccionarios en un WGS84 CRS. ¿Hay alguna manera de llegar a la distancia lineal utilizando las funciones Hive ST_* en una consulta SQL?

1voto

Rus Puntos 121

Prueba con ST_GeodesicLengthWGS84 , como también se ha comentado en una cuestión de GitHub .

Algunos ejemplos se pueden encontrar en esta prueba script .

[Revelación: colaborador]

Actualización: Como se ha señalado, la cuestión vinculada es la distancia punto-punto, mientras que esta pregunta es línea-punto. Tal vez adaptar algo en el sentido de: 1. Filtro grueso con ST_Distance sobre la distancia angular, con el límite de distancia elegido utilizando los límites de latitud de la extensión de los datos. 2. Para las coincidencias candidatas, refinar el límite de distancia angular por latitud de los pares candidatos, utilizando ST_GeodesicLengthWGS84, y aplicar ST_Distance de nuevo. Para más ideas sobre esta técnica, véase el ejemplo de descubrimiento de viajes en GIS Tools for Hadoop

0 votos

Siento ser denso, pero no tengo claro cómo ST_GeodesicLengthWGS84 me permite determinar la proximidad de un punto a una línea. Parece que tendría que saber las coordenadas del punto más cercano de la línea para usar esa función. Si ST_Buffer aceptara la distancia lineal como argumento podría comprobar la intersección entre líneas y regiones del buffer, pero desgraciadamente no parece hacerlo.

0 votos

Es cierto, las líneas lo hacen más difícil que los puntos.

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