[Spanish] Almacenamiento y visualizacion de datos geotemporales
Iván Sánchez Ortega
ivan at sanchezortega.es
Wed Apr 1 00:53:38 PDT 2015
El Miércoles 1. abril 2015 09.39.35 Wladimir Szczerban escribió:
> Hola Raquel,
>
> Yo contactaría con la gente de CartoDB que han hecho cosas parecidas y que
> trabajan con gran cantidad de datos. Si no me equivoco también tienen
> fichado al Sr. PostGIS así que seguro te podrán ayudar.
>
> Aquí puedes ver un ejemplo de lo que te digo
> http://cartodb.com/case-studies/wwi-royal-navy/
Y viendo las peticiones que hace eso por dentro se pueden sacar varias
conclusiones. Si capturas una de las peticiones a datos te sale:
WITH
hgrid AS (
SELECT CDB_RectangleGrid(
CDB_XYZ_Extent(1, 1, 2),
CDB_XYZ_Resolution(2) * 2,
CDB_XYZ_Resolution(2) * 2
) as cell )
SELECT x, y, array_agg(c) vals, array_agg(d) dates FROM (
SELECT
round(CAST (st_xmax(hgrid.cell) AS numeric),4) x,
round(CAST (st_ymax(hgrid.cell) AS numeric),4) y,
count(i.cartodb_id) c,
floor((date_part('epoch',date)- -1796072400)/508305) d
FROM
hgrid, ow i
WHERE
ST_Intersects(i.the_geom_webmercator, hgrid.cell)
GROUP BY hgrid.cell, floor((date_part('epoch',date)-
-1796072400)/508305)
) f GROUP BY x, y
Lo cual te dice:
* Estos tíos de CartoDB saben escribir SQL
* Saben escribir sus propias funciones y extensiones a PostgreSQL (véase
https://github.com/CartoDB/cartodb-postgresql/wiki )
* Tienen los datos organizados en una pirámide de tiles (por la estructura de
las llamadas a CDB_XYZ_Extent y CDB_XYZ_Resolution, lo cual implica que
* Esa es la BDD de explotación, donde tienen los datos desnormalizados y
reproyectados para que el cliente tenga que pensar lo menos posible, lo cual
implica que
* No se envían al cliente datos innecesarios
* Filtran las cosas por celda de la pirámide, usando índices espaciales
Véase también
https://gijs.github.io/images/cartodb_datacubes.pdf
Para la visualización, D3 o algo propio con WebGL/Canvas, o mucha magia para
leaflet/openlayers. El mostrar millones de filas con javascript y que el
navegador no se despeine es... un arte :-)
--
Iván Sánchez Ortega <ivan en sanchezortega.es> <ivan en geonerd.org>
<ivan en mazemap.no>
More information about the Spanish
mailing list