8 votos

Almacenamiento de pistas GPS con marcas de tiempo en PostGIS

Necesito almacenar una serie de puntos GPS con marcas de tiempo en la base de datos (rastros de varios vehículos).

Me pregunto cuál de los dos enfoques elegir para almacenarlos en la tabla PostGIS: 1.) Cada punto en su propia fila con una columna separada para la marca de tiempo y otra para el ID de la pista

2.) Utilice Linestring o MultiLineString con la cuarta coordenada M que contendría la marca de tiempo UNIX de la hora para el punto en la pista. Esto significaría una sola fila para cada pista separada.

0 votos

No entiendo a qué te refieres con una cuarta coordenada M que contendría el timestamp de UNIX. ¿Puede ser más específico? ¿No es mejor almacenar la marca de tiempo en un campo separado?

4voto

neouser99 Puntos 1203

Personalmente, almaceno los datos recogidos por mi unidad GPS como una capa de puntos con un campo de marca de tiempo, entonces puedo utilizar ST_Makeline si necesito las cuerdas de la línea. Si tienes Postgres 9.0+ puedes usar un ORDER BY en tus llamadas a agregados para asegurarte de que la línea va de punto a punto en orden cronológico. Pierdo los valores M a lo largo de las líneas creadas, pero si los necesito siempre tengo la capa de puntos que puedo lanzar en el fondo.

2voto

Martin Duys Puntos 121

Depende de lo que quieras hacer con los datos una vez cargados en la base de datos. Si cada punto de datos tiene atributos asociados además de la hora (por ejemplo, la lectura de la temperatura del motor, una foto) o si va a querer utilizar los datos puntuales en un análisis, entonces almacenar cada dato en su propia fila es una buena opción.

Si cada vía tiene atributos asociados (por ejemplo, el nombre del evento) o sus análisis serán sobre vías (por ejemplo, encontrar cruces de vías), entonces tiene más sentido almacenar cada una como una (MULTI)LINEA.

Si eliges un enfoque no te impedirá hacer los análisis en el otro. Sólo requerirá algunos pasos adicionales.

0voto

allrite Puntos 106

Utilicé para la marca de tiempo el valor de la coordenada 'z' parte del punto x-y-z, recortado a segundos (no milisegundos) menos el inicio de la primera coordenada para evitar el almacenamiento del valor 'z' grande.

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