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

Maps & Scale

Maps & Scale

Maps are easy, right? Right. Except... when they aren't. What about when you need to mix multiple data types on your maps? What about when the simple solutions (paging) to complex problems (too much data) don't cut it with your users? What about when your scaling problems exceed the bounds of all the available solutions?

Lori M Olson

October 01, 2011
Tweet

More Decks by Lori M Olson

Other Decks in Programming

Transcript

  1. Maps & Maps
    and
    Scale & Scale

    View Slide

  2. Lori M Olson
    @wndxlori
    http://wndx.posterous.com
    Photo Credit: @etrever

    View Slide

  3. Maps are Easy
    Right?

    View Slide

  4. Small numbers < 1k

    View Slide

  5. Including Details

    View Slide

  6. More data?
    limit numbers

    View Slide

  7. Paging

    View Slide

  8. View Slide

  9. What kinds of
    Scale problems?

    View Slide

  10. Datatypes

    View Slide

  11. Markers

    View Slide

  12. Polylines

    View Slide

  13. Polygons

    View Slide

  14. Complications

    View Slide

  15. Data exceeds 10k

    View Slide

  16. Discontiguous
    segments

    View Slide

  17. Multiplicative factors

    View Slide

  18. 1000 polylines * 100
    segments/line
    = 100,000 map items!!!

    View Slide

  19. Size variations

    View Slide

  20. Discontiguous parts

    View Slide

  21. Donuts!

    View Slide

  22. Land lease
    with donut

    View Slide

  23. No Code Generation!

    View Slide

  24. Maybe Not So Easy?

    View Slide

  25. Serious Complications

    View Slide

  26. Data exceeds 100k

    View Slide

  27. Hundreds of Thousands

    View Slide

  28. Millions of line segments

    View Slide

  29. Hundreds of Thousands (again)

    View Slide

  30. Event handling

    View Slide

  31. Network latency

    View Slide

  32. Solutions

    View Slide

  33. Data doesn’t change?
    TILE

    View Slide

  34. Without and with the grid line tiles

    View Slide

  35. Aggregation

    View Slide

  36. Aggregate wells to fields

    View Slide

  37. Limit data transfer size

    View Slide

  38. On-demand Details

    View Slide

  39. Clustering

    View Slide

  40. Server clusters

    View Slide

  41. Analytic functions -
    NTILE

    View Slide

  42. NTILE and group by lat/
    long.

    View Slide

  43. Counts!

    View Slide

  44. Client-side

    View Slide

  45. Levels & Cells & Caching

    View Slide

  46. Polyline encoding

    View Slide

  47. Zoom filtering

    View Slide

  48. Cutoffs

    View Slide

  49. Zoom Gotchas

    View Slide

  50. Screen resolution

    View Slide

  51. 24” Cinema Display

    View Slide

  52. iPad

    View Slide

  53. WIMBY2
    Wells In My Back Yard

    View Slide

  54. View Slide

  55. http://wimby2.herokuapp.com
    https://github.com/wndxlori/wimby2

    View Slide

  56. Thanks!
    @wndxlori

    View Slide