Ducky's Info Vis Milestones

AIs

  • fix the degree-height
  • make overlay transparent with kodiak technique
    • make both maps respond to zoom changes
  • look into changing the color table in PNG files with gd
  • make test4.html dynamicly generated -- use window.location.search to get the query string
    • see qstring.html for how to get qstring
  • use arg0 to determine where the min and max cutoffs are; link to all those

Current worries

  • speed, speed, speed
  • What are storage needs?
    • in Palo Alto, .005 degrees long for 500 pixels at max zoom in => 100,000 pixels / degree
    • in Palo Alto, .002 degrees lat for 300 pixels at max zoom in => 150,000 pixels / degree
    • US is about (-66 to -124) 58 degrees wide => 12,000 images wide (at 5K apiece)
    • US is about (32 to 48) 16 degrees tall => 8,000 images tall (at 5K apiece)
    • so at max zoom level, 96M images to cover the whole US * 5K => 480G
    • roughly powers of two as zoom out; 15 zoom levels before whole US fits (after that, it's just silly?)
    • so roughly 2*480G worth of space needed for whole US, or about 1000G
    • if it takes about 5 sec to render a little one =>

  • What are units of areas?
  • What if different browsers don't work? -- tant pis for now
  • caching
  • How do I deal with the huge dynamic range?
    • Offer several:
      • Which?
      • How does user switch between them?
  • Do I allow people to change range on the fly?
  • How do I capture clicks through the overlay (the map/satellite lens uh-oh does things differently).
  • Speed speed speed
  • LD_LIBRARY_PATH / static libraries nonsense

Ducky's Info Vis Tasks

  • Explore different color bars
  • Thoroughly understand and document how census bureau data fits together

  • Develop a simple test suite for PNG manipulation
  • Write code to create PNG from one known polygon extracted from shapefile; overlay on Google Maps
  • Write code to create PNG from several known polygons extracted from shapefile; overlay on Google Maps
  • Write code to create PNG from several known polygons, shaded with data from population file; overlay on Google Maps

  • Given zoom level and map lat/long boundaries, figure out how to tell which polygons are visible
    • test better
  • Write code to create PNG from lat/long boundaries at one zoom level
  • Write code to retrieve a polygon based on lat/long.
  • Port code to Dreamhost
  • Plug code into CGI
  • Figure out how to redraw with panning
  • Write code to deal with panning via controls
  • Figure out how to drag the overlay (ulp, what if not possible?)
  • Figure out how to aggregate data from multiple polygons -- maybe not needed?
  • Write code to aggregate data
  • Modify code to create PNG from lat/long/zoom data
  • Overlay images dynamically on Google Maps

  • (aggressive) Add sliders to allow changing the parameters of the image (e.g transparency, hue)
  • (aggressive) Add radio buttons to change data sets
  • (aggressive) Allow user to choose from several different years of data
  • (extremely aggressive) allow semi arbitrary data to be mapped
    • design with XML format
    • design interactive
    • find information about Mike Beckerle's data description language

Proofs of concept:

Promised milestones

  • 4 November: Proposal finished DONE
  • 13 November: One PNG file generated with one polygon extracted from dataset, requiring:
    • extracting polygons with the Shapefile C library
    • extracting the appropriate demographic data from the dataset with the Shapefile C library and the data files
    • associating polygon <->demographic data
    • understanding the gd library well enough to generate a PNG with a transparent polygon
  • 20 November: Functional panning, perhaps limited to one US state and perhaps slow, requiring:
    • determining which polygons will be visible given lat/long bounds
    • iterating through visible polygons, drawing each
    • plugging overlays into the Google Maps API
  • 4 December: Functional zooming
    • determining which polygons will be visible given lat/long bounds and zoom level
    • aggregating lower-level data (note that I do not think this is trivial)
    • killing small code gremlins
  • 11 December: Performance tuning and bug fixes done, probably requiring finishing:
    • pre-processing census bureau data into a form that is easier to extract quickly
    • prefetching of neighboring overlays
    • caching previously-used overlays
    • killing large code gremlins
  • 16 December: Status update due, requiring
    • bibliography done
    • writing done
  • 19 December: Final due date, requiring
    • learning LaTeX
    • coercing text into journal format
    • killing LaTeX gremlins

Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r8 - 2005-12-12 - DuckySherwood
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback