Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Powering geospatial on the web with CartoDB

35f4d000a88cdbcf6392dfb206ebd5e2?s=47 Andrew W Hill
September 13, 2012

Powering geospatial on the web with CartoDB

A presentation given to CIESEN in September 2012

35f4d000a88cdbcf6392dfb206ebd5e2?s=128

Andrew W Hill

September 13, 2012
Tweet

Transcript

  1. @andrewxhill Powering geospatial data on the web with CartoDB Wednesday,

    October 17, 12
  2. Wednesday, October 17, 12

  3. Guralnick et al., 2007 Wednesday, October 17, 12

  4. Automated analysis Guralnick et al., 2007 Wednesday, October 17, 12

  5. Data visualization Wednesday, October 17, 12

  6. Wednesday, October 17, 12

  7. Wednesday, October 17, 12

  8. Wednesday, October 17, 12

  9. http:// protectedplanet.net/ http://protectedplanet.net/ Wednesday, October 17, 12

  10. Wednesday, October 17, 12

  11. Wednesday, October 17, 12

  12. Wednesday, October 17, 12

  13. http://rlat.kew.org/ Wednesday, October 17, 12

  14. Wednesday, October 17, 12

  15. http://vizzuality.com/projects/imazon Wednesday, October 17, 12

  16. Wednesday, October 17, 12

  17. Wednesday, October 17, 12

  18. Wednesday, October 17, 12

  19. Wednesday, October 17, 12

  20. Wednesday, October 17, 12

  21. Wednesday, October 17, 12

  22. Wednesday, October 17, 12

  23. Wednesday, October 17, 12

  24. CartoDB Dashboard Wednesday, October 17, 12

  25. CartoDB Dashboard Wednesday, October 17, 12

  26. http://developers.cartodb.com/gallery/maps/ johnsnow.html data - http://goo.gl/ 2q1Nq Data visualization/Data publication Wednesday,

    October 17, 12
  27. OpenStreetMap roads in London Wednesday, October 17, 12

  28. All street trees in San Franscisco Wednesday, October 17, 12

  29. http://developers.cartodb.com/gallery/maps/ johnsnow.html data - http://goo.gl/ 2q1Nq Population density Wednesday, October

    17, 12
  30. UNEP-WCMC/CBD Carbon Calculator for Protected Areas Wednesday, October 17, 12

  31. Election results in Spain visualization Wednesday, October 17, 12

  32. ProtectedPlanet - World Database on Protected Areas Wednesday, October 17,

    12
  33. NGOAIDMAP - Mapping NGO projects in Haiti Wednesday, October 17,

    12
  34. Temporal mapping http://goo.gl/KXIF1 Wednesday, October 17, 12

  35. Wednesday, October 17, 12

  36. FILE EXT. SHP CSV KML XLS OSM TIFF GEO. TYPES

    ESRI JSON WKT KML RAST. GPS Wednesday, October 17, 12
  37. Wednesday, October 17, 12

  38. Wednesday, October 17, 12

  39. Wednesday, October 17, 12

  40. Wednesday, October 17, 12

  41. SQL API Wednesday, October 17, 12

  42. Maps API Wednesday, October 17, 12

  43. Wednesday, October 17, 12

  44. Wednesday, October 17, 12

  45. The challenges Process and visualize millions or rows. Show changes

    in data over time. Visualize up to 5 layers of information. Wednesday, October 17, 12
  46. We host and process the data with CartoDB. We generate

    a JSON file per tile containing the deforestation data codified in cells (each cell has a value for each time period - 15days). How we did it { time: 0.00576543211, rows: [ { upper_left_x: 16742472, upper_left_y: -2589569, time_series: [ 0, 8, 8, 8, 8, 12, 12, 12, 16, ... Wednesday, October 17, 12
  47. { time: 0.00576543211, rows: [ { upper_left_x: 16742472, upper_left_y: -2589569,

    time_series: [ 0, 8, 8, 8, 8, 12, 12, 12, 16, ... Load all the information of the JSON files in memory using TypedArrays. Render the tiles in the client using the codified information -now in memory-. Each time the user moves the timeline, the tiles are rendered again. How we did it Wednesday, October 17, 12
  48. { time: 0.00576543211, rows: [ { upper_left_x: 16742472, upper_left_y: -2589569,

    time_series: [ 0, 8, 8, 8, 8, 12, 12, 12, 16, ... Load all the information of the JSON files in memory using TypedArrays for better performance. Render the tiles in the client using the codified information. Each time the timeline is moved, the tiles are rendered again. How we did it Wednesday, October 17, 12
  49. { time: 0.00576543211, rows: [ { upper_left_x: 16742472, upper_left_y: -2589569,

    time_series: [ 0, 8, 8, 8, 8, 12, 12, 12, 16, ... Load all the information of the JSON files in memory using TypedArrays for better performance. Render the tiles in the client using the codified information. Each time the timeline is moved, the tiles are rendered again. How we did it Wednesday, October 17, 12
  50. Wednesday, October 17, 12

  51. Wednesday, October 17, 12

  52. Wednesday, October 17, 12

  53. Example from Dan Hammer CartoDB-R library(RCurl) library(RJSONIO) library(CartoDB) library(stats) library(cluster)

    account.name <- "cartodb-acct-name" cartodb(account.name) cartodb.test() data <- cartodb.collection("cartodb_table", columns=c("x", "y")) N <- 5000 subset.data <- apply(as.matrix(data[1:N,]), 2, as.numeric) cid <- cutree(hclust(dist(subset.data), method="single"), h=100) png("~/cluster.png") plot(subset.data[,2], -subset.data[,1], col=cid) dev.off() Wednesday, October 17, 12
  54. GMaps and Leaflet Wednesday, October 17, 12

  55. Wednesday, October 17, 12

  56. Wednesday, October 17, 12

  57. American Museum of Natural History http://www.ecohacknyc.org/ November 9th Wednesday, October

    17, 12
  58. THANK YOU @ANDREWXHILL Wednesday, October 17, 12