Ducky's InfoVis Project Proposal
Proposal specs
Participants
Only me, Kaitlin Duck Sherwood,
ducky@csDELETEthisTEXT.ubc.ca
Description
I plan to do a Google Maps mashup that overlays semi-translucent images on Google Maps in order to show area-based data.
Personal expertise:
- I did a project integrating maps, floorplans, and a virtual walkthrough years ago at UIUC.
- I have investigated several maps/census schemes in the past 10 years, but never gotten past the exploratory stages.
- I am sort of aware of
- I have never written anything in Javascript before, nor any dynamic client-side code of any kind, but would like to learn.
- I am not a graphics whiz. I am not sure what algorithms to use to select what data is likely to be visible. OTOH, I have not only a copy of Foley and Van Dam, but also Google, within easy reach.
- This could be a really cool project.
Proposed solution
@@@
Scenario
@@@ scenario
Interface mock-ups
@@@ illustrations of what the interface will look like
Implementation approach
I plan to use Javascript and the Google Maps API to serve maps, capture pan/zoom events, and to overlay area data on top of the Google Maps.
I plan to use the gd library, probably with a perl wrapper, to generate a transparent PNG image to overlay on top of the maps.
I plan to use C language
Shapefile C library
to parse a variant of the TIGER/Line data -- the
ESRI shapefile data
.
@@@ library for dBASE files
Milestones
Include a list of project milestones with dates, breaking down the work into a series of smaller chunks.
Tasks (not milestones):
-
Figure out how to overlay one png on static map
-
Figure out how to overlay another png when map is recentered
-
Figure out if Google Maps can overlay maps fast enough.
- Find good shapefiles
- 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 dBASE 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 retrieve a polygon based on lat/long.
- Write code to create PNG from lat/long boundaries at default zoom level
- Figure out how to aggregate data from multiple polygons
- 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