El Martes, 31 de marzo de 2015 17:07:21 Alegre, Raquel escribió: > [...] se me ocurrió que seria mejor hacer una entrada por recorrido de > barco, y que la geometría fuese una linea describiendo el recorrido, en vez > de guardar cada punto individualmente.Así habría muchas menos entradas, y > las queries serian mas rápidas (imagino).
Optimización prematura. No soluciones un problema que todavía no tienes. Antes de ponerte a diseñar e implementar, haz pruebas. > Un recorrido "normal" en esta base de datos tiene unos 8000 puntos, así que > hay 8000 entradas con los mismos datos del barco repetidos en cada entrada, > solo cambia el valor de la geometría y del timestamp. Pues te creas una tabla con la info de los barcos, clave foránea a los pares posición-tiempo, y p'alante. Recuerda las formas normales de BBDD, y recuerda procesar los datos para tener una tabla, o una vista materializada, de los datos que el cliente use en última instancia. A lo mejor necesitas tener una tabla (o un esquema entero) para datos AIS en bruto, uno intermedio donde guardas los datos logueados quitando aberraciones, y uno para servir datos a la interfaz. Es normal que con un sólo modelo de datos no puedas solucionar todos los problemas. > [...] extensiones temporales de PostGIS, pero llevan sin actualizar anhos, > así que no se si son fiables, o si habra algo que la gente use normalmente > para este tipo de representaciones (puntos + timestamp). Si *realmente* quieres almacenar el tiempo en la geometría, entonces puedes utilizar las capacidades multi-dimensionales de PostGIS. Una geometría puede tener dos (X,Y), tres (X,Y,Z ó X,Y,M) o cuatro (X,Y,Z,M) dimensiones para cada punto. Siempre puedes utilizar la M (que habitualmente se usa para una distancia desde un punto de origen a un punto dentro de la geometría) para almacenar el tiempo. El usar la coordenada M te permite interpolar el valor a lo largo de líneas (se usa muuuucho para puntos kilométricos en carreteras), pero ten en cuenta que esto sólo te va a ser útil si tus barcos tienen velocidades y rumbos constantes. Necesitarás hacer un preproceso gordo si quieres usar esto, y recuerda que es muy posible que leaflet/openlayers trabajen con coordenada M de manera trivial. ( Y ponte un teclado en español, o al menos configura teclas muertas para que puedas componer "~" y "n" igual que compones tildes en un teclado español :-P ) -- Iván Sánchez Ortega <[email protected]> _______________________________________________ Spanish mailing list http://lists.osgeo.org/mailman/listinfo/spanish http://es.osgeo.org http://twitter.com/osgeoes
