Ducky's Info Vis Milestones
AIs
- try caching with the mapki technique
- 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
- 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
-
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
-
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
This topic: Main
> TWikiUsers >
DuckySherwood >
DuckyHomework >
DuckyInfoVisProject > DuckyInfoVisMilestones
Topic revision: r6 - 2005-12-11 - DuckySherwood