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 full-size slide

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

    View full-size slide

  3. Maps are Easy
    Right?

    View full-size slide

  4. Small numbers < 1k

    View full-size slide

  5. Including Details

    View full-size slide

  6. More data?
    limit numbers

    View full-size slide

  7. What kinds of
    Scale problems?

    View full-size slide

  8. Complications

    View full-size slide

  9. Data exceeds 10k

    View full-size slide

  10. Discontiguous
    segments

    View full-size slide

  11. Multiplicative factors

    View full-size slide

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

    View full-size slide

  13. Size variations

    View full-size slide

  14. Discontiguous parts

    View full-size slide

  15. Land lease
    with donut

    View full-size slide

  16. No Code Generation!

    View full-size slide

  17. Maybe Not So Easy?

    View full-size slide

  18. Serious Complications

    View full-size slide

  19. Data exceeds 100k

    View full-size slide

  20. Hundreds of Thousands

    View full-size slide

  21. Millions of line segments

    View full-size slide

  22. Hundreds of Thousands (again)

    View full-size slide

  23. Event handling

    View full-size slide

  24. Network latency

    View full-size slide

  25. Data doesn’t change?
    TILE

    View full-size slide

  26. Without and with the grid line tiles

    View full-size slide

  27. Aggregate wells to fields

    View full-size slide

  28. Limit data transfer size

    View full-size slide

  29. On-demand Details

    View full-size slide

  30. Server clusters

    View full-size slide

  31. Analytic functions -
    NTILE

    View full-size slide

  32. NTILE and group by lat/
    long.

    View full-size slide

  33. Levels & Cells & Caching

    View full-size slide

  34. Polyline encoding

    View full-size slide

  35. Zoom filtering

    View full-size slide

  36. Zoom Gotchas

    View full-size slide

  37. Screen resolution

    View full-size slide

  38. 24” Cinema Display

    View full-size slide

  39. WIMBY2
    Wells In My Back Yard

    View full-size slide

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

    View full-size slide

  41. Thanks!
    @wndxlori

    View full-size slide