CS 297 Proposal

On-the-fly Map Generator for OpenStreetMap Data Using WebGL

Advisor:Dr. Chris Pollett

Description:

This project is an approach to create an On-the-fly Map Generator For Openstreetmap Data Using WebGL.

OpenStreetMap (OSM) is a worldwide geographic database created from public domain data sources and user created data. It contains a vast amount of data for a variety of features, including administrative boundaries, streets, waterbodies, points of interest, and buildings. Such a large chunk of dataset, being difficult to store on servers and render as-is, is fragmented into smaller chunks of uniform dimensions. These chunks are referred to as 'tiles', and are bitmap images in essence, which are in turn the building blocks for online maps. The concept of tiles is then applied to the available geodata in terms of vectors such as lines, nodes and polygons. OSM data can be used in different formats; I have used an XML format of the OSM data (files use .osm extension).

Existing tile generators generate PNG overlay tile images from a wide range of datasources, like GeoJSON, GeoTIFF, PostGIS, CSV, and SQLite, etc., based on the coordinates and zoom-level. This project aims to send vector data for the map to the browser and thereby render the tiles on-the-fly using WebGL. Here, all of the vector computation is pushed to the GPU(called the shader code). This also means that lesser data needs to be sent to the browser. Henceforth, I will write a WebGL program for rendering OSM data.

Lastly, I will experiment with Tile Generators to study how tiles are generated in the existing vector-based tile generators. I will write in detail, about my findings, as a report.

Schedule:

Week 1(Aug 26, 2014 - Sep 2, 2014)

Talk about the project in detail with the advisor. Prepare and deliver CS 297 Proposal.

Week 2(Sep 2, 2014 - Sep 9, 2014)

Research on WebGL. Understand the API. Find out how to write a WebGL program.

Week 3, 4 (Sep 9, 2014 - Sep 23, 2014)

Understand WebGL. Proceed writing a WebGL program.

Week 5(Sep 23, 2014 - Sep 30, 2014)

Deliverable 1: Complete writing a WebGL-based JS program. Get a complete understanding of its features.

Week 6(Oct 7, 2014 - Oct 14, 2014)

Research about OpenStreetMap data. Find out how to import OSM data into a postgres database.